Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемЛариса Завалишина
1 К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 58. Циклические алгоритмы 1
2 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Цикл с переменной 2 Задача. Вывести все степени двойки от 2 1 до Можно ли сделать с циклом «пока»? ? n:= 2 нц пока вывод n, нс n:= n * 2 кц n:= 2 нц пока вывод n, нс n:= n * 2 кц k:= 1 k <= 10 k:= k + 1 n:= 2 нц для вывод n, нс n:= n * 2 кц n:= 2 нц для вывод n, нс n:= n * 2 кц k от 1 до 10 Переменная k – целая! !
3 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Цикл с переменной 3 Задача. Вывести все степени двойки от 2 1 до Можно ли сделать с циклом « while »? ? n:= 2; while do begin writeln(n); n:= n * 2; end; n:= 2; while do begin writeln(n); n:= n * 2; end; k:= 1; k <= 10 k:= k + 1 n:= 2; for do begin writeln(n); n:= n * 2 end; n:= 2; for do begin writeln(n); n:= n * 2 end; k:= 1 to 10 Переменная k – целая! !
4 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, program forLoop; var n, k, M: integer; begin write ( Введите число шагов цикла: ' ); read ( M ); k:=1; n := 2; while k<=10 do begin write ( n ); n:= n * 2; k:=k+1 end; end.
5 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, program forLoop; var n, k, M: integer; begin write ( 'Введите число шагов цикла: ' ); read ( M ); n := 2; for k:=1 to M do begin write ( n, ' ' ); n:= n * 2 end; end.
6 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Цикл с переменной: другой шаг 6 нц для k от 10 до 1 вывод k*k, нс кц нц для k от 10 до 1 вывод k*k, нс кц шаг -1 цел k целое Что получится? ?
7 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Цикл с переменной: другой шаг 7 for k:= 10 1 do writeln(k*k); for k:= 10 1 do writeln(k*k); downto var k: integer; целое шаг «–1» Шаг может быть равен только 1 или «–1» ! ! Как сделать шаг 2? ? for i:= 1 to 10 do begin writeln(k*k); end; for i:= 1 to 10 do begin writeln(k*k); end; k:= 1; k:= k + 2
8 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, program forLoop; var n, k, M: integer; begin write ( Введите число шагов цикла: ' ); read ( M ); n := 2; for k:=10 downto 1 do write ( k*k ); end.
9 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Сколько раз выполняется цикл? 9 a := 1; for i:=1 to 3 do a := a+1; a := 1; for i:=1 to 3 do a := a+1; a = 4a = 4 a = 4a = 4 a := 1; for i:=3 to 1 do a := a+1; a := 1; for i:=3 to 1 do a := a+1; a = 1a = 1 a = 1a = 1 a := 1; for i:=1 downto 3 do a := a+1; a := 1; for i:=1 downto 3 do a := a+1; a = 1a = 1 a = 1a = 1 a := 1; for i:=3 downto 1 do a := a+1; a := 1; for i:=3 downto 1 do a := a+1; a = 4a = 4 a = 4a = 4
10 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 10 «A»: Найдите все пятизначные числа, которые при делении на 133 дают в остатке 125, а при делении на 134 дают в остатке 111. «B»: Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ную степень (где N – количество цифр в числе) равна самому числу. Например, 153 = Найдите все трёхзначные Армстронга.
11 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 11 «С»: Натуральное число называется автоморфным, если оно равно последним цифрам своего квадрата. Например, 25 2 = 625. Напишите программу, которая получает натуральное число N и выводит на экран все автоморфные числа, не превосходящие N. Пример: Введите N: *1=1 5*5=25 6*6=36 25*25=625 76*76=5776
12 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Вложенные циклы 12 Задача. Вывести все простые числа в диапазоне от 2 до нц для n от 2 до 1000 если число n простое то вывод n, нс все кц нц для n от 2 до 1000 если число n простое то вывод n, нс все кц число n простое нет делителей [2.. n-1 ]: проверка в цикле! Что значит «простое число»? ?
13 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Вложенные циклы 13 Задача. Вывести все простые числа в диапазоне от 2 до для n от 2 до 1000 если число n простое то writeln(n); для n от 2 до 1000 если число n простое то writeln(n); число n простое нет делителей [2.. n-1 ]: проверка в цикле! Что значит «простое число»? ?
14 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Вложенные циклы 14 нц для n от 2 до 1000 count:= 0 если count = 0 то вывод n, нс все кц нц для n от 2 до 1000 count:= 0 если count = 0 то вывод n, нс все кц нц для k от 2 до n-1 если mod(n,k)= 0 то count:= count + 1 все кц вложенный цикл
15 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Вложенные циклы 15 for n:= 2 to 1000 do begin count:= 0; if count = 0 then writeln(n) end; for n:= 2 to 1000 do begin count:= 0; if count = 0 then writeln(n) end; for k:= 2 to n-1 do if n mod k = 0 then count:= count + 1; вложенный цикл
16 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, program Primes; var n, k, M, count: integer; begin write ( Простые числа: ' ); for n:=2 to 1000 do begin count:= 0; for k:= 2 to n-1 do if n mod k = 0 then count:= count + 1; if count = 0 then write ( n, ' ' ) end; end.
17 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, program Primes; var n, k, M, count: integer; begin write ( Введите максимальное число: ' ); read ( M ); write ( Простые числа: ' ); for n:=2 to M do begin count:= 0; k:= 2; while k*k <= n do begin if n mod k = 0 then count:= count + 1; k:= k + 1 end; if count = 0 then write ( n, ' ' ) end end.
18 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Вложенные циклы 18 for i:=1 to 4 do for k:=1 to i do writeln(i, ' ', k); for i:=1 to 4 do for k:=1 to i do writeln(i, ' ', k); Как меняются переменные? ? Переменная внутреннего цикла изменяется быстрее! !
19 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Поиск простых чисел: как улучшить? 19 count:= 0; k:= 2; while do begin if n mod k = 0 then count:= count + 1; k:= k + 1 end; count:= 0; k:= 2; while do begin if n mod k = 0 then count:= count + 1; k:= k + 1 end; while k <= sqrt(n) do begin... end; while k <= sqrt(n) do begin... end; Что плохо? ? while (k*k <= n) and do begin... end; while (k*k <= n) and do begin... end; k*k <= n Как ещё улучшить? ? (count = 0)
20 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 20 «A»: Напишите программу, которая получает натуральные числа A и B (A
21 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 21 «C»: Ввести натуральное число N и вывести все натуральные числа, не превосходящие N и делящиеся на каждую из своих цифр. Пример: Введите N:
22 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ 163, г. Санкт-Петербург ЕРЕМИН Евгений Александрович к.ф.-м.н., доцент кафедры мультимедийной дидактики и ИТО ПГГПУ, г. Пермь
23 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Источники иллюстраций 23 1.old-moneta.ruold-moneta.ru logos.cs.uic.edulogos.cs.uic.edu 6.ru.wikipedia.org ru.wikipedia.org 7. иллюстрации художников издательства «Бином» 8. авторские материалы
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.