Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему При решении многих задач вычислительный процесс имеет циклический характер.

Содержание

В языке Паскаль имеется три вида операторов цикла:Оператор цикла с параметром;Оператор цикла с предусловием;Оператор цикла с постусловием.Операторы для записи циклов являются составными, так как в их состав входят другие операторы.
При решении многих задач вычислительный процесс имеет циклический характер.Это означает, что часть В языке Паскаль имеется три вида операторов цикла:Оператор цикла с параметром;Оператор цикла В языке программирования Turbo Pascal они выполняются с помощью разных операторов. Повторяющиеся вычисления записываются всего лишь один раз.Вход в цикл возможен только через Оператор цикла с параметром используется в тех случаях, когда заранее известно, сколько For i:= a1 to a2 do   begin 0Найти сумму 4 произвольных чисел.. . .S := 0;For i := 1 ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ КОМАНДОПЕРАТОРА  FOR ...TO ...DO... Определяются значения переменных a1 и В операторе For ... значение счетчика может не только увеличиваться, но и Задача 1. Написать программу, которая вычисляет сумму положительных из n введенных с Задача 2. Написать программу, выводящую на экран степени числа 2 (от 0 Сколько раз будет выполнено тело цикла? for i:= –5 to 5 do Вопросы:Можно ли в теле цикла использовать  тоже   цикл? Сколько раз выполняется цикл?a := 1;for i:=1 to 3 do a := Задача: Вычислить S=1+2+3+ … +nProgram zadacha;  var n,s,i:integer;Begin  cls; Оператор цикла с предусловием используется в тех случаях, когда заранее неизвестно число ...While условие do  Begin   тело цикла  End;... истинно. Задача 3. Найти количество цифр в введенном с клавиатуры числе (n > Задача: Известна сумма S1, положенная в банк и годовая процентная ставка P. Сколько раз выполняется цикл?a := 4; b := 6;while a < b Цикл с последующим условием используется в тех случаях, когда заранее неизвестно число ...Repeat тело цикла until условие; ... Тело цикла выполняется пока условие ложно. Задача 4. Найти количество цифр в введенном с клавиатуры числе (n > Сколько раз выполняется цикл?a := 4; b := 6;repeat a := a Алгоритм ЕвклидаПусть x и y одновременно не равные нулю целые неотрицательные числа Алгоритм Евклида изображен блок-схемой «цикл с постусловием»Запишите его на языке Turbo Pascal.Program Пример 1: Распечатать числа Фибоначчи от 1 до n. (Каждое число в Пример 2: Написать программу нахождения наибольшего общего делителя (НОД) двух натуральных чисел.program Задача: Ввести целое число и определить число цифр в нем.Идея решения: Отсекаем началонетдаn >= 0?count := 0;count := count + 1;  n :=
Слайды презентации

Слайд 2 В языке Паскаль имеется три вида операторов цикла:
Оператор

В языке Паскаль имеется три вида операторов цикла:Оператор цикла с параметром;Оператор

цикла с параметром;
Оператор цикла с предусловием;
Оператор цикла с постусловием.
Операторы

для записи циклов являются составными, так как в их состав входят другие операторы.

Слайд 3 В языке программирования Turbo Pascal они выполняются с

В языке программирования Turbo Pascal они выполняются с помощью разных операторов.

помощью разных операторов.


Слайд 4 Повторяющиеся вычисления записываются всего лишь один раз.
Вход в

Повторяющиеся вычисления записываются всего лишь один раз.Вход в цикл возможен только

цикл возможен только через его начало.
Переменные оператора цикла должны

быть определены до входа в циклическую часть.
Необходимо предусмотреть выход из цикла: или по естественному его окончанию, или по оператору перехода.

Для всех операторов цикла характерна следующая особенность:

Если этого не предусмотреть, то циклические вычисления будут повторяться бесконечно. В этом случае говорят, что произошло «зацикливание» выполнения программы.


Слайд 5 Оператор цикла с параметром используется в тех случаях,

Оператор цикла с параметром используется в тех случаях, когда заранее известно,

когда заранее известно, сколько раз должна повториться циклическая часть

программы.

Оператор цикла имеет вид:
FOR I:=m1 TO m2 DO
Begin
Операторы циклической части программы;
End;

m1

FOR - для
TO - до
DO - выполнить

I – параметр цикла,
m1,m2 – начальное и конечное значения параметра цикла

Возможен следующий вид:
FOR I:=m1 DOWNTO m2 DO
Begin
Операторы циклической части программы;
End;

m1>m2


Слайд 6 For i:= a1 to a2 do

For i:= a1 to a2 do  begin   тело

begin
тело цикла

end;

i - параметр цикла, выполняет роль счетчика;
a1 - начальное значение счетчика;
a2 - конечное значение счетчика.

Назад


Слайд 7 0
Найти сумму 4
произвольных чисел.
. . .
S :=

0Найти сумму 4 произвольных чисел.. . .S := 0;For i :=

0;
For i := 1 to 4 do
Begin

Write(‘x=‘);
Readln(x);
s := s + x;
End;
. . .

i

x

s

1

1≤ 4

?

7

7

2

2 ≤ 4

20

13

3

3 ≤ 4

41

61

4

4 ≤ 4

8

69

5

5 ≤ 4


Слайд 8 ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ КОМАНД
ОПЕРАТОРА FOR ...TO ...DO...
Определяются

ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ КОМАНДОПЕРАТОРА FOR ...TO ...DO... Определяются значения переменных a1 и

значения переменных a1 и a2;
Переменной i присваивается значение
переменной

a1;
Проверяется условие выполнения тела цикла i ≤ a2;
Если это условие истинно, то выполняется тело цикла;
Увеличивается значение переменной i на 1;
Переход к пункту 3.
Тело цикла будет выполнено a2 – a1 + 1 раз.

Слайд 9 В операторе For ... значение счетчика может не

В операторе For ... значение счетчика может не только увеличиваться, но

только увеличиваться, но и уменьшаться.
В этом случае оператор выглядит

так:

Условие выполнения тела цикла: i ≥ a1.

Тело цикла будет выполнено a2 – a1 + 1 раз.


Слайд 10 Задача 1. Написать программу, которая вычисляет сумму положительных

Задача 1. Написать программу, которая вычисляет сумму положительных из n введенных

из n введенных с клавиатуры целых чисел.
Program summa;
Var i,

n, x, s: integer;
Begin
Writeln (‘ввести количество чисел’);
Readln(n);
s :=0;
For i := 1 to n do
Begin
Writeln(‘ввести число’);
Readln(x);
If x > 0 then s := s + x;
End;
Writeln (‘сумма >0 =‘, s);
Readln;
End.

Переменная-счетчик
должна быть целого
типа;

Начальное значение
суммы должно быть
равно 0.

Не рекомендуется
в теле цикла
изменять значение
переменной-счетчика.


Слайд 11 Задача 2. Написать программу, выводящую на экран степени

Задача 2. Написать программу, выводящую на экран степени числа 2 (от

числа 2 (от 0 до 10) в виде таблицы.
Program

stepen2;
Var i, x: integer;
Begin
Writeln (‘Tabliza’);
Writeln (‘---------------------------’);
x :=1;
For i := 0 to 10 do
Begin
Writeln (‘2^’, i:2, ‘=‘, x:5);
x := x*2;
Writeln;
End;
Readln;
End.

Слайд 12 Сколько раз будет выполнено тело цикла?
for i:=

Сколько раз будет выполнено тело цикла? for i:= –5 to 5

–5 to 5 do тело цикла;
for i:= 6 to

2 do тело цикла;
for i:= 3 to 3 do тело цикла;
for i:= 3 downto 4 do тело цикла;
for i:= 3 downto 1 do тело цикла;

Вопросы:

Верно:
11 раз
0 раз
1 раз
0 раз
3 раза

Какого типа должны быть параметр цикла, его начальное и конечное значения?

Можно ли изменять конечное значение
переменной-счетчика в теле цикла?


Слайд 13 Вопросы:
Можно ли в теле цикла использовать тоже

Вопросы:Можно ли в теле цикла использовать тоже  цикл?  Такой


цикл?
Такой цикл называется

вложенным.

Что должно появиться на экране в результате выполнения следующего фрагмента программы?

Какой цикл можно назвать внешним,
а какой – внутренним?


Слайд 14 Сколько раз выполняется цикл?
a := 1;
for i:=1 to

Сколько раз выполняется цикл?a := 1;for i:=1 to 3 do a

3 do a := a+1;
a = 4
a := 1;
for

i:=3 to 1 do a := a+1;

a = 1

a := 1;
for i:=1 downto 3 do a := a+1;

a = 1

a := 1;
for i:=3 downto 1 do a := a+1;

a = 4


Слайд 15 Задача: Вычислить S=1+2+3+ … +n
Program zadacha;
var

Задача: Вычислить S=1+2+3+ … +nProgram zadacha; var n,s,i:integer;Begin cls; write(‘введите натуральное

n,s,i:integer;
Begin
cls;
write(‘введите натуральное число n=’);

readln(n);
s:=0;
for i:=1 to n do s:=s+i;
writeln(‘сумма=’,s)
End.

Слайд 16 Оператор цикла с предусловием используется в тех случаях,

Оператор цикла с предусловием используется в тех случаях, когда заранее неизвестно

когда заранее неизвестно число повторений цикла.
Форма записи оператора цикла

с предусловием:

WHILE логическое выражение DO
Begin
операторы циклической части программы;
End;

WHILE - пока
DO - выполнить

Оператор выполняется до тех пор пока логическое выражение (условие) имеет значение истина, прекращает выполняться, если логическое выражение принимает значение ложь.


Слайд 17 ...
While условие do
Begin
тело

...While условие do Begin  тело цикла End;... истинно. Тело цикла

цикла
End;
...
истинно.
Тело цикла выполняется,
пока

условие

Чтобы не было
зацикливания, переменные,
входящие в условие, должны
изменяться в теле цикла.


Слайд 18 Задача 3. Найти количество цифр в введенном с

Задача 3. Найти количество цифр в введенном с клавиатуры числе (n

клавиатуры числе (n > 0).
. . .
Write(‘n=‘);
Readln(n);

m := n; k :=0;
While m <> o do
Begin
m := m div 10;
k := k +1;
End;
Writeln (‘количество цифр в числе‘, n, ‘=‘, k);
Readln;
End.

n

m

k

5

3

7

2

0

1

3

2

4

Ответ:


Слайд 19 Задача: Известна сумма S1, положенная в банк и

Задача: Известна сумма S1, положенная в банк и годовая процентная ставка

годовая процентная ставка P. Через сколько лет накопится сумма

S2 ?

program bank;
var
s1,s2,p:real;
g:integer;
begin
write('Введите начальную сумму ’); readln(s1);
write(’Введите конечную сумму ’); readln(s2);
write(’Введите процентную ставку ’); readln(p);
g:=0;
while s1 begin
s1:=s1 + s1 * p / 100;
g:=g + 1;
end;
writeln(’До накопления суммы пройдёт ’,g,’ лет’);
end.


Слайд 20 Сколько раз выполняется цикл?
a := 4; b :=

Сколько раз выполняется цикл?a := 4; b := 6;while a <

6;
while a < b do a := a +

1;

2 раза
a = 6

a := 4; b := 6;
while a < b do a := a + b;

1 раз
a = 10

a := 4; b := 6;
while a > b do a := a + 1;

0 раз
a = 4

a := 4; b := 6;
while a < b do a := a - 1;

зацикливание


Слайд 21 Цикл с последующим условием используется в тех случаях,

Цикл с последующим условием используется в тех случаях, когда заранее неизвестно

когда заранее неизвестно число повторений цикла.
Оператор цикла с постусловием

имеет вид:

REPEAT
Операторы циклической части программы
UNTIL логическое выражение;

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

Операторы циклической части выполняются повторно (по крайней мере 1 раз), до тех пор, пока значение логического выражения ложно.

Условием прекращения циклических вычислений является истинное значение логического выражения.

ИТАК, сначала выполняется циклическая часть, а затем проверяется условие.


Слайд 22 ...
Repeat тело цикла until условие;
...
Тело

...Repeat тело цикла until условие; ... Тело цикла выполняется пока условие ложно.

цикла выполняется пока условие
ложно.


Слайд 23 Задача 4. Найти количество цифр в введенном с

Задача 4. Найти количество цифр в введенном с клавиатуры числе (n

клавиатуры числе (n > 0).

Решим эту задачу с оператором Repeat ...

. . .
Write(‘n=‘);
Readln(n);
m := n; k :=0;

Repeat
m := m div 10;
k := k +1;
Until m = 0;
Writeln (‘количество цифр в числе‘, n, ‘=‘, k);
Readln;
End.

Операторные скобки (begin ... end)
здесь не нужны;

2. Тело цикла выполнится хотя бы раз независимо от условия.


Слайд 24 Сколько раз выполняется цикл?
a := 4; b :=

Сколько раз выполняется цикл?a := 4; b := 6;repeat a :=

6;
repeat a := a + 1 until a >

b;

3 раза
a = 7

a := 4; b := 6;
repeat a := a + b until a > b;

1 раз
a = 10

a := 4; b := 6;
repeat a := a + b until a < b;

зацикливание

a := 4; b := 6;
repeat b := a - b until a < b;

2 раза
b = 6

a := 4; b := 6;
repeat a := a + 2 until a < b;

зацикливание


Слайд 25 Алгоритм Евклида
Пусть x и y одновременно не равные

Алгоритм ЕвклидаПусть x и y одновременно не равные нулю целые неотрицательные

нулю
целые неотрицательные числа и пусть x  y.


Если y = 0, то НОД (x, y) = x, а если y ≠ 0,
то для чисел x, y, и r, где r – остаток от деления
x на y, выполняется равенство
НОД (x, y)= НОД(y, r).
Например, пусть x = 48, а y = 18.
НОД(48, 18) = НОД(18, 12) = НОД(12, 6) =
НОД(6, 0) = 6.

Алгоритм Евклида – это алгоритм нахождения наибольшего
общего делителя (НОД) двух целых неотрицательных чисел.


Слайд 26 Алгоритм Евклида изображен
блок-схемой «цикл с постусловием»
Запишите его

Алгоритм Евклида изображен блок-схемой «цикл с постусловием»Запишите его на языке Turbo

на языке Turbo Pascal.
Program NOD;
Var x, y : integer;
Begin

Write(‘vvod x, y’);
Readln (x, y);
Repeat
if x > y then x := x mod y
else y := y mod x
Until (x = 0) or (y = 0);
Writeln (‘NOD=‘, x + y);
Readln;
End.

Слайд 27 Пример 1: Распечатать числа Фибоначчи от 1 до

Пример 1: Распечатать числа Фибоначчи от 1 до n. (Каждое число

n. (Каждое число в последовательности, начиная с третьего, получается

сложением двух предыдущих чисел. Например, 1,1,2,3,5,8,13,21,…).

program primer_1;
var a,b,c,n,i:integer;
begin
cls;
writeln(‘введите число n’);
readln(n);
a:=1; b:=1;
writeln (a,b);
i:=3;
repeat
c:=a+b;
writeln(c);
a:=b; b:=c;
i:=i+1
until i>n
end.



Слайд 28 Пример 2: Написать программу нахождения наибольшего общего делителя

Пример 2: Написать программу нахождения наибольшего общего делителя (НОД) двух натуральных

(НОД) двух натуральных чисел.
program prim_2;
var
x,y:integer;
begin
cls;

writeln('Введите x и y '); readln(x,y);
repeat
if x>y then x:=x mod y
else y:=y mod x
until (x=0) or (y=0);
writeln('НОД=',x+y);
end.

Слайд 29 Задача: Ввести целое число и определить число цифр

Задача: Ввести целое число и определить число цифр в нем.Идея решения:

в нем.
Идея решения: Отсекаем последовательно последнюю цифру, увеличиваем счетчик.




Проблема:

Неизвестно, сколько шагов надо сделать.
Решение: Надо остановиться, когда n = 0, т.е. надо делать «до тех пор, пока не n >= 0».

  • Имя файла: pri-reshenii-mnogih-zadach-vychislitelnyy-protsess-imeet-tsiklicheskiy-harakter.pptx
  • Количество просмотров: 83
  • Количество скачиваний: 0
- Предыдущая В гости к весне
Следующая - Скелет