Лабораторная работа №1 Тема: программирование основных алгоритмических конструкций на языке с++



Download 0,62 Mb.
bet21/28
Sana21.06.2022
Hajmi0,62 Mb.
#689734
TuriЛабораторная работа
1   ...   17   18   19   20   21   22   23   24   ...   28
Bog'liq
лабораторные работы по с 2сем

Контрольные вопросы:


1.Что такое перечисление?
2.Спомощью какого ключевого слово объявляется перечисление?
3.Отличие перечисление от смеси?


Литература:

  1. Подбельский В.В. Программирование на языке С\С++. С.-П.-2000 г.

  2. Павловская Т.А. С/C++. Программирование на языке высокого уровня. С.-П.-2001 г.

  3. Марченко А.Л. С++. Бархатный путь. М-2000 г.

  4. Карпов Б, Баранова Т.С. С++. Специальный справочник. С.-П.-2000 г.

  5. Мансуров К.Т. и др. Программирование на языке С/С++. Ош-2001 г.

  6. The C Programming Lanquage by Brian W.Kernigan and Dennis

  7. M.Ritchie (New Jersey: Prentice-Hall. 1978) Переведена на русский язык

  8. Б.Керниган, Д.Ритчи, А.Фьюэр "Язык программирования Си. Задачи по языку Си".

Лабораторная работа № 8
( 2 часа)
Тема: Функция. Определения, объявления и вызов функции.
Целью лабораторной работы является получение базовых практических навыков использования функций в программировании, необходимых для дальнейшего выполнения цикла лабораторных работ.
Занятие 1
2 часа
В языке "С" функции эквивалентны подпрограммам или функциям в Фортране или процедурам в PL/1, Паскале и т.д. Функции дают удобный способ заключения некоторой части вычислений в черный ящик, который в дальнейшем можно использовать, не интересуясь его внутренним содержанием. Использование функций является фактически единственным способом справиться с потенциальной сложностью больших программ. Если функции организованы должным образом, то можно игнорировать то, как делается работа; достаточно знание того, что делается. Язык "С" разработан таким образом, чтобы сделать использование функций легким, удобным и эффективным. Вам будут часто встречаться функции длиной всего в несколько строчек, вызываемые только один раз, и они используются только потому, что это проясняет некоторую часть программы.
До сих пор мы использовали только предоставленные нам функции типа PRINTF, GETCHAR и PUTCHAR; теперь пора написать несколько наших собственных, так как в "С" нет операции возведения в степень, подобной операции ** в Фортране или PL/1, давайте проиллюстрируем механику определения функции на примере функции POWER(M,N), возводящей целое м в целую положительную степень N. Так значение POWER(2,5) равно 32. Конечно, эта функция не выполняет всей работы операции **, поскольку она действует только с положительными степенями небольших чисел, но лучше не создавать дополнительных затруднений, смешивая несколько различных вопросов.
Ниже приводится функция POWER и использующая ее основная программа, так что вы можете видеть целиком всю структуру.
MAIN() /* TEST POWER FUNCTION */ *
INT I;
FOR(I = 0; I<10;++I)
PRINTF("%D %D %D\N",I,POWER(2,I),POWER(-3,I)); POWER(X,N) /* RAISE X N-TH POWER; N > 0 */
INTX,N;
INT I, P;
P=1;
FOR(I=1;K=N;++I) P = P*X;
RETURN (P);
Все функции имеют одинаковый вид:
имя (список аргументов, если они имеются) <
описание аргументов, если они имеются
описания операторы
Эти функции могут быть записаны в любом порядке и находиться в
одном или двух исходных файлах. Конечно, если исходная программа
размещается в двух файлах, вам придется дать больше указаний при
компиляции и загрузке, чем если бы она находилась в одном, но это дело
операционной системы, а не атрибут языка. В данный момент, для того
чтобы все полученные сведения о прогоне "С"- программ, не изменились в
дальнейшем, мы будем предполагать, что обе функции находятся в одном и
том же файле.
Функция POWER вызывается дважды в строке
PRINTF("%D %D %D\N",I,POWER(2,I),POWER(-3,I));
при каждом обращении функция POWER, получив два аргумента, возвращает целое значение, который печатается в заданном формате. В выражениях POWER(2,I) является точно таким же целым, как 2 и I. /Не все функции выдают целое значение; мы займемся этим вопросом в главе 4/.
Аргументы функции POWER должны быть описаны соответствующим образом, так как их типы известны. Это сделано в строке
INTX,N; которая следует за именем функции.
Описания аргументов помещаются между списком аргументов и
открывающейся левой фигурной скобкой; каждое описание заканчивается
точкой с запятой. Имена, использованные для аргументов функции POWER, являются чисто локальными и недоступны никаким другим функциям: другие процедуры могут использовать те же самые имена без возникновения конфликта. Это верно и для переменных I и Р; I в функции POWER никак не связано с I в функции MAIN.
Значение, вычисленное функцией POWER, передаются в MAIN с помощью оператора RETURN, точно такого же, как в PL/I, внутри круглых скобок можно написать любое выражение. Функция не обязана возвращать какое-либо значение; оператор RETURN, не содержащий никакого выражения, приводит к такой же передаче управления, как "сваливание на конец" функции при достижении конечной правой фигурной скобки, но при этом в вызывающую функцию не возвращается никакого полезного зна­чения.
Мощность языка Си во многом объясняется легкостью и гибкостью в определении и использовании функции в Си-программах. В отличие от
других языков программирования высокого уровня в языке Си нет деления на процедуры, подпрограммы и функции.
В языке Си программа строится только из функций.
Функция -это независимая совокупность объявлений и операторов, ь обычно предназначенная для выполнения определенной задачи. Каждая функция должна иметь имя, которое используется для вызова функции. Имя одной из функций, main , которая должна присутствовать, в каждой Си программе зарезервировано. В программе могут содержатся и другие функции, причем функция main необязательна должен быть первой, хотя с нее всегда начинается выполнение Си-программы.
При вызове функции ей могут быть переданы данные посредством аргументов функции. Функция может возвращать значение. Это возвращаемое значение и есть основной результат выполнения функции, который при выполнении программы подставляется на место вызова функции, где бы этот вызов ни встретился в программе. Однако могут быть определены функции, которые не имеют никаких параметров и не возвращают никакого значения. Тем не менее действие таких функций может состоять в изменении внешних или статических переменных или выполнении каких-либо других действий, не связанных с данными.
С использованием функций в языке Си связаны три понятия: -Определение функции; -объявлении функции; -и вызов функции;

Download 0,62 Mb.

Do'stlaringiz bilan baham:
1   ...   17   18   19   20   21   22   23   24   ...   28




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish