Pascal және Си тілінде бағдарламалау



1. 1. Екі өлшемді массивтер ... ... ... ... ... ... ... ... ... ... ... ... ...
1.1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ... .
1.2. Программаның блок.схемасы ... ... ... ... ... ... ... ... ... ...
1.3. Функционалды қолдануы ... ... ... ... ... ... ... ... ... ... ... .
1.4. Логикалық құрылымның баяндалуы ... ... ... ... ... ... ... ...
1.4.1. Pascal тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
1.4.2. Си тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
1.5. Қолданылған техникалық құралдар ... ... ... ... ... ... ... ... ... ... .
1.6. Шақырылуы және жіктелуі ... ... ... ... ... ... ... ... ... ... ... ... ... ...
1.7. Енгізілетін мәліметтер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
1.8. Шығарылатын мәліметтер ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2. 2. Функциялар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2.1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ... .
2.2. Программаның блок.схемасы ... ... ... ... ... ... ... ... ... ...
2.3. Функционалды қолдануы ... ... ... ... ... ... ... ... ... ... ...
2.4. Логикалық құрылымның баяндалуы ... ... ... ... ... ... ... ...
2.4.1. Pascal тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2.4.2. Си тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
2.5. Қолданылған техникалық құралдар ... ... ... ... ... ... ... ... ... ... .
2.6. Шақырылуы және жіктелуі ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2.7. Енгізілген.шығарылған мәліметтер ... ... ... ... ... ... ... ... ... ... .
3. 3. Жолдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3.1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ...
3.2. Программаның блок.схемасы ... ... ... ... ... ... ... ... ... ...
3.3. Функционалды қолдануы ... ... ... ... ... ... ... ... ... ... ...
3.4. Логикалық құрылымның баяндалуы ... ... ... ... ... ... ... ...
3.4.1. Pascal тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3.4.2. Си тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
3.5. Қолданылған техникалық құралдар ... ... ... ... ... ... ... ... ... ... .
3.6. Шақырылуы және жіктелуі ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3.7. Енгізілген.шығарылған мәліметтер ... ... ... ... ... ... ... ... ... ... .
4. 4. Жазбалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
4.1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ...
4.2. Программаның блок.схемасы ... ... ... ... ... ... ... ... ... ...
4.3. Функционалды қолдануы ... ... ... ... ... ... ... ... ... ... ...
4.4. Логикалық құрылымның баяндалуы ... ... ... ... ... ... ... ...
4.4.1. Pascal тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
4.4.2. Си тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
4.5. Қолданылған техникалық құралдар ... ... ... ... ... ... ... ... ... ... .
4.6. Шақырылуы және жіктелуі ... ... ... ... ... ... ... ... ... ... ... ... ... ..
4.7. Енгізілген.шығарылған мәліметтер ... ... ... ... ... ... ... ... ... ... .
5. 5. Файлдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
5.1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ...
5.2. Функционалды қолдануы ... ... ... ... ... ... ... ... ... ... ...
5.3. Логикалық құрылымның баяндалуы ... ... ... ... ... ... ... ...
5.3.1. Pascal тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
5.3.2. Си тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
5.4. Қолданылған техникалық құралдар ... ... ... ... ... ... ... ... ... ... .
5.5. Шақырылуы және жіктелуі ... ... ... ... ... ... ... ... ... ... ... ... ... ...
5.6. Енгізілген.шығарылған мәліметтер ... ... ... ... ... ... ... ... ... ... .
6. 6. Графика ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
6.1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
6.2. Функционалды қолдануы ... ... ... ... ... ... ... ... ... ... ...
6.3. Логикалық құрылымның баяндалуы ... ... ... ... ... ... ... ...
6.3.1. Pascal тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
6.3.2. Си тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
6.4. Қолданылған техникалық құралдар ... ... ... ... ... ... ... ... ... ... .
6.5. Шақырылуы және жіктелуі ... ... ... ... ... ... ... ... ... ... ... ... ... ...
6.6. Енгізілген.шығарылған мәліметтер ... ... ... ... ... ... ... ... ... ... .

Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 28
Массив дегеніміз бірдей типті мәліметтердің жиыны. Басқаша айтқанда, массивтер бір атауға біріктірілген айнымалылардың реттелген тізбегі. Массивті сипаттағанда оның элементтерінің жалпы санын және элементтерінің типін көрсету қажет. Элементтерінің индексі арқылы массивтің әрбір элементін бөлек қарастыруға болады. Массив типін келесі түрде анықтауға болады:
TYPE <типтің аты>=ARRAY[<индекстік типтердің тізбегі>] OF <типі>
< типтің аты > - дұрыс идентификатор;
< индекстік типтердің тізбегі > - бір немесе бірнеше индекстік типтердің тізбегі (үтір арқылы жазылады);
<тип> - массив элементтерінің типі.
Turbo Pascal тіліндегі индекстік типтер ретінде кез келген реттік типтерді пайдалануға болады. Содан кейін массив программасының VAR бөлігінде келесі түрде сипатталады:
VAR <типтің аты>=ARRAY[<индекстік типтердің тізбегі>] OF <типі>
Әдетте индекстік типі ретінде диапазон типі пайдаланылады. Диапазон типінде индекстің өзгеру шекаралары анықталады.
const n=5;
m=6;
var a: array[1..n,1..m] of real;
b:array [1..n] of real;
i,j: integer;

Қолданылған шартты операторлар:
begin
b[i]:=1;
for j:=1 to m do
if(a[i,j]>1) and(a[i,j]<1.5) then b[i]:=b[i]*sqr(a[i,j]);end;
Қолданылған циклдік операторлар:
begin
for i:=1 to n do
for j:=1 to m do
readln(a[i,j]);

Си тіліндегі екі өлшемді массивтер.

Массив бірдей типтегі айнымалылардың тізбегін бір бүтін етіп сақтай алады. Массивті хабарлау деп оның атауы мен элементтерінің типін анықтауды айтады. Ол сондай-ақ массивтегі элементтер санын да береді. Массив типіндегі айнымалы өрнектерде берілген спецификациядағы тип мәніне тұрақты ретінде қолданылуы мүмкін. Егер де сипатталатын массив типі көрсетілмесе, онда int типін қолдану ұсынылады.
Екі өлшемді массивті сипаттау синтаксисі келесі түрде болады:
[<сипатталатын массив типі>] <айнымалы-идентификатор>
[<тұрақты өрнек>] [<тұрақты өрнек>]
<айнымалы-идентификатордың> соңындағы квадратты жақшалар массив типінің белгісі болып саналады. Квадратты жақшалардағы әр тұрақты өрнек берілген өлшеудегі массивтің элементтерінің санын анықтайды. Массивтің элементтерін индекстеу нөлден басталады. Сонымен массивтің соңғы элементінің индексі массивтегі элементтер санына 1-ге кем болады. Массивке оның элементтерін орналастыратын жады бөлінеді. Массивтің біріншісі элементінен соңғы элементіне дейін барлығы адрестерінің өсу реті бойынша тізбектелген жады ұяшықтарында орналасады. Жадыда массив элементтері арасында бос орындар жоқ. Көп өлшемді массивтердің элементтері қатар бойынша сақталынады.
1. Попов В.Б. Turbo Pascal: для школьников. -М.: Финансы и статистика, 1999. -
528б.
2. Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль.- М.: Наука, 1987. – 112б.
3. Перминов О.Н. Язык программирования Паскаль. –М.: Радио и связь, 1994.-336б.
4. Вирт Н. Алгоритмы + структуры данных = программы: Пер. С англ.- М.: Мир, 1985. – 406б.
5. Грогоно П. Программирование на языке Паскаль: Пер. с англ.- М.: Мир, 1982.- 382б.

Мазмұны

1.1. Екі өлшемді массивтер ... ... ... ... ... ... ... ... ... ... ... ... ... 3
1.1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ... . 4
1.2. Программаның блок-схемасы ... ... ... ... ... ... ... ... ... ... 5
1.3. Функционалды қолдануы ... ... ... ... ... ... ... ... ... ... ... . 6
1.4. Логикалық құрылымның баяндалуы ... ... ... ... ... ... ... ... 6
1.4.1. Pascal 6
тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... .
1.4.2. Си 6
тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ...
1.5. Қолданылған техникалық 6
құралдар ... ... ... ... ... ... .. ... ... ... ...
1.6. Шақырылуы және 6
жіктелуі ... ... ... ... ... ... .. ... ... ... ... ... ... ... .
1.7. Енгізілетін 7
мәліметтер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
...
1.8. Шығарылатын 7
мәліметтер ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2.2. 7
Функциялар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ...
2.1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ... . 9
2.2. Программаның блок-схемасы ... ... ... ... ... ... ... ... ... ... 10
2.3. Функционалды қолдануы ... ... ... ... ... ... ... ... ... ... ... 11
2.4. Логикалық құрылымның баяндалуы ... ... ... ... ... ... ... ... 11
2.4.1. Pascal 11
тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... .
2.4.2. Си 11
тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ...
2.5. Қолданылған техникалық 12
құралдар ... ... ... ... ... ... .. ... ... ... ...
2.6. Шақырылуы және 12
жіктелуі ... ... ... ... ... ... .. ... ... ... ... ... ... ... .
2.7. Енгізілген-шығарылған 12
мәліметтер ... ... ... ... ... ... ... ... ... ... .
3.3. 13
Жолдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ...
3.1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ... 13
3.2. Программаның блок-схемасы ... ... ... ... ... ... ... ... ... ... 14
3.3. Функционалды қолдануы ... ... ... ... ... ... ... ... ... ... ... 14
3.4. Логикалық құрылымның баяндалуы ... ... ... ... ... ... ... ... 14
3.4.1. Pascal 15
тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... .
3.4.2. Си 15
тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ...
3.5. Қолданылған техникалық 15
құралдар ... ... ... ... ... ... .. ... ... ... ...
3.6. Шақырылуы және 15
жіктелуі ... ... ... ... ... ... .. ... ... ... ... ... ... ... .
3.7. Енгізілген-шығарылған 15
мәліметтер ... ... ... ... ... ... ... ... ... ... .
4.4. 16
Жазбалар ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ..
4.1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ... 17
4.2. Программаның блок-схемасы ... ... ... ... ... ... ... ... ... ... 18
4.3. Функционалды қолдануы ... ... ... ... ... ... ... ... ... ... ... 18
4.4. Логикалық құрылымның баяндалуы ... ... ... ... ... ... ... ... 18
4.4.1. Pascal 18
тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... .
4.4.2. Си 19
тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ...
4.5. Қолданылған техникалық 19
құралдар ... ... ... ... ... ... .. ... ... ... ...
4.6. Шақырылуы және 19
жіктелуі ... ... ... ... ... ... .. ... ... ... ... ... ... ...
4.7. Енгізілген-шығарылған 19
мәліметтер ... ... ... ... ... ... ... ... ... ... .
5.5. 19
Файлдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ...
5.1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ... 21
5.2. Функционалды қолдануы ... ... ... ... ... ... ... ... ... ... ... 21
5.3. Логикалық құрылымның баяндалуы ... ... ... ... ... ... ... ... 21
5.3.1. Pascal 21
тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... .
5.3.2. Си 22
тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ...
5.4. Қолданылған техникалық 23
құралдар ... ... ... ... ... ... .. ... ... ... ...
5.5. Шақырылуы және 23
жіктелуі ... ... ... ... ... ... .. ... ... ... ... ... ... ... .
5.6. Енгізілген-шығарылған 23
мәліметтер ... ... ... ... ... ... ... ... ... ... .
6.6. 23
Графика ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ...
6.1. Есептің 25
қойылымы ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ...
... ...
6.2. Функционалды қолдануы ... ... ... ... ... ... ... ... ... ... ... 26
6.3. Логикалық құрылымның баяндалуы ... ... ... ... ... ... ... ... 26
6.3.1. Pascal 26
тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... .
6.3.2. Си 26
тілінде ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ...
6.4. Қолданылған техникалық 27
құралдар ... ... ... ... ... ... .. ... ... ... ...
6.5. Шақырылуы және 27
жіктелуі ... ... ... ... ... ... .. ... ... ... ... ... ... ... .
6.6. Енгізілген-шығарылған 27
мәліметтер ... ... ... ... ... ... ... ... ... ... .


Қорытынды ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ...
28







1. Екі өлшемді массивтер.
Turbo Pascal тіліндегі екі өлшемді массивтер.
Массив дегеніміз бірдей типті мәліметтердің жиыны. Басқаша айтқанда,
массивтер бір атауға біріктірілген айнымалылардың реттелген тізбегі.
Массивті сипаттағанда оның элементтерінің жалпы санын және элементтерінің
типін көрсету қажет. Элементтерінің индексі арқылы массивтің әрбір
элементін бөлек қарастыруға болады. Массив типін келесі түрде анықтауға
болады:
TYPE типтің аты=ARRAY[индекстік типтердің тізбегі] OF типі
типтің аты - дұрыс идентификатор;
индекстік типтердің тізбегі - бір немесе бірнеше индекстік
типтердің тізбегі (үтір арқылы жазылады);
тип - массив элементтерінің типі.
Turbo Pascal тіліндегі индекстік типтер ретінде кез келген реттік
типтерді пайдалануға болады. Содан кейін массив программасының VAR
бөлігінде келесі түрде сипатталады:
VAR типтің аты=ARRAY[индекстік типтердің тізбегі] OF типі
Әдетте индекстік типі ретінде диапазон типі пайдаланылады. Диапазон
типінде индекстің өзгеру шекаралары анықталады.
const n=5;
m=6;
var a: array[1..n,1..m] of real;
b:array [1..n] of real;
i,j: integer;

Қолданылған шартты операторлар:
begin
b[i]:=1;
for j:=1 to m do
if(a[i,j]1) and(a[i,j]1.5) then b[i]:=b[i]*sqr(a[i,j]);end;
Қолданылған циклдік операторлар:
begin
for i:=1 to n do
for j:=1 to m do
readln(a[i,j]);

Си тіліндегі екі өлшемді массивтер.

Массив бірдей типтегі айнымалылардың тізбегін бір бүтін етіп сақтай
алады. Массивті хабарлау деп оның атауы мен элементтерінің типін анықтауды
айтады. Ол сондай-ақ массивтегі элементтер санын да береді. Массив
типіндегі айнымалы өрнектерде берілген спецификациядағы тип мәніне тұрақты
ретінде қолданылуы мүмкін. Егер де сипатталатын массив типі көрсетілмесе,
онда int типін қолдану ұсынылады.
Екі өлшемді массивті сипаттау синтаксисі келесі түрде болады:
[сипатталатын массив типі] айнымалы-идентификатор
[тұрақты өрнек] [тұрақты өрнек]
айнымалы-идентификатордың соңындағы квадратты жақшалар массив типінің
белгісі болып саналады. Квадратты жақшалардағы әр тұрақты өрнек берілген
өлшеудегі массивтің элементтерінің санын анықтайды. Массивтің элементтерін
индекстеу нөлден басталады. Сонымен массивтің соңғы элементінің индексі
массивтегі элементтер санына 1-ге кем болады. Массивке оның элементтерін
орналастыратын жады бөлінеді. Массивтің біріншісі элементінен соңғы
элементіне дейін барлығы адрестерінің өсу реті бойынша тізбектелген жады
ұяшықтарында орналасады. Жадыда массив элементтері арасында бос орындар
жоқ. Көп өлшемді массивтердің элементтері қатар бойынша сақталынады.
p=1;
for(j=1;j=m;j++)
if(a[i][j]1 && a[i][j]1.5) p*=a[i][j]*a[i][j];
Қолданылған циклдік операторлар:
void main()
{float a[n][m];
int i,j;
float p;
clrscr();
for (i=1;i=n;i++)
for (j=1;j=m;j++)
scanf("%f",&a[i][j]);

1.1. Есептің қойылымы.
Бүтін санды n өлшемді шаршы матрица берілген, Барлық элементтері
жұп болатын жолдардың номерлерін шығару керек.

1.2. Программаның блок-схемасы.

i=1..n

j=1..n i=1..n

j=1..n

иә
жоқ

жок S=n иа

1.3. Функционалды қолдануы.

Берілген программаның мақсаты енгізу-шығару процедурасын қолданып,
программалау барысында меншіктеу операторы, шартты операторлар, түрлі
қайталану операторларын, массивтерді қолданып жұмысты жүзеге асыру.

1.4. Логикалық құрылымның баяндалуы.

1.4.1. Pascal тілінде

1. Программаның басы;

2. Экранды тазалауға арналған функция;

3. Тұрақты айнымалыны сипаттау.

4-6. Айнымалыларды сипаттау бөлімі;

7. Негізгі программаның басы;

8. Массив элементтерін енгізу;

9-20. Пограмма. Жолдардағы элементтердің жұптығын тексеріп, жол номерлерін
баспаға шығару ;

21. Программа соңы.

1.4.2. Си тілінде

1-2. Негізгі библиотекаларды іске қосу;

3. Тұрақты айнымалыны сипаттау.

4. Программаның басы;

5-7. Айнымалыларды сипаттау бөлімі;

8. Экранды тазалау

9-12. Массив элементтерін енгізу;

13-16. Элементтердің жұп-тақтығын тексереді.;

16-22. Егер жолдардағы элементтердің бәрі жұп болса, номерлерін экранға
шығарады.

1.5. Қолданылған техникалық құралдар.

Бұл программаны жүзеге асыруда Windows XP Professional 64 bit sp2 ОЖ,
Celeron Tualatin 1300 MHz процессорлы, 384 DDR Mb Ram оперативті жадысы,
GeForсe4 128 Mb 128 Mb DDR бейне картасы, 80 Gb 7200 prm Seagate Barracuda,
40 Gb Samsung 7200 prm қатты дисктері бар компьютері мен hp deskjet 5550
принтері қолданды.

1.6. Шақырылуы және жіктелуі.
TP - Turbo exe - File - Open - Massiv.pas - ctrl+F9 (exe) -
Alt+F5(қолданушының экраны).

1.7. Енгізілетін мәліметтер.

1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4

1.8. Шығарылатын мәліметтер.

2
4
2. Функциялар.
Turbo Pascal тіліндегі функциялар.

Turbo Pascal тілінде функцияны арнайы программа ретінде жеке жазуға
болады. Сондықтан оны көмекші программа ретінде қарастыруға болады. Функция
мен процедураның айырмашылығы: функция программаға бір ғана нәтижені
береді. Нәтиже функция аты арқылы алынады да, негізгі программада
пайдаланылады.
Функцияның жалпы түрі мынадай:
FUNCTION функция аты [(мормалды параметрлердің тізімі)]:типі
Баяндау бөлімі
Begin
оператор бөлімі
END;
Функция нақтылы параметрлердің мәндері берілгеннен кейін өз аты арқылы
шақырылады. Сонымен қатар функцияны тікелей өрнектің ішінде шақыруға
болады. Функция және процедураны салыстырғанда келесі мәліметтерді
анықтайды:
1. Функция мен процедураның ұқсастығы, олардың екеуінде де айнымалыларды,
ерекше белгілерді, тұрақтыларды баяндау белгілері болуы мүмкін.
2. Процедура - нәтиже параметр типі процедура атауынан соң тұратын жақша
ішінде бейнеленсе, ал функцияда нәтиже арнайы параметр арқылы
берілмейді. Сондықтан функцияның типі аргументтер типтері бейнеленген
( ) сыртында көрсетіледі. Негізгі программада функцияның мәнін тек
функция атауы арқылы пайдаланады.
Функцияны шақырған кездегі программадан үзінді:
const n=3;
var a:array[1..n,1..2] of integer;
i,j:integer;
s:real;
function st(x1,y1,x2,y2,x3,y3:integer):real;
var a,b,c,p:real;
begin
a:=sqrt(sqr(x1-x2)+(sqr(y1-y2)));
b:=sqrt(sqr(x2-x3)+(sqr(y2-y3)));
c:=sqrt(sqr(x3-x1)+(sqr(y3-y1)));
p:=(a+b+c)2;
st:=sqrt(p*(p-a)*(p-b)*(p-c));
end;

Си тілінде функцияны қолдану.

Функция – кейбір жеке есептерді орындауға арналған нұсқаулар мен
сипаттаулар жиынтығы. Программада функциялардың санына шек қойылмайды. Си
тіліндегі кез келген программа кемінде бір функцияны, main атты функцияны
құрады.
Функцияны анықтау – оның аты, формальды параметрлерінің атрибуттары
және баяндаулар мен нұсқауларды құрайтын функцияның денесін сипаттау.
Функцияны анықтағанда функцияның жады класы мен қайтарылатын мәнінің типін
беруге болады.
Функцияны анықтау функцияның аты мен қайтарылатын мәнінің типін береді.
Функцияны анықтағанда қайтарылатын мәнінің типі int болса, оны көрсетудің
қажеті жоқ. Ал қайтарылатын мәнінің басқа типінде міндетті түрде осы типті
көрсету қажет.
Функцияны анықтау деп оның аты, формальды параметрі мен денесін
сипаттауды айтады. Функцияны анықтау синтаксисі келесідей:
[жады класының спецификациясы] [тип спецификациясы]
сипаттағыш ([параметрлер тізімі]) [параметрлердің баяндалуы]
функция денесі
Жады класының спецификациясы функцияның жады класын береді, ал тип
спецификациясы сипаттағышпен жиынтығында функцияның аты мен қайтарылатын
мәнінің типін анықтайды. Параметрлер тізімі функцияны шақыруды мәндері
жіберілетін формальды параметрлер аттарының тізімін құрайды.

# include stdio.h
# include float.h
# include math.h
# define n 4
int a[n][2];
float plosh(int k,int d,int e);
main ()
{
float p;
int i;
clrscr ();

2.1. Есептің қойылымы.
Си және Pascal тілдерінің амалдары мен стандартты функцияларынан құралатын
өрнектер арқылы мынадай есепті шығару: u1,u2,v1,v2,w1,w2
сандары берілген. u1+iu2,v1+iv2,w1+iw2 –ға тең u,v,w комплексті сандарын
қолданып есептеу керек.

(Комплекстік сандармен қолданылатын амалдардың процедураларын анықтау
керек).

2.3. Функционалды қолдануы.

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

2.4. Логикалық құрылымның баяндалуы.

2.4.1. Pascal тілінде

1. Программаның басы.

2. Экранды тазартуға арналған фунция.

3-5. Типтерді сипаттау.

6. Айнымалыларды сипаттау бөлімі;

7-10.Sum процедурасын сипаттау

11-16. Raz прцедурасын сипаттау.

17-21. Pro процедурасын сипаттау.

22-28. Dele процедурасын сипаттау.

29. Программаның басы.

30. Экранды тазалау.

31-32. Сандарды енгізу-оқу.

33-42. Есепті шығару үшін процедураларды іске қосу.

43-44. Нәтижені экран бетіне шығару.

45. Программаның соңы.

2.4.2. Си тілінде

1-2. Негізгі библиотекаларды іске қосу;

3-10. Айнымалыларды сипаттау.

9. Программаның басы.

11. Экранды тазарту.

12-15. Мәліметтерді енгізу-оқу.

16-25. Процедураларды іске қосып, есепті шығару.

26-27. Нәтижені шығару.

28-49. Sum, Raz, Pro, Dele процедураларын сипаттау.

2.5. Қолданылған техникалық құралдар.

Бұл программаны жүзеге асыруда Windows XP Professional 64 bit sp2 ОЖ,
Celeron Tualatin 1300 MHz процессорлы, 384 DDR Mb Ram оперативті жадысы,
GeForсe4 128 Mb 128 Mb DDR бейне картасы, 80 Gb 7200 prm Seagate Barracuda,
40 Gb Samsung 7200 prm қатты дисктері бар компьютері мен hp deskjet 5550
принтері қолданды.

2.6. Шақырылуы және жіктелуі.
TP - Turbo exe - File - Open – Komplex.pas - ctrl+F9 (exe) -
Alt+F5(қолданушының экраны).

2.7. Енгізілген-шығарылған мәліметтер.
2 3 5 6 7 1
Rezultat= -8.2 -4.8i

3. Жолдар.

Turbo Pascal тіліндегі жолдар.

Программалау практикасында мәтіндермен жұмыс істегенде string типті
пайдаланған ыңғайлы болады. Turbo Pascal жүйесінде алдын ала ұзындығы
анықталмаған жолдар тушін әдетте string типі қолданылады.
VAR FIO:STRING [25];
ADR: STRING [35];
MAMAN: STRING;
STRING типті айнымалыларды салыстыру, жалғастыру, меншіктеу
амалдарын қолдануға болады.
STRING типпен жұмыс істегенде келесі стандартты функция мен
процедураларды қолдануға болады:
CONCAT - берілген жолдарды біріктіру үшін пайдаланады.
COPY- берілген жолдың анықталған бөлігін көшіру үшін
пайдаланады.
LENGTH - жолдың нақты ұзындығын анықтайды.
POS - бір жолдың ішіндегі екінші жолдың бар екенін анықтайды
және позициясын қайтарады.
DELETE - берілген сөздің бөлігің өшіру үшін қолдынылады.
INSERT - қайсы бір жолды берілген жолдың анықталған позициясынан
бастап еңгізеді.
STR - берілген санды жолға түрлендіреді.
VAL - берілген жолды санға ауыстырады.
Қолданылған шартты операторлар:
begin
a:=0;
for j:=1 to length(sr) do
if s[i]=sr[j] then a:=1;
if a=0 then k:=1;
end;
if k=1 then writeln('Ne vse bukvy') else writeln ('vse bukvu');
readln;
end.
Си тіліндегі жолдар.

Программалау практикасында мәтіндермен жұмыс істегенде char типін
пайдалануға ыңғайлы болады. Мысалы:
#include stdio.h
main()
{
char str[80];
printf(“Simvoldardyengiz: \n”);
gets(str);
printf(“Engizilgen simboldar:%s”,str);
}
Жолдармен жұмыс істеу үшін келесі библиотеканы ашамыз:
#includestring.h
Жолдармен жұмыс істеу үшін келесі функцияларды қолданамыз:
Strcpy(s1,s2) – s2 жолының мазмұнын s1-ге көшіреді.
Strcut(s1,s2) – s2 жолын s1 жолына біріктіреді және бұдан s2 жолының
мазмұны өзгермейді.
Strlen(s) – s жолының ұзындығын анықтайды және соңындағы 0-ші байтты
есепке алмайды.
Strcmp(s1,s2) – s1 мен s2 жолдарын салыстырады. Егер жолдар тең болса,
яғни бірдей символдардан тұратын болса, 0 мәнін қайтарады. Егер s1s2 оң
мән, s1s2 болса, теріс мән қайтарады. Мысалы:
#includestdio.h
#includestring.h
main()
{
char s[20];
printf(“Zholdy engiz:”);
gets(s);
printf(“Zholdin uzindigi %d”,strlen(s));
}

3.1. Есептің қойылымы.
Си және Pascal тілдерінің амалдары мен стандартты функцияларынан
құралатын өрнектер арқылы мынадай есепті шығару: n натурал саны берілген
(n1000). Осы санды орыс тілінің сөздерімен жазу керек (двадцать, сто
пятьдесят четыре ...).

3.2. Программаның блок-схемасы.

1

2

3

4

5

6

7

8

10

3.3. Функционалды қолдануы.

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

3.4. Логикалық құрылымның баяндалуы.

3.4.1. Pascal тілінде

1. Программаның басы.

2. Crt модулін қосу.

3-7. Тұрақты айнымалыларды сипаттау бөлімі.

8. Айнымалыларды сипаттау бөлімі.

9. Негізгі программаның басы.

10. Экранды тазалау.

11-12. Текстті енгізу және оқу.

13-15. Сандарды сөздермен ауыстыру.

16-18. Шыққан нәтижені экранға шығару.

19. Программаның соңы.

3.4.2. Си тілінде

1. Негізгі библиотеканы (енгізу-шығару) іске қосу;

2. Программаның басы.

3-11. Айнымалыларды сипаттау бөлімі;

12. Экранды тазалау.

13. Текстті енгізу және оқу;

14-20. Сандарды сөздермен ауыстыру.

21. Нәтижені экранға шығару.

22. Программаның соңы.

3.5. Қолданылған техникалық құралдар.

Бұл программаны жүзеге асыруда Windows XP Professional 64 bit sp2 ОЖ,
Celeron Tualatin 1300 MHz процессорлы, 384 DDR Mb Ram оперативті жадысы,
GeForсe4 128 Mb 128 Mb DDR бейне картасы, 80 Gb 7200 prm Seagate Barracuda,
40 Gb Samsung 7200 prm қатты дисктері бар компьютері мен hp deskjet 5550
принтері қолданды.

3.6. Шақырылуы және жіктелуі.
TP - Turbo exe - File - Open – Stroki.pas - ctrl+F9 (exe) -
Alt+F5(қолданушының экраны).

3.7. Енгізілген-шығарылған мәліметтер.

725

Semsot dvatcat pyat
4. Жазбалар.
Turbo Pascal тіліндегі жазбалар.

Жазба массив тәрізді мәліметтердің күрделі типін қарастыруға
пайдаланады. Жазбаның массивтен айырмашылығы:
1.Жазбаны құрастырушы элементтер әртүрлі типті болуы мүмкін.
2.Жазбаны құрастырушы элементтердің атауларымен ғана тікелей
анықталады.
Тұрақты өрісті жазбалар:
Программа текстінде RECORD типі келесі түрде сипатталады, ең алдымен TYPE
бөлімі сипатталады:
TYPE N TYPE= RECORD
ID11, ... ID1N: TYPE1;
... ... ... ... ... .
IDK1,...IDKN: TYPE;
Мұнда N TYPE – жазба типінің идентификаторы;
ID11,...IDKN – жазба өрістерінің идентификаторы;
TYPE1 ... . TYPEК - өрістердің типтері;
VAR R:NTYPE – Мұнда R – RECORD типті айнымалы;
Мысалы: Дата жазбасы 3 өрістен тұрады және келесі түрде сипатталады:
TYPE DATE TYPE= RECORD
күн: 1...31
ай: 1...12
жыл: 1900...2004
END;
VAR D: DATA;
Жазба айнымалысының өрісін программа текстінде пайдаланғанда жазба
айнымалысының идентификаторымен, нүктемен бөліктелген өрістің
идентификаторы көрсетіледі.
Мысалы: D. күн:=12;
D. ай:=10;
D. жыл:=2000;
Жазбаның өрістерін программада пайдалану үшін құрамды аттар
пайдаланылады.
Си тіліндегі құрылымдық типтер. Құрылым.

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

Struct құрылым типінің атауы
{элементтерді анықтау};

Мысалы:
Struct goods ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Паскаль программалау тіліне жалпы түсінік
СИ тіліндегі файлдар және мәтіндік файлдар
Бүтін сан түріндегі тип
СИ бағдарламалау тілі және жобалануы туралы
СИ бағдарламалау тілі және жобалануы
Бағдарламалау тілдерінің өркениеті
Си бағдарламалау тілі
Java кең таралған программалау тілі
Дельфи ортасында тізімдермен жұмыс істейтін компоненттер
Процедуралар және функциялар
Пәндер