Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКД_Инфор_Хко_2014_Ильясова.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.13 Mб
Скачать

Мысал 2. Функциясының мәндері 0,1 қадамымен [1;20] аралығында өзгереді. Функцияның өзгеру мәндерін табу алгоритмінің блок-схемасын құрыңыздар.

Шешімі: Келесі белгілерді енгіземіз: а-интервал басы, в- интервалдың соңы, h- өзгеру қадамының мөлшері.

Х:=а

Х:=х+ h

Өз бетінше шешуге арналған есептер:

        1. Функцияның мәнін табыңыздар.

        1. Қосындыны табыңыздыр

3. Квадраттық теңдеудің түбірлерін табу алгоритмдерін құрыңыздар.

  1. Матрицаның анықтауының мәнін табу алгоритмін құрыңыздыр.

.

Бақылау сұрақтары:

        1. ЭЕМ көмегімен есеп шығару технологиялық тізбегін атаңыз.

        2. Алгоритм ұғымына анықтама беріңіз.

        3. Алгоритмдердің негізгі қасиеттерін атаңыздар.

        4. Алгоритмдердердің негізгі құрылымдарын және құрылымдық элементтерін атаңыздар.

        5. Алгоритмдерді жазу түрлерін көрсетіңіздер.

        6. Циклдық құрылымдық алгоритмдердің типті алгоримдерін атаңыздар.

Әдебиеттер: [35], [36], [37], [38].

2.5 практикалық сабақ

Тақырыбы: Паскаль тілінде программалау негіздері. Сызықтық, тармақтық және циклдық алгоритмдерді программалау.

Сабақтың мақсаты: Паскаль тілінің негізгі операторларының қолданып, қарапайым программа құра білу және құрылған программаны ДК-ге енгізуді, орындауға жіберуді меңгерту. Таңдау, шартты, құрама операторларын пайдаланып, тармақталған программаны құру дағдыларын үйрену, құрылған тармақталған программаларды ДЭЕМ-да енгізіп үйрену. Цикл туралы ұғымды қалыптастыру, санауыш цикл FOR қолдануды үйрену, қайталау алгоритмінде есеп шығару дағдыларын меңгеру.

Материалдар және құралдар: ДК, практикалық жұмысқа әдістемелік нұсқау.

Мазмұны мен жұмысты орындау реті:

Паскаль программасын жүктеу. Программаны жүктеу үшін PASCAL каталогынан PASCAL.EXE файлынан жүктеу керек. Мысалы, D:\PASCAL\PASCAL.EXE немесе Windows ортасында болсаңыз, онда С:\ВР\ВІN\ВР каталогтарын таңдаған дұрыс.

«Паскаль» тілінің программа құрылымы.

Программа программаның тақырыбынан және программа денесінен құрылады.

Программа тақырыбы: program кілттік сөзінен және қолайлы тізімді программа файылынан (input output)

Программа денесі (блок) алты бөліктен құрылады:

  • белгілерді сипаттау бөлімі;

  • тұрақтыларды сипаттау бөлімі;

  • мәліметтер типін сипаттау бөлімі;

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

  • процедуралар және функцияларды сипаттау бөлімі;

  • операторларды сипаттау бөлімі.

Бөліктердің орналасу орнын өзгертуге болмайды. Кез-келген бөліктер (оператордан басқасы) жоқ бола алады.

Белгілерді сипаттау бөлімі

label (қызметші сөзі) бөлімінде белгілер үтір арқылы ажыратылып жазылады.

Мысалы label 3, 11 , 48, 2;

Тұрақтыларды сипаттау бөлімі

const (қызметші сөзі)

Әрбір тұрақтыны анықтау үшін қандайда бір тұрақты мәнді белгілейтін идентификатор енгізіледі.

Мысалы: e=2,718281828;

z=’8 Б класс’;

Мәліметтер типін сипаттау бөлімі

type (қызметші сөзі)

Жұмыс барысында мәліметтердің стандартты типі жие қолданылады:

byte – бүтін (0-ден 255-дейін)

integer - бүтін (32768-ден 32767-дейін)

longint – (2147483648-ден 2147483647-дейін)

real - нақты (2,9Е-39 дан 1,7Е+38-дейін)

char - символьдық (кез-келген символ. Мысалы: f немесе №)

string – жолдық тип (кез-келген мәтін 0 ден бастап 255 символ)

boolean – логикалық тип {екі мәнді қабылдайды: FALSE (жалған) және TRUE (ақиқат)}

Егер өзіңіздің мәліметтер типін сипаттау қажет болса, онда оның типін көрсету қажет. Тип идентификатормен анықталады. Идентификаторды типті хабарлаудың сол жағында көрсетеді және ол осы типті хабарлау үшін сол типтің идентификаторы болып анықталады.

Мысалы: seasans=(spr, or, kan, pak);

Типті хабарлау seasans кілттік сөзінен, сипатталып отырған типтің идентификаторынан, = (тең) белгісінен, типтің анықтамасынан және ; (нүктелі үтір белгісінен тұрады).

Интерваль тип: реттелген аралықта жазылады.

Мысалы: days =1..31;

manth=1..12;

z=’a’..’w’;

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

var (қызметшісөзі)

Осы бөлімде программада берілетін барлық типі көрсетілген айнымалылар болу керек. Бірдей типтегі айнымалылар идентификаторы үтір арқылы жазылады.

i, kl, l: integer;

a, b: real;

hobidaus: seasans

Паскаль тілінде үш түрлі операторлардың көмегімен қайталанатын фрагменттерді программалауға болады (үш цикл операторы):

- параметр мәні бойынша циклды үйымдастыру цикл FOR;

- алдын-ала шартты тексеру операторы цикл WHILE ;

- шартты соңынан тексеретін цикл REPEAT...UNTIL.

Параметр мәні бойынша циклды үйымдастыруда айнымалылар цикл ішінде автоматты түрде k дан n-ге дейін қадам 1 арқылы өзгеріп отырады (n>k)

Циклформатыныңжазылуы: for i:=k to n do (for -үшін, to-дейін, do-орындау)

немесе

n-нен k-ғадейін (n>k) қадам 1.

Циклформатыныңжазылуы: for i:=n dawnto k do (dawn-төмен, tо-дейін, dawnto-керіқарай) түіндісөздеріпайдаланылады. Егер +1-гетеңболса, ондаоператордаto, алқадам -1-гетеңболса, ондаdawnto сөзіқолданылады.

Егерциклдабірнешеоператорорындалатынболса, ондаоператоржақшасықолданылады: begin …. end;

Қайталанусаныалдыналабелгіліболсацикл FOR операторынқолданутиімді.

1-мысал: Шарттарды қарастыра отырып, төмендегі тапсырмаларды орындап, нәтижесін ДЭЕМ-да алу.

    1. Әрбір оператордың жұмысына көңіл аудара отырып, төменде көрсетілген программаның нәтижесін алу;

PROGRAM PRIM (INPUT, OUTPUT);

VAR A,B,P,S: REAL;

BEGIN

READ (A,B);

P:=SQRT (A*B);

S:=(A+B)/2;

WRITELN ('P=',P);

WRITELN ('S=',S)

END.

Ескерту: А,В айнымалыларына сандық мәндер енгізуді ұмытпа.

1.2 Программа дұрыс құрылған ба? Қатені дұрыста.

PROGRAM PR2 (INPUT, OUTPUT);

VAR X: REAL;

BEGIN

X:=Y/A

END.

1.3Меншіктеу операторының жазылуында қандай қате жіберілді. Қатені дұрыста.

PROGRAM PR3 (INPUT, OUTPUT);

VAR A,B : REAL;

BEGIN

READ (A);

SIN(B):=A

END.

№1 блиц-тестті орындаңыз.

2-мысал: Шарттарды тексере отырып, төмендегі тапсырмаларды орындап, ДЭЕМ-да нәтижелерін алу.

    1. Қандай процесс жүргізілген және әрбір оператордың жұмысына көңіл бөлу керек.

PROGRAMBICH (INPUT, OUTPUT);

VAR X,Y: REAL;

BEGIN

READ (X);

IF X>0 THEN Y:=LN(X)

ELSE Y:=COS(X);

WRITE ('Y=',Y);

END.

2.2 Төмендегі программаның орындалу барысында қандай нәтиже алынады?

PROGRAM UROK (INPUT, OUTPUT);

VAR N: INTEGER;

BEGIN

READ (N);

CASE _ N OF (* нач. опер. выб. *)

1: WRITE LN ('МАТЕМАТИКА');

2: WRITE LN ('ИНФОРМАТИКА');

3: WRITE LN ('ФИЗИКА');

4: WRITE LN ('ИСТОРИЯ');

5: WRITE LN ('[BVBZ');

END;

ЕND.

№2 блиц-тестті орындаңыз.

3-мысал. Цикл операторлары.

3.1 1-ден n-ге дейінгі барлық натурал сандардың қосындысын есептейтін программа құрыңыз.

program есеп3_1;

var i,n,s:integer;

Begin

writeln(' n натуралсаныненгізіңіз'); readln(n);

s:=0;

for i:=1 to n do

s:=s+i;

writeln('1-ден n-гедейінгіқосынды',n,' = ',s);

End.

Берілген циклде i айнымалысы автоматы түрде 1-ден n-ге дейін қадам 1- ге өзгеріп отырады. Сондықтан s айнымалысына i қосылып отырады, басында 1-ге тең, сонан соң 2-ге, 3-ке тағы сол сияқты n-ге дейін есептеледі, s айнымалысына сәйкес 1, 3, 6, 10, 15 ….…мәндері қабылданады.

3.2 S=1 - 1/2 + 1/3 - 1/4 + 1/5-........1/n тізбегін есептейтін программа құрыңыз. Мұндағы n натурал сан.

program zadacha3_2;

var i,n,a: integer;

s:real;

Begin

writeln('n енгізіңіз');

readln(n);

s:=1;a:=1;

for i:=2 to n do

begin

a:=(-1)*a;

s:=s+a/i;

end;

writeln('Қатар қосындысы S= ',s);

End.

3.3. Натурал төрт таңбалы сандар санын анықтаңыз, сандардың қосындысы берілген N тең.

program есеп3_3;

var с1,с2,с3,i,n,kol:integer;

Begin

writeln(' n енгізіңіз');

readln(n);

kol:=0;

for i:=100 to 999 do

begin

c1:=i div 100;

c2:=(i div 10) mod 10;

c3:=i mod 100;

if c1+c2+c3=n then kol:=kol+1;

end;

writeln('Мұндай сандардың саны = ',kol);

End.

№3 блиц-тестті орындаңыз.