8c цикл алгы шарты

Раздел Информатика
Класс 8 класс
Тип Конспекты
Автор
Дата
Формат docx
Изображения Нет
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Сабақтың тақырыбы: Циклдің алғы шарты, циклдің ілесу шарты

Сабақтың мақсаты:

Білімділігі: Оқушыларды Паскаль тілінде циклдермен жұмыс істеу қабілетін арттыру, программа құруға дағдыландыру;

Дамытушылығы: Оқушылардың Паскаль программалау тілінде есеп шығару мүмкіндіктерін, логикалық ойлау қабілеттерін дамыту;

Тәрбиелік: Оқушыларды тиянақтылыққа, ұқыптылыққа тәрбиелеу.

Сабақтың түрі: аралас сабақ

Сабақтың барысы:

1. Ұйымдастыру

2. Өткен материалды қайталау

3. Компьютермен жұмыс

4. Сабақты бекіту

5. Үйге тапсырма

Өткен материалды қайталау сұрақтары

  • Қайталау операторлары не үшін қолданылады?

  • Цикл дегеніміз не?

  • Қайталау операторларының қанша түрі бар?

  • WHILE қандай оператор?

  • WHILE операторының жалпы жазылу түрі қандай?

  • REPEAT қандай оператор?

  • REPEAT операторының жалпы жазылу түрі қандай?

  • FOR қандай оператор?

  • FOR операторының жалпы жазылу түрі қандай?

1.Ұйымдастыру.

2.Үй жұмысын тексеру:

  • Паскаль тілінің операторына қандай операторлар жатады? /шартты және шартсыз/

  • Құрылымдық оператор дегеніміз не? /Басқа операторларды белгілі бір ережелер бойынша біріктіру жолымен құрастырылады/

  • Құрылымдық оператор неше топқа бөлінеді? /құрама, шартты, қайталау операторы/

  • Шартты оператор қай кезде пайдаланылады? /тармақталу процестері бар алгоритмдерді ұйымдастыру үшін шартты операторлар пайдаланылады/

  1. Жаңа сабақтың негізгі мазмұны және оны түсіндіру:

Кейбір жағдайларда нәтижеге жету үшін белгілі бір әрекетті бірнеше рет қайталауға тура келеді. Мұндай қайталанатын әрекеттерді орындау үшін белгілі цикл түрімен жұмыс істейміз. Паскаль тілінде циклді ұйымдастыру үшін оларды түріне қарай екі түрге бөлеміз: қайталану саны белгісіз циклдер, қайталану саны белгілі циклдер.

Мысалы: математикадан берілген 5 есепті шығаруда, дене тәрбиесі сабағында стадионды 3 айналым жасап жүгіру, балықшының балық аулауы, бөлме еденін сырлау т.с.с. жұмыстарын орындауда белгілі бір әрекет бірнеше рет қайталанып орындалады. Мұнда есеп шығару мен стадионда жүгіруде әрекет саны белгілі, ал балық аулау мен еден сырлауда әрекет саны белгісіз. Бірақ та қандай да бір әрекеттерді орындау барысында нәтижеге жетуіміз керек.

Түрлері

Алгоритмдік тілдегі жазылуы

Блок схемасы

Бағдарламалау тілінде

1

Шартын алдын ала тексеретін цикл.

әзір шарт

цб

цикл денесі

цс

while шарт do

begin

цикл денесі

(серия);

end;

2

Шартын соңынан тексеретін цикл.

әзір шарт

цб

цикл денесі

цс

repeat

цикл денесі

(серия);

until шарт

3.

Параметрлі цикл операторы

үшін Х бастап Хбас дейін Хсоң қадам Хқад

цб

цикл денесі

цс

Айнымалының 1-ге артуы:

for Х:= Хбас to Хсоң do

begin

цикл денесі(серия);

end;

Айнымалының 1-ге кемуі:

for Х:= Хсоң downto Хбас do

begin

цикл денесі(серия);

end;

While-Do операторы. While операторы қызметші сөздерден басқа циклге кіру шартынан және цикл денесінен тұрады.Цикл денесін әрбір қайталау алдында шарт тексеріледі. Шарт ақиқат болаған жағдайда, цикл денесі орындалады, әйтпесе программа келесі операторға көшеді. Егер шарт алғаш тексерілгенде, жалған болса, цикл денесі бір рет те орындалмастан программа цикл соңына шығады.

Repeat-until операторының while - do-ға қарағанда үш айырмашылығы бар.

  1. шарт циклдан бұрын тексеріледі, сондықтан серия кем дегенде бір рет атқарылады.

  2. repeat операторында шарт ақиқат (иэ) болғанда қайталау (цикл) аяқталады.

  3. repeat операторында қайталау соңы шартпен аяқталады.

FOR-DO(FOR-DOWNTO) циклдік операторы қайталау саны алдын ала белгілі болған жағдайда қолданылады. Бұл оператор екі түрлі беріледі.

FOR-DO(FOR-DOWNTO) жазылуы:

  1. For<циклдік параметр>:=<алғашқы мән>to<соңғы мән>do<циклдің денесі>;

  2. For< циклдік параметр >:=< соңғы мән >downto< алғашқы мән>do<циклдің денесі>;

Ескерту:

  • WHILE операторының программада жұмысын толық аяқтау үшін, цикл денесінде міндетті түрде циклдің орындалуына қойылған шартқа байланысты ереже болуы тиісті;

  • FOR циклдік операторындағы DO түйінді сөзінен кейін ; « нүктелі үтір» қойылмайды;

«Логикалық есептеу миға шабуыл жасаумен бірге өткенді көп үйретеді» (ауызша есептер шығару)

  1. Төмендегі тізбектің бастапқы мәнін, соңғы мәнін, қадамын анықта:

а)1, 2, 3, 4 , ..., 10; б)2, 1.8, ..., -2; в) 5, 8, 11, ..., 35;

Алгоритмді орындағанда қосынды неге тең?

  • үшін b бастап 1 дейін 13 қадам 4

  • үшін c бастап 30 дейін 10 қадам -5,

  • үшін n бастап a дейін a+10 қадам 2,

Төмендегі цикл неше рет орындалған, а мәні неге тең?

1)a := 4; b := 6; 2) a := 0 3) a := 4; b := 6;

repeat a := a + 1; while a <5 do repeat b := a - b;

until a > b; a:=a+1; until a < b;

Бағдарлама үзіндісінің орындалу нәтижесін (компьютерсіз) анықта,

айырмашылығы неде ?

i:=1;

while i<=3 do

begin

x:=sqr(i);

writeln('i=',i,' ','x=',x);

i:=i+1;

end;

begin

for i:=1 to 3 do begin

x := sqr(i);

writeln('i=',i,' ','x=',x);

end;

begin

for i:=3 downto 1 do begin

x := sqr(i);

writeln('i=',i,' ','x=',x);

end;

5.«Тәжірибеден қорықпаңыз - нәтижесін көру үшін бағдарламаның бір бөлігін өзгертіңіз». (while - do , repeat-until, FOR-DO(FOR-DOWNTO) операторларын пайдаланып есепті үш түрлі әдіспен шығару, бағдарлама құру)

«Бағдарламауда нәтижеге жету - ... !» (қорытындылау, тест тапсырмаларымен жұмыс)

  1. 1, 2, 3, 4 , ..., 10 тізбегіндегі бастапқы мән, соңғы мән, қадамды тап. (1,10,1)

  2. Төмендегі алгоритмді орындағанда қосынды неге тең?

s:=0;

үшін х бастап 7 дейін 10 қадам 1

s:=s+x;

  1. Төмендегі қай фрагмент дұрыс жазылған?

1) for i:=1 5 do 2) for i:=1 5 do 3) for i:=1 5 do 4) for i:=1 5 do

read(x); begin begin read(x);

y[i]:=x*x; read(x); y[i]:=x*x; y[i]:=x*x;

y[i]:=x*x; read(x); end; end;

(2)

Төмендегі бағдарлама орындалғанда х-тің мәні неге тең?

program esep;

var x,i,n: integer;

begin

x:=0;

for i:=-5 to 1 do

n:=i*i;

x:=x+n;

writeln ('x=',x);

end. (1)

b=7 бoлca, бағдарламаны орындағанда қандай сан шығады?

рrogram esep;

var b, z, x, y: integer;

begin

readln(b);

x:=0;

for z:=b downto 3 do

begin

y:=z mod 2; x:=x+y; end; write(x); end. (3)

Егер 14 саны енгізілсе, бұл бағдарламаны орындағанда қандай сан шығады?

program esep;

var x: integer;

begin

readln(x);

while x>12 do

x:=-1;

x:=abs(x+16);

write(x); end. (15)

Бағдарламаны орындау нәтижесінде қандай сан шығады?

program esер;

var n,m:integer;

begin

n:=18; m:=n div 7;

repeat

m:=m+n; n:=n-5; until n<5

write(m); end. (41)

Бағдарламаны орындау нәтижесінде қандай сан шығады?

program esер;

var r, k: integer;

begin

r:=1;

for k:=1 to 4 do

r:=r+2*k; write(r); end. (9)

  1. х=8 болса, төмендегі бағдарламаны орындағанда қандай сан алынады?

program esep;

var x,y,z:integer;

begin

readln(x);

for y:=1 to 2*x mod 9 do

begin

z:=y+1; x:=x+1; end;

writeln ('z=',z); end. (8)

Төмендегі цикл қанша рет орындалады?

n:=0;

while n<=5 do

x:=n*n; (шексіз)

«Барлық есептерді компьютермен шешеміз»(үй тапсырмасы)

І-деңгей

  1. Тақ сандардың қосындысын есепте: 1+2+3+…+10

  2. Жұп сандардың қосындысын есепте: 1+2+3+…+10

  3. Тізбектің көбейтіндісін есепте: -5, -4, -3, … ,1

ІІ-деңгей

IІІ-деңгей

  1. Берілген n үшін түрдегі қосындыны есептеңіз.

  2. Алгебра 9 сынып, №201 есеп. Бақшада ұзындығы 16м және 2,5м болатын 30 қатар бар. Бақшадан 14м қашықтықта орналасқан құдықтан шелекпен су әкелінеді және бір рет әкелінген су тек бір қатарды суаруға ғана жетеді. Барлық бақшаны суару үшін бағбаншы қанша жол жүру керек?

  3. Алгебра 9 сынып, №243 есеп. Берілген шексіз кемімелі геометриялық прогрессияның қосындысын есептеңіз.

Кез келген есептің алгоритмін жазу кезінде циклды дұрыс ұйымдастыру қажет. Ол үшін:

1.Параметрдің бастапқы мәнін беру керек;

2.Циклдің аяқталу шартын тексеру керек;

3.Циклдың жаңадан қайталануының алдында параметрді өзгерту керек;

Сабақты бекіту сұрақтары

  • Цикл дегеніміз не?

  • Циклдің алгоритмнің неше түрі бар?

  • Программаның нәтижесін қалай көреміз?

Үйге тапсырма: 6.1 тапсырма











Компьютермен жұмыс

№7. Екі санның кішісін табатын программа құру керек.

Program min;

Var a, b, min : integer;

Begin

Readln (a, b);

If a

Writeln ( ' min = ', min) ;

End.

№8. Үш санның кішісін табатын программа құру керек.

Program min;

Var a, b, c, x, min : integer;

Begin

Readln (a, b, c);

If a

If x

Writeln ( ' min = ', min) ;

End.

№11. Үш кесіндінің ұзындықтары берілген. Егер бұл үш кесіндіден үшбұрыш құру мүмкін болса, онда оның периметрін және ауданын табыңдар.

Program e5;

Var a, b, c : integer;

P1, p, s: real;

Begin

Readln (a, b, c);

If a+b>c then p1: = a+b+c ;

P:= (a+b+c)/2;

S:=sqrt (p*(p-a)*(p-b)*(p-c));

Writeln ( ' p1= ', p1:5:2) ;

Writeln (' s=',s:5:2);

End.

№16. Адам жасына қарап, оларды әлі мектепке бармаған, мектеп оқушысы, жұмысшы, зейнеткер деген төрт топтың біріне жатқызатын программа құрыңдар. Адам жасы пернетақтадан енгізіледі.

Program e6;

Var x : integer;

Begin

Writeln (' adam jasin engiz' );

Readln (x);

If x<=6 then writeln (' ali mektepke barmagan' ) else

If (x>6) and (x<=17) writeln (' mektep okushisi ') else

If (x>17) and (x<58) writeln (' jumisshi') else writeln (' zeinetker');

End.

№17. Екі сан берілген. Егер бірінші санның абсолют шамасы екінші санның абсолют шамасынан артық болса, онда біріншісін бес есе азайту керек, әйтпесе екі санды да өзгеріссіз экранға шығару керек.

Program e7;

Var x, y : real;

Begin

Writeln ('x, y-?);

Readln (x, y);

If abs (x)< abs(y) then x:=x/5;

Writeln (x:5:2, y:5:2);

Readln;

End.

© 2010-2022