Презентация "Циклы в языке программирования Pascal" - скачать презентации по Информатике

Содержание

Слайд 2

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

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

Слайд 3

I. Цикл с параметром. Выполняется заранее определенное количество раз. FOR –

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,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; // устанавливаем

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. Цикл с постусловием. Выполняется всегда хотя бы один раз. Выполняется

II. Цикл с постусловием.
Выполняется всегда хотя бы один раз.
Выполняется пока условие

ложно.

REPEAT – повторять
UNTIL – до тех пор

ПОВТОРЯТЬ
действие1;
действие2;
ДО ТЕХ ПОР (ПОКА УСЛОВИЕ ЛОЖНО);

REPEAT
действие1;
действие2;
UNTIL (ПОКА УСЛОВИЕ ЛОЖНО);

Виды циклов. 4

Слайд 7

Пример 2. Вывести на экран 64 вертикальные линии. Program n2; Uses

Пример 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
BEGIN
действие1;
действие2;
END;

III. Цикл с предусловием.
Может

не выполнится не разу.
Выполняется пока условие истинно.

WHILE – пока
DO – выполнять

ПОКА (УСЛОВИЕ ИСТИННО) ВЫПОЛНЯТЬ
НАЧАЛО
действие1;
действие2;
КОНЕЦ;

Виды циклов. 6

Слайд 9

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

WHILE (УСЛОВИЕ ИСТИННО) DO
BEGIN
действие1;
действие2;
END;

условие

Действие 1

Действие 2

да

нет

WHILE (УСЛОВИЕ

ИСТИННО) DO
действие1;
действие2;

условие

Действие 1

Действие 2

да

нет

Виды циклов. 7

Слайд 10

Пример 3. Вывести на экран 64 вертикальные линии. Program n3; Uses

Пример 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. Графические задачи на циклы.

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

Слайд 12

Задача 1. Составить программу выводящую на экран следующее изображение Program n1;

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

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

Задача 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. Расчетные задачи на циклы.

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

Слайд 16

Построить таблицу значений функции y = 3 sin x + cos

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

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

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;

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. Составить программу вычисления среднего арифметического числовой последовательности. Где количество

Задача 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). Используя один цикл найти

Задача 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. Написать программу выводящую на экран все двузначные числа сумма

Задача 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 конец

Блок-схема к задаче 5

начало

D,1,9

E,0,9

d+e=10

Вывод
d*10+e

конец

Тело цикла

Внутренний цикл

Внешний цикл

да

нет

Расчетные задачи на циклы

20
Слайд 24

Задача 7. (Вычисление суммы бесконечного ряда с определенной точностью). Вычислите значение

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

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

Задача 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. Всегда ли нужны циклы.

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

Слайд 28

Задача 10. Найти сумму целых четных чисел от 2 до 100.

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