- Презентации
- Презентация по информатике с методическим сопровождением Циклы в языке программирования Pascal
Презентация по информатике с методическим сопровождением Циклы в языке программирования Pascal
Автор публикации: Попова Е.Н.
Дата публикации: 22.05.2016
Краткое описание:
1
Циклы Презентация по программированию 2015 год
2
Часть 1. Виды циклов.
0
Благодаря этой рекламе сайт может продолжать свое существование, спасибо за просмотр.
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<,640) do begin Line (x,0,x,400), x:=x+10, end, end. Виды циклов. 8 повторять пока Х меньше 640
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, при x<,-0.5 Y= x2 , при -0.5<,=x<,=0.5 x -2, при x>,0.5 Задача 3. repeat if (x<,-0.5) then y:=x+1, if (x>,=-0.5) and (x<,=0.5) then y:=x*x, if (x>,0.5) then y:=x-2, writeln (x= ,x:7:5, y= ,y:7:5), x:=x+dx, until (x>,1), repeat if (x<,>,1) then begin y:= (x+1)/(1-x), writeln (x= ,x:7, y= ,y:7:5), end, x:=x+dx, until (x>,10), Расчетные задачи на циклы 14
18
Program n1, Uses Crt, var x,y,dx:real, begin ClrScr, x:= -1, dx:=0.1, repeat if (x<,>,0) 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 (x<,>,0) 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<,0.1, writeln(Кол-во = ,k:5), end. Расчетные задачи на циклы 23 Если n имеет тип integer то эту строку можно записать так: n:=n div 10,
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 Подставим значения в формулу суммы