Сьогодн і на уроці

12
Сьогодні на уроці. Дата 09.01.2014 Алгоритми з повтореннями. ( 14 год) Урок №1. Алгоритми з повтореннями. Цикл з передумовою. “Любуясь Луной – помните, и Луна совершает циклический алгоритм”

Upload: marged

Post on 20-Jan-2016

61 views

Category:

Documents


0 download

DESCRIPTION

Сьогодн і на уроці. Алгоритми з повторенням и . ( 14 год). Урок №1. Алгоритми з повтореннями . Цикл з передумовою. “Любуясь Луной – помните , и Луна совершает циклический алгоритм”. Дата 09.01.2014. Чому дорівнюватимуть значення виразів: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Сьогодн і на уроці

Сьогодні на уроці.

Дата 09.01.2014

Алгоритми з повтореннями. ( 14 год)

Урок №1. Алгоритми з повтореннями. Цикл з передумовою.

“Любуясь Луной – помните, и Луна совершает циклический алгоритм”

Page 2: Сьогодн і на уроці

Чому дорівнюватимуть значення виразів:а) 543 mod 10 + 47 mod 10

б) 234 div 100 + 234 mod 100

в) (543 div 10) mod 10 + 47 mod 10

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

Page 3: Сьогодн і на уроці
Page 4: Сьогодн і на уроці

uses crt; var n,a,s:integer; begin clrscr; writeln('vvecti chislo'); readln(n);s:=0;a:=n mod 10;s:=s+a;n:=n div 10;a:=n mod 10;s:=s+a;n:=n div 10;a:=n mod 10;s:=s+a;n:=n div 10;writeln('summa cifr=',s); end.

Як слід діяти, коли кількість цифр в числі невідома?

a:=n mod 10; - знаходимо останню цифру числаs:=s+a; - додаємо його до сумиn:=n div 10; - зменшуємо число в 10 разів (відкидаємо

останню цифру)

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

Page 5: Сьогодн і на уроці

n s as:=0; 1245 0 0

1-ий разa:=n mod 10;

5

s:=s+a; 5n:=n div 10; 124

2-ий разa:=n mod 10;

4

s:=s+a; 9n:=n div 10; 12

3-ий разa:=n mod 10;

2

s:=s+a; 11n:=n div 10; 1

4-ий разa:=n mod 10;

1

s:=s+a; 12n:=n div 10; 0

висновок: вказану послідовність дій можна повторювати, якщо число n більше нуля.

Page 6: Сьогодн і на уроці

Ввесті n

Початок

S:=0

n>=0ТакНі

a:=n mod 10

S:=S+a

n:=n div 10

Вивести S

Кінець

Алгоритм даної задачі у вигляді блок-схеми:

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

Page 7: Сьогодн і на уроці

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

Його структура така:While<логічний вираз> do

begin<тіло циклу>end;

умова ТакНі

Список дій

Page 8: Сьогодн і на уроці

Uses crt;Var n,a,s: integer;Begin clrscr;Write(‘vvesti n--’); readln(n);s:=0;while n>0 doBegina:=n mod 10;s:=s+a;n:=n div 10;end;writeln(‘S=’,s);readln;End.

В даному прикладі є змінна n, яка всередині циклу змінює своє значення. Ця ж змінна фігурує в логічному виразі. Взагалі, при реалізації циклу слід подбати про те, щоб в середині тіла циклу була передбачена зміна величини, що фігурує в логічному виразі, бо інакше можлива ситуація, коли тіло циклу буде виконуватись нескінчену кількість разів. Ця ситуація має назву зациклення.

Page 9: Сьогодн і на уроці

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

Page 10: Сьогодн і на уроці

Задача 2: Знайти значення суми S=1+2+3+…+n.

Для розв’язування цієї задачі нам потрібні змінні n, s, a. Яке призначення змінних n, s зрозуміло. А змінна а – „ біжуча” змінна, яка буде змінювати своє значення від 1 до n. Початкове значення змінної а=1.

В тілі циклу потрібно додавати значення „біжучої” змінної до суми і збільшувати її значення на 1.

Цикл потрібно виконувати за умови a<=n.

Page 11: Сьогодн і на уроці

a<=nТакНі

S:=S+a; a:=a+1;

S:=0;

a:=1

Uses crt;Var n,a,s: integer;Begin clrscr;Write(‘vvesti n-->’); readln(n);s:=0;a:=1;while a<=n doBegins:=s+a;a:=a+1;end;writeln(‘S=’,s);readln;End.

Page 12: Сьогодн і на уроці