Циклы в языке программирования Pascal
Читать

Циклы в языке программирования Pascal

Презентация на тему Циклы в языке программирования Pascal к уроку по информатике

Презентация по слайдам:


Слайд #1

Циклы Презентация по программированию Автор: учитель информатики МОУ Плесской СОШ Юдин А.Б. 2011 год

Слайд #2

Часть 1. Виды циклов.

Слайд #3

I. Цикл с параметром. Выполняется заранее определенное количество раз. FOR – для TO – до DO - выполнить ДЛЯ i:=1 ДО N ВЫПОЛНЯТЬ действие; FOR i:=1 TO N DO действие; FOR i:=1 TO N DO BEGIN действие1; действие2; END; FOR i:=N DOWNTO 1 DO действие; Виды циклов. 1 если переменная i убывает если в теле цикла несколько действий если в теле цикла одно действие

Слайд #4

i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие1; действие2; END; FOR i:=1 TO N DO действие1; действие2; Блок-схема цикла с параметром. Виды циклов. 2

Слайд #5

Program n1;   Uses Crt, GraphABC;   var x,y,i:Integer; begin        x:=1;             // устанавливаем координату  Х первой линии        For i:=1 to 64 do begin        // перебираем от 1 до 64                                       Line (x,0,x,400);   // рисуем очередную линию                                       x:=x + 10; // увеличиваем координату на 10                                     end; end. Пример 1. Вывести на экран 64 вертикальные линии. Виды циклов. 3

Слайд #6

II. Цикл с постусловием. Выполняется всегда хотя бы один раз. Выполняется пока условие ложно. REPEAT – повторять UNTIL – до тех пор ПОВТОРЯТЬ действие1; действие2; ДО ТЕХ ПОР (ПОКА УСЛОВИЕ ЛОЖНО); REPEAT действие1; действие2; UNTIL (ПОКА УСЛОВИЕ ЛОЖНО); Виды циклов. 4

Слайд #7

Пример 2. Вывести на экран 64 вертикальные линии. Program n2; Uses Crt, GraphABC; var x:Integer; begin     x:=1;       repeat            Line (x,0,x,400);            x:=x+10;      until (x>640)  end. Виды циклов. 5 повторять до тех пор пока условие ложно

Слайд #8

WHILE (УСЛОВИЕ ИСТИННО) DO BEGIN действие1; действие2; END; III. Цикл с предусловием. Может не выполнится не разу. Выполняется пока условие истинно. WHILE – пока DO – выполнять ПОКА (УСЛОВИЕ ИСТИННО) ВЫПОЛНЯТЬ НАЧАЛО действие1; действие2; КОНЕЦ; Виды циклов. 6

Слайд #9

WHILE (УСЛОВИЕ ИСТИННО) DO BEGIN действие1; действие2; END; условие Действие 1 Действие 2 да нет WHILE (УСЛОВИЕ ИСТИННО) DO действие1; действие2; условие Действие 1 Действие 2 да нет Виды циклов. 7

Слайд #10

Пример 3. Вывести на экран 64 вертикальные линии. Program n3; Uses Crt, GraphABC; var x:Integer; begin      x:=1;        while(x

Слайд #11

Часть 2. Графические задачи на циклы.

Слайд #12

Задача 1. Составить программу выводящую на экран следующее изображение Program n1; Uses Crt, GraphABC; var x,i:Integer; begin x:=1; For i:=1 to 64 do begin line(320,400,x,1); x:=x+10; end; end. Более короткое решение: Program n1; Uses Crt, GraphABC; var x:Integer; begin For x:=1 to 64 do line(320,400,x*10,1); end. Графические задачи на циклы. 9

Слайд #13

Задача 2. Составить программу выводящую на экран следующее изображение Program n2; Uses Crt, GraphABC; var x,y:Integer; begin x:=1; y:=1; repeat Line (x, 0 , 0 , y); x:=x + 16; y:=y + 10; until (x>640); end. В теле цикла могут изменяться две переменные Графические задачи на циклы. 10

Слайд #14

Задача 3. Составить программу выводящую на экран следующее изображение Program n3; Uses Crt,GraphABC; var i,j,x,y:Integer; Begin clrscr; y:=10; for i:=1 to 12 do begin x:=10; for j:=1 to 20 do begin circle (x,y,10); x:=x+30; end; y:=y+30; end; end. Вывод i-ой строки Изменение координаты Y строки Графические задачи на циклы 12

Слайд #15

Часть 3. Расчетные задачи на циклы.

Слайд #16

Построить таблицу значений функции y = 3 sin x + cos 2x на интервале [-1 ; 1] с шагом Δх = 0,1. Задача 1. Program n1; Uses Crt; var x,y,dx:real; begin ClrScr; x:= -1; dx:=0.1; repeat y:= 3*sin(x) + cos(2*x); writeln ('x= ',x:7:5,' y= ',y:7:5); x:=x+dx; until (x>1); end. Расчетные задачи на циклы 13

Слайд #17

Построить таблицу значений функции, на интервале [-10 ; 10] с шагом Δх = 1. Задача 2. Построить таблицу значений функции на интервале [-1; 1] с шагом Δх = 0,1 если функция имеет вид: x+1, при x10); Расчетные задачи на циклы 14

Слайд #18

Program n1; Uses Crt; var x,y,dx:real; begin ClrScr; x:= -1; dx:=0.1; repeat if (x0) then begin y:= 1/x; writeln ('x= ',x:7:5,' y= ',y:7:5); end; x:=x+dx; until (x>1); end. Небольшое отступление: Построить таблицу значений функции y = 1/х на интервале [-1; 1] с шагом 0,1 Program n1; Uses Crt; var x,y,dx:real; begin ClrScr; x:= -1; dx:=0.1; repeat if (x0) then begin y:= 1/x; writeln ('x= ',x,' y= ',y:7:5); end; x:=x+dx; until (x>1); end. Изменим формат вывода Нуля нет! А в место него число в минус шестнадцатой степени. Расчетные задачи на циклы 15

Слайд #19

Program n1; Uses Crt; var x,y,dx:real; begin ClrScr; x:= -1; dx:=0.1; repeat if (abs(x)>1e-12) then begin y:= 1/x; writeln ('x= ',x:7:5,' y= ',y:7:5); end; x:=x+dx; until (x>1); end. Пусть все числа, по модулю меньшие 0,000000000001 будут для нас нулями. Вот одно из возможных решений данной проблемы: Расчетные задачи на циклы 16

Слайд #20

Задача 4. Составить программу вычисления среднего арифметического числовой последовательности. Где количество элементов и сами элементы вводятся с клавиатуры. Program n4; Uses Crt; var i,n:integer; a,s,sr:real; Begin ClrScr; write('N=');readln(n); s:=0; for i:=1 to n do begin write( ‘ Введи [ ‘ , i , ‘ ] = ‘ );Readln(a); s:=s+a; end; sr:=s/n; writeln(‘Среднее арифметическое = ',sr:10:5) end. Математическая запись задачи Результат выполнения программы Расчетные задачи на циклы 17

Слайд #21

Задача 5. Дано целое число N (N>0). Используя один цикл найти сумму 1+ 1/2 + 1/3 +…+1/N Program n1; Uses crt; var s:real; i,n:Integer; begin Clrscr; Write(‘Введи n=');Readln(n); s:=0; For i:=1 to N do s:=s+1/i; writeln('s=',s:10:5); End. Результат очень легко проверить в ручную Расчетные задачи на циклы 18

Слайд #22

Задача 6. Написать программу выводящую на экран все двузначные числа сумма цифр которых равна 10. program n6; Uses Crt; var e,d:integer; begin ClrScr; for d:=1 to 9 do for e:=0 to 9 do if d+e=10 then writeln(d*10+e); end. Расчетные задачи на циклы 19

Слайд #23

Блок-схема к задаче 5 начало D,1,9 E,0,9 d+e=10 Вывод d*10+e конец Тело цикла Внутренний цикл Внешний цикл да нет Расчетные задачи на циклы 20

Слайд #24

Задача 7. (Вычисление суммы бесконечного ряда с определенной точностью). Вычислите значение суммы ряда с точностью Е=0,02 Сумма вычисляется до тех пор, пока очередное слагаемое не станет меньше точности Е Program n7; Uses crt; var s,e:real; i:integer; begin clrscr; s:=0; i:=1; e:=0.02; Repeat s:=s+1/i; Writeln('i=',i,' слагаемое',1/i); i:=i+1; until (e>1/i); writeln('S=',s:10:5); end. Расчетные задачи на циклы 21

Слайд #25

Задача 8. Вычислить площадь фигуры ограниченной линиями: X=1, X=4, Y=0, . Program n8; Uses Crt; Var x,h,s:Real; Begin ClrScr; h:=(4-1)/1000; x:=1; Repeat s:=s+h*1/x; x:=x+h; Until x>4; writeln('Площадь = ',S:10:5); end. Ширина прямоугольника h:=(4-1)/1000; Высота прямоугольника 1/x Площадь одного прямоугольника h*1/x Расчетные задачи на циклы 22

Слайд #26

Задача 9. Найти количество цифр в числе введенном с клавиатуры. Program n8; Uses Crt; Var n:Real; k:Integer; Begin ClrScr; Write ('N= ');readln(n); k:=0; Repeat n:=int(n/10); k:=k+1; Until n

Слайд #27

Часть 4. Всегда ли нужны циклы.

Слайд #28

Задача 10. Найти сумму целых четных чисел от 2 до 100. Program n10; Uses crt; var i,s:Integer; begin Clrscr; s:=0; For i:=2 to 100 do if (i mod 2 = 0) then s:=s+i; writeln('s=',s:10); End. Всегда ли нужны циклы 23

Слайд #29

Program n10; Uses crt; var s:Real; begin Clrscr; s:=(2+100)/2*50; writeln('s=',s:10:5); End. Вспомним формулу суммы n членов арифметической прогрессии Всегда ли нужны циклы 24 Найдем количество n членов в этой последовательности: an=a1+d(n-1) 100=2+2(n-1) 100=2+2n-2 100=2n n=50 Подставим значения в формулу суммы