1 / 12

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

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

marged
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Чому дорівнюватимуть значення виразів: а) 543 mod 10 + 47 mod 10 б) 234 div 100 + 234 mod 100 в) (543 div 10) mod 10 + 47 mod 10 Задача 1: Знайти суму цифр тризначного натурального числа, що вводиться з клавіатури.

  3. Як слід діяти, коли кількість цифр в числі невідома? 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 разів (відкидаємо останню цифру) Тепер, очевидно, що для будь-якого натурального числа задачу знаходження суми його цифр можна розв’язати: треба повторити послідовність цих операторів стільки разів - скільки цифр в числі

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

  5. Алгоритмданої задачі у вигляді блок-схеми: Початок Ввестіn S:=0 Ні Так n>=0 a:=n mod 10 Бачимо, що для даної задачі, певну послідовність дій треба повторити. S:=S+a n:=n div 10 Вивести S Кінець

  6. Ні Так умова Список дій В мові Паскаль є три види оператора циклу. І сьогодні ми знайомимось з першим з них, який має назву „цикл з передумовою”. Його структура така: While<логічний вираз> do begin <тіло циклу> end;

  7. Вданому прикладі є змінна n, яка всередині циклу змінює своє значення. Ця ж змінна фігурує в логічному виразі. Взагалі, при реалізації циклу слід подбати про те, щоб в середині тіла циклу була передбачена зміна величини, що фігурує в логічному виразі, бо інакше можлива ситуація, коли тіло циклу буде виконуватись нескінчену кількість разів. Ця ситуація має назву зациклення. Uses crt; Varn,a,s: integer; Begin clrscr; Write(‘vvesti n--’); readln(n); s:=0; while n>0 do Begin a:=n mod 10; s:=s+a; n:=n div 10; end; writeln(‘S=’,s); readln; End.

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

  9. Задача 2: Знайти значення суми S=1+2+3+…+n. Для розв’язування цієї задачі нам потрібні змінні n, s, a. Яке призначення змінних n, s зрозуміло. А змінна а – „ біжуча” змінна, яка буде змінювати своє значення від 1 до n. Початкове значення змінної а=1. В тілі циклу потрібно додавати значення „біжучої” змінної до суми і збільшувати її значення на 1. Цикл потрібно виконувати за умови a<=n.

  10. Ні Так a<=n S:=S+a; a:=a+1; Uses crt; Varn,a,s: integer; Begin clrscr; Write(‘vvesti n-->’); readln(n); s:=0;a:=1; while a<=n do Begin s:=s+a; a:=a+1; end; writeln(‘S=’,s); readln; End. S:=0; a:=1

More Related