Опис умов. Вказівка розгалуження та її опис навальною алгоритмічною мовою та мовою програмування Паскаль



Скачати 339.77 Kb.
Дата конвертації29.04.2016
Розмір339.77 Kb.
Тема „Вказівки розгалуження і повторення

ЗНЗ №9


Борщик Любов Іванівна


Урок №1

Тема:Опис умов. Вказівка розгалуження та її опис навальною алгоритмічною мовою та мовою програмування Паскаль.

Мета: вивчити прості та складені логічні вирази, логічні операції: not, and, or, логічні змінні, вказівку розгалуження в Паскалі та складену команду. Розвивати алгоритмічне і логічне мислення, уважність, вміння приймати рішення.

Тип уроку: урок нових знань.

Обладнання: комп’ютери, проекційна дошка, презентація..

Хід уроку

  1. Організаційний момент.

  2. Обгрунтування мети уроку.

  3. Актуалізація опорних знань.

4. Вивчення нового матеріалу:

а) Прості і складені логічні вирази.

б) Логічні операції not, and, or.

в) Пріоритети логічних операцій.

г) Вказівка розгалуження.

д) Складена команда.

5. Домашнє завдання.

6. Підсумок уроку.



1. Огрмомент (відмічаються відсутні, черговий учень включає комп’ютери)
2. Ми говорили, що будь-який алгоритм можна записати за допомогою трьох базових структур: проходження, розгалуження і повторення. Розгалудження і повторення використовуються тоді, коли в задачі присутня певна умова. Вказівка розгалудження – це команда виконати одну із двох команд: команду 1 або команду 2 залежно від істинності чи хибності деякого твердження Р(умови)

.

Приклад 1. Якщо завтра буде гарна погода, підемо на екскурсію.


Приклад 2. Якщо а- число парне, то воно ділиться на 2, в противному разі – не ділиться на 2.

3. Актуалізація опорних знань.

А тепер попробуйте дати відповіді на мої запитання. Всі ці речі ми з вами вивчали, коли знайомились з НАМ і починали вивчати Паскаль.

а) Які операції порівняння використовуються в Паскалі?

б) Який вираз називається логічним?

в) Якою буває вказівка розгалуження?

г) Як записується повне розгалуження графічно і в НАМ?

д) Як записується неповне розгалуження графічно і в НАМ?

е) Що називається розгалуженням?


4. Вивчення нового матеріалу:

а)Крім арифметичних виразів в математиці і інформатиці зустрічаються логічні вирази. Логічними виразами називаються такі вирази, в результаті обчислення яких одержуються логічні значення типу “true або “false („так” або „ні”). Вони призначені для запису різноманітних умов. Логічні вирази складають для пошуку потрібної інформації.

Логічні вирази бувають прості і складені. Простий логічний вираз – це два арифметичні вирази, з’єднані знаком порівняння.



Складені логічні вирази – це вирази, утворені з простих логічних виразів за допомогою логічних операцій not, and, or. Прості логічні вирази у складених логічних виразах записуються в дужках.

Приклад1. Прості логічні вирази: х=0, у=2.

x>2, Відповідь: false; x0, Відповідь: true.



Складені логічні вирази:

(х>2)or(x0), Відповідь: true.



б)Позначимо два прості логічні вирази як А і В.

Побудуємо таблицю значень складених логічних виразів.



А

not A

A

B

A and B

A

B

A or B

true

false

false

false

false

true

true

true

false

true

true

false

false

false

false

false







false

true

false

false

true

true







true

true

true

true

false

true


Приклад 2. not (5>7) – true.

Приклад 3. Оцінка не 2: not (mark=2) або mark<>2

Приклад 4. 00) and (x<3)

Приклад 5. x<0; x>5 (x<0) or (x>5)

Приклад 6. літні місяці року: (month=6) or (month-7) or (month=8)

в)Найвищий пріоритет має 1) операція not

2) and

3) or.

Операції одного пріоритету виконуються по черзі зліва направо.

(x=0) 2or (x>1) 1and (x<3).

Послідовність виконання логічних операцій можна змінити за допомогою дужок.

(x=5) 3or not2 ((x<0) 1and (x<=2))

Значення логічних виразів можна надавати логічним змінним. Їх треба оголосити як boolean, вони приймуть одне з двох значень: true чи false.

Логічні змінні оголошують так:

Var <список змінних>: boolean;

Приклад 7. var z: boolean;

Begin x:=2;

Z:= x>5;

Z набуде значення false.

Логічні змінні не можна задавати командою read, але виводити значення логічної змінної командою write можна.
Таблиця пріоритерів арифметичних і логічних операцій:


  1. ( ) – спочатку виконуються дії в дужках

  2. функції, логічна операція not

  3. *, /, div, mod, and

  4. +, -, or

  5. >, <, >=, <=, =, <>

Розв’язування вправ:

1) Запишіть нерівності, які відповідають логічним виразам:

а) (x>2) and (x<=20) (Відповідь: 2

б) (x<-2) or (x>15) (Відповідь: x<-2; x>15)

в) (x>=5) and (x<25) (Відповідь: 5≤ x<25)

г) (x>3) and not (x>5) ( Відповідь: 3

2) Складіть логічні вирази для перевірки, чи є точка (х;у)

а) у другій чверті (Відповідь:( x<0) and (y>0) )

б) на координатних осях (Відповідь:( x=0) or (y=0) )

в) у другій або третій чверті (Відповідь: x<0)



г) Діти! Давайте ще раз згадаємо, як записують вказівку розгалуження навчальною алгоритмічною мовою.
Повна форма Неповна форма

якщо <умова> якщо <умова>

то <команда 1> то <команда 1>

інакше <команда 2> все

все

Умовний оператор мовою Паскаль

i

f <умова>then <оператор 1>else <оператор 2> if умова> then<оператор>



Після слів then чи else може стояти одна команда: проста або складена. Якщо логічний вираз істинний то виконується команда, яка стоїть після then, якщо він хибний, то виконується команда, яка стоїть після else. В короткому операторі, коли значення логічного виразу неістина, відбувається вихід з логічного оператора. Перед словом else крапка з комою не ставиться.



д) Складена команда – це команда, в якій об’єднано декілька команд за допомогою операторних дужок begin......end.

begin


<команда1>;

<команда2>;

.......................



<команда n>

end;


Задача 1. Знайти значення складеної функції у для заданого значення х, якщо функція задана формулою:



var x,y:real;

begin clrscr;

writeln (‘Ввести х’);

read(x);

if x>0 then y:=x+3

else y:=x-5;

writeln (‘y=’, y)

readln

end.

Задача 2. Розв’язати квадратне рівняння (а≠0)

ax2+bx+c=0.

Блок-схема розв’язання задачі є в підручнику, напишем програму на Паскалі.
Program Equation;

uses crt;

var a, b, c, d, x1, x2: real;

begin

clrscr;


writeln(‘Введіть коефіцієнти a, b, c’);

readln(a, b, c);

d:=sqrt(b)- 4*a*c;



if d<0 then writeln(‘коренів немає’)

else begin

x1:= (-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

writeln(‘корені є:’, x1:6:2, x2:6:2) end;

readln

end.

Пропоную учням набрати одну зпрограм на комп’ютері і отримати результати.


5. Домашнє завдання. Верлань А. Ф., Інформатика 10-11 кл., §2.5, пит. 1 – 4, задачі №5, 7.

6. Сьогодні ми навчились записувати вказівку розгалуження мовою Паскаль. Вона в Паскалі називається умовний оператор. Навчились використовувати умовний оператор в розв’язаних задачах.



Урок №2
Тема: Застосування умовного оператора. Оператор безумовного переходу go to n.

Мета: ознайомити учнів з оператором безумовного переходу, поняттям мітки, виробляти навики застосовувати умовний оператор при запису алгоритмів мовою Паскаль, розвивати логічне мислення, виховувати спостережливість, вміння раціонально використовувати час.


Хід уроку.

  1. Організація класу.

  2. Актуалізація опорних знань.

  3. Засвоєння нових знань.

  4. Формування вмінь та навичок.

  5. Домашнє завдання.

  6. Підсумок уроку.




  1. Оргмомент (Відмічаю відсутніх учнів).

  2. Перевірка домашнього завдання.

Напишіть програми на Паскалі для розв’язання таких задач:

5 (за підручником Варлань)



Дано три числа а, в, с. З’ясуйте, чи має місце нерівність а<в<с. Відповідь подати у вигляді тексту: „так” чи „ні”.

Program P1;

uses crt;

var a, b, c:real;

begin

writeln(‘Введіть три числа а, в, с’);

readln(a,b,c);

if(aand (bthen writeln (‘так’)

else writeln (‘ні’);

readln

end.

7. Присвоїти z значення більшого з чисел х і у у тому разі, якщо х<0, і меншого, якщо х≥0.



Program EX7;

var x, y, max,min,z:real;

begin

writeln(‘Введіть два числа х,у’);

readln(x,y);

if x>y then begin

max:=y; min:=x;



writeln(‘max=’, max:4:2);

end;

else begin

max:=y; min:=x;



writeln(‘min=’, min:4:2);

end;

if xthen writeln (‘z=’, max:4:2);

else writeln(‘z=’, min:4:2);

readln;

end.

Один учень записує задачі на дошці, потім всі обговорюють зроблені програми, пропонують свої варіанти розв’язання.



3. Сьогодні ми познайомимось з вказівкою безумовного переходу go to n, поняттям мітки і продовжимо розв’язання задач з використанням вказівки розгалуження.

Програма – це послідовність вказівок, які виконуються одна за одною. Для зміни порядку виконання команд в програмі використовують оператор go to n. Коли в програмі зустрічається цей оператор, то виконується не наступний за ним оператор, а той, біля якого стоїть мітка n.

Оператор безумовного переходу має вигляд:

go to <мітка>;

Мітка – це число 1 до 9999 або інший ідентифікатор. Наприклад: 2; М5.

Усі мітки, перш ніж будуть використані в програмі, треба оголосити на початку програми в розділі оголошень так:



Label <список міток>; label 111,m1;

Мітка ставиться перед оператором, на який здійснюється перехід, і відділяється від нього двома кратками.

111: readln(a);

Вказівка безумовного переходу goto може бути записана у довільному місці програми.

Зараз розв’яжемо задачу, де треба використати вказівку безумовного переходу.

Задача 1.Чи існує трикутник, якщо його сторонами є відрізки а, в, с. Якщо трикутник не існує, то ввести нові значення а, в, с, якщо існує, то порахувати площу і периметр трикутника.

Створимо блок-схему до цієї задачі.



А тепер за цією блок- схемою напишем програму на мові Паскаль.

Program Triangle;

uses crt;

var a,b,c,p,s: real;

label 2;

begin clrscr;

writeln(‘Ввести довжини трьох сторін трикутника a,b,c’);

2: readln(a,b,c);



writeln(‘a=’, a, ‘b=’, b,’c=’,c);

if (aand (band (c<(a+b) then {нерівність трикутника}

begin writeln(‘трикутник існує’);

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

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

p:=p*2;


writeln(‘s=’, s:6:2, ‘p=’, p:6:2);

end

else

begin writeln (‘трикутника не існує’);

writeln(‘ввести нові сторони а, в, c’);

goto 2;

end;

readln

end.

При створенні програм використовується вказівка неповного розгалуження. Прикладом задачі, при написанні програми до якої, використовується неповне розгалуження є наступна задача.



Задача 2. Обчислити значення функції

Y=

для заданого значення х.


Запишемо алгоритм розв’язання цієї задачі за допомогою НАМ.



Алг Функція (дійсн х,у)

арг х

рез у

поч

якщо х<-2 або х>2

то у:= х^2+5*х-6

все

якщо х=2 або х=-2

то у:= x^3+3*x^2+8

все

якщо х>-2і x<2

то у:=x^2*sin(x)

все

вивести(х,у)

кін

Тепер запишемо цей алгоритм мовою програмування Паскаль.



Program F2;

uses crt;

var x,y: real;

begin clrscr;

writeln(‘Ввести значення х’);

readln(x);

if(x<-2) or (x>2) then y:=sqr(x)+5*x-6;

if (x=-2) or (x=2) then y:= sqr)x)*x+3*sqr(x)+8;

if (x>-2) and (x<2) then y:= sqr(x)*sin(2*x);

writeln (‘Значення х=’, x:6:2,’значення у=’, y:6:2);

readln

end.

Задача 3. Присвоїти змінній а значення найбільшого з трьох заданих чисел.

Пропоную розв’язати цю задачу бажаючому учню.

Програма мовою Паскаль.

Program F3;

uses crt;

var a,b,c,d: integer;

begin clrscr;

writeln(‘Ввести числа b,c,d’);

readln(b,c,d);

if (b>c) and (b>d) then a:=b;

if (d>b) and (d>c) then a:=d;

if (c>b) and (c>d) then a:=c;

writeln(‘Найбільше число а=’, a);

readln

end.

Пропоную одну з задач набрати на комп’ютері і отримати результат. Клас ділю на групи, кожна група набирає різну задачу, а потім результатами обчислень групи обмінюються.



5. Домашнє завдання. Інформатика. Верлань. §2.5, №12,15 – блок-схеми і програми.

Виставляю оцінки учням, які активно працювали на уроці, мотивуючи їх.



6. Отже, сьогодні ми познайомились з оператором безумовного переходу, навчились його використовувати при розв’язанні задач, навчились працювати з неповним логічним оператором. На наступному уроці ми познайомимось з оператором варіанта. Дякую за співпрацю.


Урок №3
Тема: Застосування умовного оператора. Оператор Case.

Мета: Познайомити учнів з вказівкою вибору сase, навчити використовувати її в програмах, удосконалювати навики і вміння написання алгоритмів з розгалуженням мовою програмування Паскаль, розвивати логічне мислення, уважність і кмітливість.

Тип уроку: урок формування нових знань і умінь.

Обладнання: комп’ютери.
Хід уроку.

  1. Оргмомент. (перевірка готовності комп’ютерів до роботи., відмічаю відсутніх учнів.)

  2. Актуалізація опорних знань:

а) Як записати вказівку неповного розгалуження в НАМ і Паскалі.

б) Коли застосовують вказівку неповного розгалуження.

в) Скільки неповних логічних операторів може бути в програмі.

г) Розв’язати задачу.



Задача1. Створіть словник для перекладу 5-6 іншомовних слів. Уведіть іншомовне слово і отримайте переклад.

Program Word;

var i:integer; word1, word2:string;

label 223,5;

begin

i:=1;


223: writeln(‘ввести іншомовне слово’);

read(word1);

if word1=’bag’ then begin word2:=’портфель’; goto 5; end;

if word1=’sky’ then begin word2:=’небо’; goto 5; end;

if word1=’sun’ then begin word2:=’сонце’; goto 5; end;

if word1=’water’ then begin word2:=’вода’; goto 5; end;

if word1=’motherland’ then begin word2:=’Батьківщина’; goto 5; end;

5: writeln(word1, ‘ – ‘,word2);

i:=i+1;

if i<=5 then goto 223;

readln

end.

3. Вивчення нового матеріалу.

Щоб не використовувати велику кількість операторів if підряд, застосовують оператор вибору сase.

Цей оператор має такий вид:
Сase <вираз> of

<список або діапазон значень 1>: <команда 1>;

< список або діапазон значень 2>: < команда 2>;

...................................................................................

< список або діапазон значень n>: < команда n>

else < команда >

end;


Працює оператор так: <вираз> може бути змінною типу integer, char або byte , але не string. Список або діапазон значень – це записані через кому числа, якщо список, якщо діапазон, то числа записані так 1..10. Діапазон задається в розділі оголошень так: var n: 1..10.Це означає, що змінна n набуває значень 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.

Формула діапазону: <ім’я змінної>: <перше значення>.. <останнє значення>;

Якщо значення виразу співпадає із значення зі списку чи попадає в заданий діапазон, то виконується команда, яка стоїть після двох краток (:) з того рядка, і оператор сase завершується.

Якщо вираз не співпадає із жодним списком чи діапазоном, то виконується команда, яка стоїть після else.

Еlse може не бути. Отже сase може мати повну форму і коротку.

Задача 2. Для заданого місяця року вивести пору року. Місяць задається числом.

Запишем програму для розв’язання цієї задачі, використовуючи оператор сase.



Program Season;

uses crt;

var month: 1..12;

begin clrscr;

writeln (Введіть номер місяця’);

read(month);

сase month of

1,2,12: writeln(‘зима’);

3,4,5: writeln(‘весна’);

6, 7,8: writeln(‘літо’);

9, 10, 11: writeln(‘осінь’);

end;

end.

Якщо замість сase використати неповні логічні оператори, то програма матиме такий вигляд:



Program Season;

uses crt;

var month: integer;

begin clrscr;

writeln (Введіть номер місяця’);

read(month);

if( month=1) or (month=2) or (month=12) then writeln(‘зима’);

if( month=3) or (month=4) or (month=5) then writeln(‘весна’);

if( month=6) or (month=7) or (month=8) then writeln(‘літо’);

if( month=9) or (month=10) or (month=11) then writeln(‘осінь’);

if month >12 writeln(‘помилка’);

readln

end.
Завдання додому. Для заданого номера дня тижня вивести його назву. Написати два варіанта програми.
4. Формування нових вмінь та навичок.

Наступну задачу давайте розв’яжемо разом.



Задача 3. Змоделювати роботу автомата з продажу квитків. Нехай населені пункти позначені номерами 1, 2, 3, 4, 5, 6, 7, 8. Вартість одного квитка до конкретного населеного пункту визначена так:


Cina=

Скільки коштуватиме m квитків до деякого населеного пункту.
Чи можна при складанні програми до цієї задачі використати оператор сase?

В


ираз в операторі сase становитиме номер населеного пункта. В залежності від номера населеного пункта вибиратиметься потрібна ціна квитка.

В програмі вхідними даними буде номер населеного пункта і кількість квитків, вихідними даними буде вартість всіх квитків, ціна квитка буде проміжним даним. Всіх змінних буде чотири.

Програма буде такою:
Program Kvitky;

uses crt;

var k, m, cina, vartist:integer;

begin

clrscr;


writeln(‘Введіть кількість квитків та номер населеного пункту’);

readln(m,k);

case k of

1: cina:=22;

2,3: cina:=35;

4: cina:=50;

5,6: cina:=72;

else cina:=97

end;

vartist:=m*cina;



writeln(m,’ квитків до пункту’, k,’ коштують’,vartist, ‘грн’);

readln;

end.
Пропоную учням одну з задач набрати на комп’ютері і одержати результат, який треба записати у зошит. Так як всі учні поділені на три групи, то до кожної з трьох задач буде отримано результат.
5. Домашнє завдання. Інформатика Верлань. §2.10, задача в зошиті, підготуватись до практичної роботи.
6. Підсумок уроку. Отже, на сьогоднішньому уроці ми вивчили оператор вибору чи варіанту сase. Це дуже зручний оператор, він заміняє декілька логічних операторів, які вкадаються один в одний.

Ваші можливості програмувати розширюються від уроку до уроку. Свій рівень знань ви покажете на наступному уроці, виконуючи практичну роботу.


.

Урок №4



Практична робота №6

Тема: Створення і реалізація програм з розгалуженням.



Мета: Навчити використовувати теоретичний матеріал на практиці, перевірити вміння створювати програму для розв’язання поставленої задачі з використанням вказівки розгалуження та отримувати результат на комп’ютері в программному середовищі Turbo Pascal, розвивати логічне мислення, виховувати бережливе ставлення до комп’ютерної техніки.

Тип уроку: урок використання знань, навиків та умінь.

Метод уроку: практичний.

Обладнання: комп’ютери, інструкції.
Хід уроку
1. Огрмомент (перевірка готовності комп’ютерів до роботи, відмічаю відсутніх учнів).

2. Актуалізація опорних знань.

а) Яка структура Паскаль-програми?

б) Як описується вказівка розгалуження мовою програмування Паскаль?

в) Для чого потрібна мітка в програмі?

г) Як записуються складені умови та складені вказівки в програмі?

3. Повідомлення теми, мети і завдань уроку.

В практичних зошитах учні записують тему практичної роботи „Створення і реалізація програм з розгалуженням”



Завдання для практи чної роботи.

  1. Скласти програму розв’язання задачі згідно з завданням.

  2. Виконати складену програму.

  3. Підготувати і використати тестидля перевірки правильності роботи програми.

  4. Оформити звіт з практичної роботи.


Зразок виконання практичної роботи

ПРАКТИЧНА РОБОТА №6

Тема: Створення і реалізація програм з розгалуженням

Мета: Скласти і виконати програму з розгалуженням.


Завдання.Обчислити податок із заробітної плати в залежності від її величини зв формулою:

0, якщо z<= 460


Р
0,15*z, якщо z>460


=

Програма розв’язання даної задачі мовою програмування Паскаль:


Program Rob6;

uses crt;

var p,z:real;

begin clrscr;

write(‘Введіть значення величини заробітної плати’);

readln(z);

write(‘z=’, z:6:2);

if z<=460 then p:=0

else p:=0.15*z;

write(‘Прибутковий податок’, ‘ p=’,p:6:2,’при z=’,z:6:2);

readln;

end.

Результати виконання програми:

Введіть значення величини заробітної плати z=500

Прибутковий податок р=75.00 при z=500.00
Тестування програми

Р=0.00 при z=300.00

P=120.00 при z=800.00
4. Виконання практичної роботи.
Індивідуальні завдання для практичної роботи

(номер завдання відповідає номеру комп’ютера, закріпленого за учнем)




  1. Дано два числа. Зменшити перше число у два рази, якщо його модуль більше другого, інакше залишити його без змін. (-8,6)

  2. Дано три числа. Знайти найбільше серед них. (20, 40, 60)

  3. Дано три відрізки а, в, с. Скласти програму, яуа визначає, чи існує трикутник з такими сторонами і визначити, який це трикутник (рівнобедрений, рівносторонній, різносторонній).

  4. Сторони трикутника а, в, с. Визначити, який це трикутник: прямокутний, гострокутний, тупокутний. (За наслідками теореми косинусів).

  5. Визначити, чи являється число а парним. Якщо так, то знайти квадрат і куб цього числа.(а=100;а=11)

  6. Визначити, чи є серед цифр заданого тризначного числа однакові.

  7. Визначити, чи дорівнює квадрат заданого тризначного числа кубу суми цифр цього числа.

  8. Дано три числа. Піднесіть до квадрата ті з них, значення яких недодатні. Додатні числа піднесіть до куба.

  9. Визначити, чи попадає точка М(х;у) в коло радіуса R з центром в початку координат. (R=5; М(3;4); R=5; М(2;5)

  10. Дано три додатні числа А, В, С. Визначити, чи кратне трьом число М=(А+В2)С. Якщо воно не кратне трьом, то знайти остачу від ділення М на 3. (5, 3, 2).

  11. Чи являється трикутник з даними сторонами 3, 4, х прямокутним. (х=5; х=6)

Деяким учням дозволяю вибрати завдання легше чи важче. Хто встигне виконати дві задачі отримують найвищі оцінки.

Під час проведення практичної роботи допомагаю учням, перевіряю результати.
5. Завершення практичної роботи, оцінювання знань та умінь учнів.

6. Підсумок уроку. Отже, сьогодні ви самостійно застосували на практиці умовний оператор, створюючи програми для розв’язання поставлених задач. Ви все більше переконуєтесь в тому, що прогамування – це творча і захоплююча робота. Я думаю, що хтось із ваш, можливо, обере її. На наступному уроці ми розпочнемо вивчати квазівку повторення.

Урок №5

Тема: Вказівка повторення та її опис навчальною алгоритмічною мовою та мовою програмування.

Мета: повторити правила опису циклічних алгоритмів за допомогою блок-схем і навчальною алгоритмічною мовою, навчити описувати циклічні алгоритми мовою програмування Паскаль, формувати алгоритмічний стиль мислення, розвивати логічне мислення, підтримувати інтерес до предмету, виховувати бережливість.

Обладнання: комп’ютери, проекційна дошка, презентація.

Тип уроку: комбінований.

Методи: словесний, наочний.
Хід уроку

1. Оргмомент (перевірка комп’ютерів до роботи, перевірка присутніх).

2. Повторення поняття циклу та правил опису циклів навчальною алгоритмічною мовою та за допомогою блок-схем (використовую презентацію).

Цикл це базова структура, яка передбачає повторне виконання дії або блоку дій, якщо виконується певна умова.

Існує три основні типи циклів:



  • з передумовою;

  • з післяумовою

  • із заданою кількістю повторень (з параметром)

Графічно цикл зображується так:




3. Вивчення нового матеріалу.

В Паскалі цикл записують за допомогою трьох алгоритмічних конструкцій: цикл „для”, цикл „поки”, цикл „до”.

Запишемо кожну цю конструкцію за допомогою алгоритмічної мови спочатку, а потім затишем кожен цикл мовою Паскаль.
Цикл ДЛЯ (або for – to – do)
В навчальній алгоритмічній мові записується так:

для і від а до b крок с

пц

серія вказівок



кц
В мові Паскаль вказівка має вигляд:

for <змінна циклу i>:=a to b do <команда>;
Змінну циклу називають параметром. Цикл „для” називають циклом з параметром. Тут a і bцілі числа або вирази, змінну циклу можна позначати будь-якою буквою латинського алфавіту (наприклад і), а – початкове значення параметра, а b – кінцеве значення параметра і. Змінну циклу оголошують завжди змінною цілого типу. На місці <команда> може бути одна проста чи складена команда. Ця команда виконується для значення параметра і=а, потім і=а+1 і так доти, поки і≤ b. Отже, крок зміни параметра циклу рівний одиниці. В циклі for значення параметра і змінюється автоматично. Якщо а= b, то цикл виконається один раз, якщо а>b, то цикл не виконається жодного разу, якщо a-а+1 раз. Цикл for застосовують тоді, коли наперед відома кількість повторень.

Якщо крок зміни параметра -1 то цикл for має вигляд:



for <змінна циклу i>:=a downto b do <команда>; або коротко

for – downto – do,

Тут а>b, перше значення змінної циклу і=а, а наступне і=а-1. Значення параметра не збільшується, у циклі fortodo, а зменшується.



Задача 1. Знайти квадрати і куби всіх натуральних чисел від 20 до 30.

Побудуємо блок-схему алгоритму розв’язання цієї задачі ізапишем за цією схемою програму.




В цикл можна зайти через початок, а вийти з циклу можна будь-коли.

Цикл ПОКИ (або коротко whiledo)
В навчальній алгоритмічній мові записують так:

пц

поки <логічний вираз>

виконувати <команда>

кц
Оператор циклу в мові Паскаль має вигляд:

while <логічний вираз> do <команда>;
Цей оператор використовують, коли наперед невідома кількість повторень і значення параметра циклу міняється з кроком, відмінним від 1. Тут треба знати умову продовження виконання обчислень у циклі. Цей цикл називають циклом з умовою або передумовою.

Цикл працює так:

Обчислюється значення логічного виразу. Якщо логічний вираз істинний, то виконується зазначена команда (проста чи складена), і знову перевіряє логічний вираз, якщо логічний вираз неістинний, то команда не виконується і цикл завершується. Цикл виконається стільки разів, скільки разів буде істинний логічний вираз.

Команда в циклі може не виконатись жодного разу, якщо логічний вираз прийме значення false при першій перевірці.

В циклі „поки” початкове значення параметра треба задати перед початком циклу. Крім пого в самому циклі (в тілі циклу) повинна бути команда зміни значення параметра. В будь-якій програмі цикл for можна замінити циклом while. Він вважається більш універсальним.

Задача 2. Розв’язати попередню задачу за допомогою циклу while.


Побудуємо блок-схему і запишемо програму за нею.



Цикл ДО (коротко repeatuntil)
В навчальній алгоритмічній мові записують так:

пц

< команди>

повторювати до < логічний вираз>

кц
В мові програмування Паскаль має вигляд:

repeat <команди> until <логічний вираз>;
Працює цикл так: спочатку виконуються команди, а потім перевіряється логічний вираз. Якщо умова істинна, то цикл завершується, якщо ні, продовжується виконання циклу. Логічний вираз описує умову виходу з циклу. Тут команди один раз виконаються завжди. Перед словом until кома після орератора не ставиться. Ця вказівка повторення наз ивається циклом з післяумовою.

Задача 3. Розв’яжемо задачу 1 за допомогою циклу „ДО”. Побудуємо блок-схему і запишемо програму.



4. Домашнє завдання. Інформатика. Верлань. §2.6, знати відповіді на питання 1-3.

5. Підсумок уроку. Сьогодні ми вивчили, як записуються цикли в Паскалі. На наступному уроці ми навчимося застосовувати цикли у програмах.

Урок №6

Тема: Розв’язування вправ, обчислення суми, добутку і кількості з допомогою вказівки повторення.



Мета: формувати вміння та навики використовувати вказівку повторення, розвивати логічне мислення, підтримувати інтерес до предмета, виховувати вміння раціонально використовувати час.

Обладнання: комп’ютери.

Тип уроку: урок набуття навичок та умінь.
Хід уроку

1. Огрмомент (перевіряю присутність учнів, включаємо комп’ютери).

2. Актуалізація опорних знань.

а) Що називається циклои?

б) Як працює вказвка повторення ПОКИ?

в) Розкажіть про роботу вказівки повторення ДО?

г) Яка різниця між вказівками повторення ДО і ПОКИ?

д) Який вигляд має вказівка циклу for?

е) Як може змінюватись значення параметра у циклі for?

3. Мотивація навчальної діяльності учнів.

Вказівки повторення всіх типів допомогають розв’язувати задачі, в яких одні і ті самі дії виконуються декілька разів. Прогами з вказівками повторення, запивані в лаконічному виді, забезпечують виконання значних обсягів обчислень, побудову однакових малюнків, тощо.

4. На цьому уроці ми навчимося користуватися вказівкою повторення.

Розв’язати вправи:

а) Знайти значення змінної а, якщо а:=5; for i:=1 to 3 do a:=a*i-2; a:=a+1;



Розв’язання: i:=1; a:=5*1-2=3;

i:=2; a:=3*2-2=4;

i:=3; a:=4*3-2=10;

a:=10+1=11;



Відповідь: 11

б) Знайти значення змінної а, якщо: a:=5; for i:=1 to 3 do begin a:=a*i-2; a:=a+1; end;



Розв’язання: i:=1; a:=5*1-2=3; a:=3+1=4;

i=2; a:=4*2-2=6; a:=6+1=7;

i:=3; a:=7*3-2=19; a:=19+1=20;

Відповідь: 20

в) Знайти значення р, якщо p:=4; while p<10 do p:=2*p+1; p:=p+1;



Розв’язання: p:=4; 4<10 (true) p:=2*4+1=9;

9<10 (true) p:=9*2+1=19;

19<10 (false) p:=19+1=20;

Відповідь: 20

г) Знайти значення змінної s, якщо: s:=1; repeat s:=2*s+2 until s>10;



Розв’язання: s:=1; s:= 2*1+2=4 4>10 (false);

s:= 4*2+2=10; 10>10 (false)

s:=10*2+2=22; 22>10 (true).

Відповідь: 22

Задача 1. Знайти суму n дійсних чисел. Числа вводяться з клавіатури.

Program Suma;

uses crt;

var S, a:real; i,n:integer;

begin clrscr;

writeln(‘Ввести кількість чисел n’);

readln(n);

S:=0;


for i:=1 to n do

begin

writeln(‘Вести дійсне число’);

readln(a);

S:=S+a;


end;

write(‘Сума S=’, S:9:2);

readln

end.

Задача 2. Обчислити добуток всіх натуральних чисел від 1 до n .( n!- факторіал)

n! – це добуток n перших натуральних чисел: 1*2*3*4* ....*n.



Program DOBYTOK;

uses crt;

var n,i:integer;

P:longint;



begin clrscr;

write(‘Ввести натуральне число n=’);

readln(n);

P:=1;


for i:=1 to n do

P:=P*i;


writeln(n, ‘=’,P);

readln;

end.
Примітка. Оскільки число n! (при n≥10) дуже велике, то в розділі опису змінних потрібно для З вказати тип longint.

Результати: 2!=2; 5!=120; 9!=362880; 10!=3628800; 15!=2004310016.



Задача 3. Обчислити добуток перших п’яти елементів послідовності, яка задана формулою: ai=2+|sin3i|

Program Dobytok1;

uses crt;

var s,n:integer; a,d:real;

begin clrscr;

write(‘Ввести кількість елементів n=’)

readln(n);

d:=1;


for i:=1 to n do

begin

a:=2+abs(sin(3*i));

d:=d*a;

end;

writeln(‘добуток=’,d:10:2);

readln;

end.
Кількість обчислюють, як суму. Перед циклом початкове значення кількості к=0, а в циклі виконується оператор к:=к+1.

Задача 4. Скільки елементів послідовності ai=1-Cosi, де і=1....20, задовольняє умову0< ai<1?
Program Kilkist;

uses crt;

var i,n,k:integer; a:real;

begin clrscr;

write(‘Ввести кількість елементів n=’)

readln(n);

k:=0;


for i:=1 to n do

begin

a:=1-Cos(i);



if(a>0) and (a<1) then k:=k+1;

end;

writeln(‘кількість= ‘,k:2);

readln

end.
Один цикл може вкладатися в другий цикл. В такому випадку першим виконується внутрішній цикл.

Пропоную учням набрати одну з програм на комп’ютері і отримати результат. Результати до всіх задач записуєм на дошці, і всі учні записують їх в зошити.


5. Домашнє завдання. Інформатика. Верлань. §2.6, вправа 4(а),5.

6. Підсумок уроку. Отжу, сьогодні ми навчилмсь працювати з вказвкою повторення for. Її ми використали для обчислення суми і добутку чисел, для обчислення кількості. На наступному уроці ми навчимося ми навчимося працювати з вказівками while і repeat.

УРОК №7
Тема: Розв’язування задач та складання програм з використанням вказівки повторення.

Мета: навчити використовувати вказівки while і repeat при створенні програм для поставлених задач, розвивати логічне мислення, підпримувати інтерес до предмету.

Обладнання; комп’ютери.

Тип уроку: урок оволодіння навиками і уміннями.
Хід уроку

1. Оргмомент(перевіряю присутність учнів)

2. Актуалізація опорних знань.

а) Коли застосовують цикли?

б)Як працює цикл while?

в) Як працює цикл repeat?

г) Яка різниця між цими циклами?
3. Перевірка домашнього завдання.

Задача 1. Написати програму для обчислення суми сорока доданків вигляду n-i, де і=1, 2, 3, .......,40, а n – дане число.

Program Suman;

uses crt;

var i,n,S:integer;

begin clrscr;

write(‘Ввести дане число n=’);

readln(n);

S:=0;


for i:=1 to 40 do

S:=S+(n-i);



writeln(‘Сума S=’, S:7);

readln;

end.

Задача 2. Для різних цілих чисел, що вводяться з клавіатури, знайти суму додатних непарних.

Program Sumar;

uses crt;

var n,i,S,a:integer;

begin clrscr;

write(‘Ввести кількість чисел n=’);

readln(n);

S:=0;


for i:=1 to n do

begin writeln(‘Ввести будь-яке ціле число а’);

readln(a);

if (a>o) and (a mod 2<>0) then S;=S+a;

end;

writeln(‘Сума S=’, S:7);

readln;

end.

4. Формування вмінь і навичок.

Сьогодні ми роз’яжемо задачі, де використовують вказівки while і repeat.



Задача1. Знайти добуток елементів числової послідовності ai=1-2Cos3i, і=1,...,12, порахувати кількість додатних членів. Надрукувати номер і значення кожного члена послідовності, а також добуток і кількість додатніх членів.

Розв’язавши цю задачу, ми побачимо, що за допомогою циклів можна створювати таблиці.

Побудуємо блок-схему і запишемо за нею програму.


Задача 2. Протабулювати функцію у=xcosx на проміжку [1;2] з кроком 0,1.

Протабулювати функцію означає створити таблицю, яка складається з значень аргумента і значення функції для цього аргумента.

Побудуємо блок-схему і запишемо за нею програму.


Пропоную учням набрати програми на комп’ютері і отримати результати, а потім обміняться результатами і записати їх в зошит.

5. Домашнє завдання. Інформатика. Верлань. §2.6, задача 6(а,е).

6. Підсумок уроку. Отже, сьогодні ми написали програми з вказівками повторення while і repeat. На наступному уроці у нас буде практична робота, де кожен з вас напише програму до свєї задачі і одержить результат на комп’ютері.



Урок №8

Практична робота №7
Тема: Опис і реалізація найпростіших циклічних програм

Мета: Навчити використовувати набуті знання на практиці, розвивати алгоритмічне і логічне мислення, отримувати результат своєї роботи.

Тип уроку: урок використання умінь та знань.

Метод уроку: практичний.

Обладнання: комп’ютери, інструкції.
Хід уроку

1. Оргмомент (перевірка комп’ютерів до роботи, відмічаю відсутніх учнів).
2. Актуалізація опорних знань.

А) Як записується і виконується вказівка повторення з передумовою?

Б) Як записується і виконується вказівка повторення з післяумовою?

в) Яка різниця між вказівкою повторення з передумовою і вказівкою повторення з післяумовою?

г) Як записується і виконується вказівка повторення з параметром?

Д) Яка величина зміни кроку у вказівці з параметром?


3. Повідомлення мети, теми і завдань уроку.

В зошитах для практичних робіт учні записують тему практичної роботи

„Опис і реалізація найпростіших циклічних програм”.

Завдання до практичної роботи

а) Скласти програму розв’язання задачі згідно з завданням.

б) Набрати програму на комп’ютері і виконати її.

в) Підготувати і виконати тести для перевірки правильності функціонування програми.

г) Оформити звіт з практичної роботи.
4. Виконання практичної роботи.
Завдання для практичної роботи

1-5. Протабулювати функцію f(x) на заданому інтервалі [a;b] з заданим кроком зміни аргумента h.



№п.п

Функція f(x)

Інтервал

Крок

1

x3+3,2x2-5xSin2x

[1;3]

0,2

2

Sin3xCos3x+2,4x2-1/2x

[0;4]

0,4

3

x4-2,5x2+Sin2xCos2x

[1;5]

0,4

4

tg3xSin2x+3,4 x3-2,3x

[0;3]

0,25

5

3x2+Sin4xCos3x-|x-3,6|

[1;4]

0,25

6. Визначити серед десяти натуральних числа кратні трьом. Порахувати кількість цих чисел і надрукувати ці числа.(2, 3, 6, 8, 9, 18, 20, 30, 112, 120)

7. Визначити серед дванадцяти натуральних чисел числа кратні 5. Порахувати кількість цих чисел і надрукувати ці числа. (2, 5, 7, 12, 15, 17,25,315,311,402,500,100)

8. Дано десять чисел. Визначити, скільки серед них від’ємних.

9.Знайти середнє арифметичне число всіх натуральних чисел менших 20.

10.знайти суму натуральних чисел, більших 20 і менших 100, які кратні 3.


5. Завершення практичної роботи, оцінювання знань та вмінь учнів.
6. Підсумок уроку. Під час практичного заняття кожен з вас показав, як він засвоїв тему про вказівку повторення, як вміє застосовувати теоретичні знання на практиці. Дехто добре зрозумів тему, а декому треба ще добре попрацювати, щоб успішно здати тематичну атеатацію.
7. Домашнє завдання. Підготуватися до тематичної атестації з теми „Вказівки розгалуження і повторення”.

Урок №9

Тематична атеатація з теми

Вказівки розгалуження та повторення”

Мета: перевірити засвоєння учнями теми, формувати вміння і навички самостійного оволодіння знаннями, творчо мислити, вміння раціонально розподіляти час.

Тип уроку: урок контролю знань

Тривалість проведення тематичної атестації – 45хв.

Завдання 1-5 розраховані на письмові відповіді, 6- написати програму, 7-творче завдання.

Пропонується два варіанти завдань.



1 варіант

1) Яка з вказівок є вказівкою розгалуження?

а) while x>0 do y:=0;

б) write(x,e);

в) go to 10;

г) if x


2 варіант

1) Яка з вказівок є вказівкою повторення?

a) if k=6 then i:=1 else go to 12;

б) readln(i);

в)for i:=1 to 5 do g:=i*i;

г) r:=abs(y);



2) Серед заданих блок-схем знайти вказівку повторення з передумовою

г)такої блок-схеми немає



2) Серед заданих блок-схем знайти

вказівку повторення з післяумовоюю




г)такої блок-схеми немає


3) Знайти значення логічного виразу

(x>5) and (x<=10), якщо x=5



Знайти значення логічноговиразу

(x>5) or (x<=10), якщо x=5



4) Обчислити а, якшо a:=6;

for i:=1 to 2 do a:=a*i-2;a:=a+1;



4) Обчислити а, якшо a:=6;

for i:=1 to 3 do begin a:=a*i-2;

a:=a-1end;


5) Обчислити р, якщо p:=2;

while p<10 do begin p:=2*p+1;p:=p+1 end;



5) Обчислити р, якщо p:=2;

repeat p:=2*p+1;p:=p+1 until p>10;



6) Скласти програму для обчислення значення функції


для заданого значення х.



6)Скласти програму для обчислення значення функції


для заданого значення х.

7) Обчисліть суму та кількість від’ємних елементів послідовності

1-2Cos4i, якщо в ній 20 членів. Визначити максимальний елемент.




7) Серед перших 20 елементів числової послідовності 4-4Sini визначити додатні елементи, обчислити їх добуток і кількість, а також визначити мінімальний елемент.

Критерії оцінювання знань учнів:

1-3 завдання (початковий рівень) 3 бали

4,5 завдання (середній рівень) 3бали

6 завдання (достатній рівень) 3 бали



7 завдання (високий рівень) 3 бали
Тематична оцінка- це середнє арифметичне оцінок за практичні роботи і тематичної атестації.


База даних захищена авторським правом ©shag.com.ua 2016
звернутися до адміністрації

    Головна сторінка