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

Презентация:



Advertisements
Похожие презентации
Организация повторений в Паскале. Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.
Advertisements

Тема: Цикл с параметром (цикл «Для») На естественном языке Для i от А до В повторять Тело цикла i,a,b- параметры цикла тело цикла – это команды, которые.
1 Программирование на языке Паскаль Циклы. 2 Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов.
Организация повторений в Паскале. i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие 1; действие 2; END; FOR i:=1.
Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
Pascal Алгоритмы циклической структуры, программирование на языке Pascal 9 класс.
АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ В TURBO PASCAL Условие Оператор ДаНет Учитель информатики: Коваленко Татьяна Викторовна
Pascal Алгоритмы циклической структуры, программирование на языке Pascal Часть 2 8 «Б» и 10 «Б» классы.
Программирование на языке Паскаль. 3 Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл.
Pascal Алгоритмы циклической структуры, программирование на языке Pascal 9 класс.
Циклы на языке Pascal повторение. Циклы позволяют многократно выполнять одну или группу команд, причем в тексте программы нет необходимости записывать.
Циклические программы Информатика и ИКТ 9 класс Гимназия 1 г. Новокуйбышевска Учитель информатики: Красакова О.Н.
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
1 Программирование на языке Паскаль Тема 4. Циклы.
Операторы цикла © М.Е.Макарова
ЦИКЛ «ДО» i:=1,n действия … FOR i:=1 TO n DO Begin Действия End; …
ОПЕРАТОРЫ ПОВТОРА (ЦИКЛА). ЦИКЛ-одна из важнейших алгоритмических структур. ЦИКЛ представляет собой последовательность операторов, которая выполняется.
Цикл. Виды циклов.
1 Программирование на языке Паскаль 1. Циклы с параметром.
Оператор цикла с предусловием. Оператор цикла с предусловием используется в тех случаях, когда заранее неизвестно число повторений цикла. Форма записи.
Транксрипт:

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

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

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 убывает если в теле цикла несколько действий если в теле цикла одно действие

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

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

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

Пример 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 повторять до тех пор пока условие ложно

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

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

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

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

Задача 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

Задача 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

Задача 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

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

Построить таблицу значений функции 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

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

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

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, будут для нас нулями. Вот одно из возможных решений данной проблемы: Расчетные задачи на циклы 16

Задача 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

Задача 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

Задача 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

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

Задача 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

Задача 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

Задача 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

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

Задача 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

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