русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Ішкі функциялар мен процедуралар.


Дата добавления: 2015-06-12; просмотров: 1304; Нарушение авторских прав


Программалау барысында кей жағдайларда, бір типті есептеулерге бірнеше программалар құруға тура келеді. Осындайда артық жұмыс жасамай, барлық есептеулерді бір ғана программа ішінде орындау ұшін, көмекші программалар- процедуралар немесе функциялар қолданылады. Процедуралар мен функциялар программаның орындалу барысында бірнеше рет қайталанып тұратын бірнеше операторлардан тұратын көмекші бөлік. Программада бірнеше процедура немесе функция болуы мүмкін. Сол,сияқты көмекші программаның да өз көмекші программасы болуы мүмкін. Негізгі программаның сипаттамалар бөлімінде жазылған индефекаторлар көмекші программаның ішінде де жұмыс істей береді. Программа орындалу барысында негізгі программа шақырылады. Процедура орындалу барысында бірнеше нәтиже алады, ал функцияның нәтижесі бір ғана мән алады көмекші программалар да негізі программа сииқты бөліктерден тұрады, олар:

а) көмекші программа аты, параметрлері жазылатын тақырыптан;

ә) көмекші программада кездесетін индефекаторларды сипаттау бөлімінен;

б) операторлардан тұратын программа денесінен тұрады.

Процедураның жазылуы: PROCEDURE Аты (формальды параметрлер); (*Тақырыбы*) сипаттамалар бөлімі; (* Бұл бөлім болмауы да мүмкін*) BEGIN Операторлар; END; Функцияның жазылуы: FUNCTIION аты (формальді параметрлер): Типі; Сипаттамалар бөлімі; BEGIN Операторлар;END;

Процедура мен функциялардың нақты және формальді параметрлері болады. Программа орындалу барысында есептелетін параметрлер нақты деп, ал көмекші программалардың сипаттамасында көрсетілетін параметрлер формальды деп аталады. Нақты жєне формальды параметрлердің типі, саны, реттілігі сєйкес болуы тиіс. Олар бірдей белгіленуі де мүмкін. Нақты параметрлер тұрақтылардан, айнымалылардан және өрнектерден тұруы мүмкін. Кей процедуралар параметрлері болмауы да мүмкін. Негізгі программада процедураны пайдалану үшін процедураның атын нақты параметрлермен жазып шақырады



Cонымен программада процедура шақыру процесіне формальды параметрлерді нақты параметрлердің мәнімен ауыстыру болып табылады.

Мысылы:

ROCEDURE PRIMER (A,B:INTEGER; VAR X,Y:INTEGER); VAR S: ITEGER; ВEGIN S:=A+5*B; Х=SQR (S); Y:=SQR (X); ЕND; Бұл процедураны былай жазып шақыруға болады:РRIMER (10,5,K,I); Нәтижесінде:

а) формальді параметрлер 10, 5, K, І нақты параметрлердің мәнін қабылдайды,

ә) процедура орындалады,

б)X-пен Y өздерінің жаңа мәндерін K-мен І-ге береді.

в)A=10, B=5, X=K, Y=I,

г)S=10+5*5=35,

Х=35*35=1225, Y=1225*1225=1500625,

д) K=X=1225, I=Y=1500625.

функциялар процедуралар сияқты шақырылады.

Мысалы 1-ден 15- ке дейінгі және 1-ден 9- ға дейінгі қосындылардың көбейтіндісін алу программасында қосынды табуға SUMMA функциясын қолдануға болады.

FUNCTION SUMMA (M:INTEGER):INTEGER;

ВEGIN S:=0;

ҒOR K:=1 TO M DO S:=S+K; SUMMA:= S;

ЕND; ВEGIN P:=SUM(15)+SUM(9); WRITELN('Көбейтінді ='P);

 

 

Дәріс № 11

Жазулар. Жазуларды қолданып бағдарламалар құру.

Жазу дегеніміз – бекітілген бағандар (компоненттер) санынан тұратын деректер құрылымы. Көбінесе кез келген объектіге мінездеме беру керек болады. Объект адам, автомобиль, журнал және т.б. болуы мүмкін. Массивтен ерекшелігі компоненттер (поля) жазуларрының түрі әртүрлі болады. "Автомобиль" объектісін сипаттауға мына деректер қажет:

* марка және автомобил кузовының түрі (символдық жолдар);

* Автомобилдің шығарылған жылы (бүтін түр);

* Толық ремонттан өткені туралы (логикалық түр).

Жазылуы:

< түр аты > = record <бағандар тізімі > end ;

Мұндағы < түр аты > – дұрыс идентификатор;

record, end – қызметтік сөздер (ағылшын тілінің аудармасы: жазу, соңы);

< бағандар тізімі > – полялар (;) арқылы бөлінеді.

Жазудың әрбір бөлігі бірнеше идентификаторлардан үтір арқылы бөлініп жазылады. Идентификатор кейін (:) қойылады, сосын түрі көрсетіледі, мысал:

type auto = record

mark , typ : string [10];

date : integer;

remont : boolean

end;

Программа бөлігі:

var mashine : auto;

begin

mashine.mark: = 'volvo';

mashine.date = 1996;

mashine.typ: = 'car';

mashine.remont: = false;

writeln (mashine. mark);

writeln (mashine. date);

writeln (mashine.typ);

writeln (mashine. remont);

end.

Студенттердің физика, математика және программалау тілінен алған және топтың орташа балын есептеу программамасы.

Программа құру үшін белгілеулер енгіземіз:

n1– топтағы студенттер ең жоғарғы саны;

n – топтағы студенттердің нақты саны;

student– идентификатор түрі, оған мына бағандар кіреді fam, fiz, mat, pr және ss;

fam – студенттің фамилиясын жазу бағаны;

fiz, mat, pr – физика, математика және программалау тілінен алған бағаларын жазу;

ss – студенттің орташа балы;

ved – элемент түрі student болатын массив;

sg – топтың орта бағасы;

ived элементті массивтің индексі;

Программа:

program pr29;

const n1=30;

type student=record

fam:string[10];

fiz,mat,pr:integer;

ss:real;

end;

var ved:array[1..n1] of student;

i,n:integer;

sg:real;

begin

writeln('топтағы студенттер саны қанша?');

read(n);

for i:=1 to n do

with ved[i] do

begin

writeln('студенттің фамилиясын енгіз');

read(fam);

writeln('бағаны енгіз');

read(fiz,mat,pr)

end;

sg:=0;

for i:=1 to n do

with ved[i] do

begin

ss:=(fiz+mat+pr)/3; {студенттің орташа балы}

sg:=sg+ss;

end;

sg:=sg/n;{топтың орташа балы}

writeln('топ ведомосы');

write('! фамилия ! физика ! мат !

прогр !');

writeln('! орта балл !')

for i:=1 to n do

with ved[i] do

begin

write('!',fam:10,'!',fiz:10,'!',mat:10,'!',pr:10);

writeln('!',ss:10:2,'!');

end; writeln(' топтың орташа балы =',sg); end.



<== предыдущая лекция | следующая лекция ==>
Сурет 17 | Файлдар


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 3.14 сек.