К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 58. Циклические алгоритмы 1.

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



Advertisements
Похожие презентации
К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 58. Циклические алгоритмы 1.
Advertisements

К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 63. Алгоритмы обработки массивовАлгоритмы обработки массивов.
К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 57. Ветвления 1.
К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 64. Сортировка 1.
К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 62. МассивыМассивы.
К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 66. Символьные строки 1.
1 Программирование на языке Паскаль Тема: Циклы по счётчику. © К.Ю. Поляков,
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
1 Программирование на языке Паскаль Тема 2. Ветвления.
Программирование на языке Паскаль. 3 Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл.
К.Ю. Поляков, Е.А. Ерёмин, 2013 Решение вычислительных задач на компьютере § 70. Решение уравнений 1.
1 Программирование на языке Паскаль Тема 4. Циклы.
1 Программирование на языке Паскаль Циклы. 2 Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов.
К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 59. Процедуры 1.
Цикл со счетчиком. Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл с неизвестным числом.
1 Программирование на языке Паскаль 1. Циклы с параметром.
ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ НАЧАЛА ПРОГРАММИРОВАНИЯ.
Урок информатики 9 физико-математический класс.
К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 54. Алгоритм и его свойстваАлгоритм и его свойства § 55. Простейшие программыПростейшие.
Знакомство с языком Паскаль Структура программы Ветвление на Паскале Циклические программы Пример линейной программы Пример программы с ветвлением Пример.
Транксрипт:

К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 58. Циклические алгоритмы 1

Алгоритмизация и программирование, Паскаль, 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 – целая! !

Алгоритмизация и программирование, Паскаль, 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 – целая! !

Алгоритмизация и программирование, Паскаль, 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.

Алгоритмизация и программирование, Паскаль, 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.

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Цикл с переменной: другой шаг 6 нц для k от 10 до 1 вывод k*k, нс кц нц для k от 10 до 1 вывод k*k, нс кц шаг -1 цел k целое Что получится? ?

Алгоритмизация и программирование, Паскаль, 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

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, program forLoop; var n, k, M: integer; begin write ( Введите число шагов цикла: ' ); read ( M ); n := 2; for k:=10 downto 1 do write ( k*k ); end.

Алгоритмизация и программирование, Паскаль, 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 «A»: Найдите все пятизначные числа, которые при делении на 133 дают в остатке 125, а при делении на 134 дают в остатке 111. «B»: Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ную степень (где N – количество цифр в числе) равна самому числу. Например, 153 = Найдите все трёхзначные Армстронга.

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 11 «С»: Натуральное число называется автоморфным, если оно равно последним цифрам своего квадрата. Например, 25 2 = 625. Напишите программу, которая получает натуральное число N и выводит на экран все автоморфные числа, не превосходящие N. Пример: Введите N: *1=1 5*5=25 6*6=36 25*25=625 76*76=5776

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Вложенные циклы 12 Задача. Вывести все простые числа в диапазоне от 2 до нц для n от 2 до 1000 если число n простое то вывод n, нс все кц нц для n от 2 до 1000 если число n простое то вывод n, нс все кц число n простое нет делителей [2.. n-1 ]: проверка в цикле! Что значит «простое число»? ?

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Вложенные циклы 13 Задача. Вывести все простые числа в диапазоне от 2 до для n от 2 до 1000 если число n простое то writeln(n); для n от 2 до 1000 если число n простое то writeln(n); число n простое нет делителей [2.. n-1 ]: проверка в цикле! Что значит «простое число»? ?

Алгоритмизация и программирование, Паскаль, 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 все кц вложенный цикл

Алгоритмизация и программирование, Паскаль, 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; вложенный цикл

Алгоритмизация и программирование, Паскаль, 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.

Алгоритмизация и программирование, Паскаль, 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.

Алгоритмизация и программирование, Паскаль, 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); Как меняются переменные? ? Переменная внутреннего цикла изменяется быстрее! !

Алгоритмизация и программирование, Паскаль, 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)

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 20 «A»: Напишите программу, которая получает натуральные числа A и B (A<B) и выводит все простые числа в интервале от A до B. Пример: Введите границы диапазона: «B»: В магазине продается мастика в ящиках по 15 кг, 17 кг, 21 кг. Как купить ровно 185 кг мастики, не вскрывая ящики? Сколькими способами можно это сделать?

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 21 «C»: Ввести натуральное число N и вывести все натуральные числа, не превосходящие N и делящиеся на каждую из своих цифр. Пример: Введите N:

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ 163, г. Санкт-Петербург ЕРЕМИН Евгений Александрович к.ф.-м.н., доцент кафедры мультимедийной дидактики и ИТО ПГГПУ, г. Пермь

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Источники иллюстраций 23 1.old-moneta.ruold-moneta.ru logos.cs.uic.edulogos.cs.uic.edu 6.ru.wikipedia.org ru.wikipedia.org 7. иллюстрации художников издательства «Бином» 8. авторские материалы