Скачать презентацию ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ НАЧАЛА ПРОГРАММИРОВАНИЯ 9 Материал c Скачать презентацию ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ НАЧАЛА ПРОГРАММИРОВАНИЯ 9 Материал c

9-3-5.ppt

  • Количество слайдов: 14

ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ НАЧАЛА ПРОГРАММИРОВАНИЯ 9 Материал c портала http: //metodist. lbz. ru ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ НАЧАЛА ПРОГРАММИРОВАНИЯ 9 Материал c портала http: //metodist. lbz. ru

Ключевые слова • while ( цикл-ПОКА) • repeat (цикл-ДО) • for (цикл с параметрами) Ключевые слова • while ( цикл-ПОКА) • repeat (цикл-ДО) • for (цикл с параметрами)

Программирование циклов с заданным условием продолжения работы Условие нет да Тело цикла Общий вид Программирование циклов с заданным условием продолжения работы Условие нет да Тело цикла Общий вид оператора: while <условие> do <оператор> Здесь: <условие> логическое выражение; пока оно истинно, выполняется тело цикла; <оператор> - простой или составной оператор, с помощью которого записано тело цикла.

Начало Список данных x, y, r, q - цел x, y r: =x q: Начало Список данных x, y, r, q - цел x, y r: =x q: =0 r >=у да r: = r - y q: = q +1 q, r Конец нет program n_14; var x, y, q, r: integer; begin writeln ('Частное и остаток'); write ('Введите делимое x>>'); readln (x); write ('Введите делитель y>>'); read (y); r: =x; q: =0; while r>=y do begin r: =r-y; q: =q+1 end; writeln ('Частное q=', q); writeln ('Остаток r=', r) end.

Программирование циклов с заданным условием окончания работы Тело цикла Условие да нет Общий вид Программирование циклов с заданным условием окончания работы Тело цикла Условие да нет Общий вид оператора: repeat <оператор1; оператор2; …; > until <условие> Здесь: <оператор1>; <оператор2>; … - операторы, образующие тело цикла; <условие> - логическое выражение; если оно ложно, то выполняется тело цикла.

program n_15; var i: integer; x: real; begin writeln ('График тренировок'); i: =1; x: program n_15; var i: integer; x: real; begin writeln ('График тренировок'); i: =1; x: =10; repeat i: =i+1; x: =x+0. 1*x; until x>=25; writeln ('Начиная с ', i, '-го дня спортсмен будет пробегать 25 км') Начало Список данных i – цел x- вещ i : = 1 x : = 10 i : = i +1 x : = x +0. 1*x end. x>= 25 да i нет Конец

Программирование циклов с заданным числом повторений i = i 1, i 2 Тело цикла Программирование циклов с заданным числом повторений i = i 1, i 2 Тело цикла Общий вид оператора: for <параметр>: =<начальное_значение> to <конечное_значение> do <оператор> Здесь: <параметр> - переменная целого типа; После каждого выполнения тела цикла происходит <начальное_значение> и <конечное_значение> увеличение на единицу параметра цикла; условие выхода из выражения того же типа, что и параметр; цикла - превышение параметром конечного значения. <оператор> - простой или составной оператор - тело цикла.

program n_16; var i, n: integer; a, y: real; begin writeln ('Возведение в степень'); program n_16; var i, n: integer; a, y: real; begin writeln ('Возведение в степень'); write ('Введите основание a>>'); readln (a); write ('Введите показатель n>>'); readln (n); y: =1; for i: =1 to n do y: =y*a; writeln ('y=', y) end. Начало Список данных i, n – цел a, y – вещ a, n y : = 1 i = 1, n y : = y * a y Конец

Различные варианты программирования циклического алгоритма Для решения одной и той же задачи могут быть Различные варианты программирования циклического алгоритма Для решения одной и той же задачи могут быть созданы разные программы. Организуем ввод целых чисел и подсчёт количества введённых положительных и отрицательных чисел. Ввод должен осуществляться до тех пор, пока не будет введён ноль. В задаче в явном виде задано условие окончания работы. Воспользуемся оператором repeat

program n_17; var n, k 1, k 2: integer; begin k 1: =0; k program n_17; var n, k 1, k 2: integer; begin k 1: =0; k 2: =0; repeat write ('Введите целое число>>'); readln (n); if n>0 then k 1: =k 1+1; if n<0 then k 2: =k 2+1; until n=0; writeln ('Введено: '); writeln ('положительных чисел – ', k 1); writeln ('отрицательных чисел – ', k 2) end. Начало Список данных n, k 1, k 2 - цел k 1: =0 k 2: =0 n k 1: =k 1+1 да n>0 да k 2: =k 2+1 нет n<0 нет n=0 да k 1, k 2 Конец

Ввод осуществляется до тех пор, пока не будет введён ноль. Работа продолжается, пока n Ввод осуществляется до тех пор, пока не будет введён ноль. Работа продолжается, пока n 0. Воспользуемся оператором while: program n_18; var n, k 1, k 2: integer; begin k 1: =0; k 2: =0; n: =1; while n<>0 do begin writeln ('Введите целое число>>'); read (n); if n>0 then k 1: =k 1+1; if n<0 then k 2: =k 2+1; end; writeln ('Введено: '); writeln ('положительных – ', k 1); writeln ('отрицательных – ', k 2) end. Начало Список данных n, k 1, k 2 - цел k 1: =0 k 2: =0 n: =1 n <> 0 да n да k 1: =k 1+1 k 2: =k 2+1 n>0 нет k 1, k 2 Конец нет

Самое главное В языке Паскаль имеются три вида операторов цикла: while цикл-ПОКА) repeat (цикл-ДО) Самое главное В языке Паскаль имеются три вида операторов цикла: while цикл-ПОКА) repeat (цикл-ДО) for (цикл с параметром). Если число повторений тела цикла известно, то лучше воспользоваться оператором for; в остальных случаях используются операторы while и repeat.

Вопросы и задания Дана последовательность выводит на Требовалось написать программу вычисления факториала числа Напишите Вопросы и задания Дана последовательность выводит на Требовалось написать программу вычисления факториала числа Напишите программу, которая операторов: экран таблицу n Напишите программу, которая выводит Дана последовательность операторов: экран таблицу Напишите программу, выводящуювсех на чисел от 1 до n). (факториал числа (от нулевой до десятой). целых изображение степеней двойки n есть произведение на a: =1; n (n умножения напрограмму, в выполненосуществляется 2 ввод 10, число диапазоне от Напишите доски, и написал программу неправильно. до шахматной торопился целоечёрные в клетки изображаются a: =1; Скольковид - будет которойвыполнения программы где Программист Проанализируйте следующий цикл: Рекомендуемый раз экрана после цикл? вводимое с клавиатуры). - пробелами. тех пор, покасодержится целых приведён фрагмент его программы, Рекомендуемый вид звёздочками, i: =0 осуществляется наибольшего не будет b: =1; b: =2; ниже: to 15 Ниже чисел (вводбелые do s: =s+1; до в котором общего а) for апрограмму, a чётных*чисел * диапазоне от 1 до n; while for do until в) всех b>8; * 2 repeat. Обоснуйте свою точку зрения. *4 Используйте операторв f: =f*k; k: =5; s: =a+b всех двузначных3 чисел. 5 * *3 = 15 * b: =b+2; * * 8 г) д) k: =k+1 for i: =k-1 to k+1 do s: =s+1; 4 = 20 будут значения Сколько раз будет повторён цикл 16 * какими 5 4 end; * * Допишите необходимые операторы. *и * Найдите a, ошибки. s переменных b, 5 после исполнения этой 5 * * 32 * *5 = 25 * s: =a+b последовательности операторов? 64 * 6 * 5 * 6 = 30 Сколько раз будет повторен* цикл *и какими будут Примерпеременных 7 b, * s 128 * *7 = 35 выходных данных Пример * * a, значения входных данных после исполнения этой 5 8 256 последовательности операторов? 8 = 40 5 Введите n> 5 5! = 9 512 * 120 5 10 1024 * 9 = 45 Введите n> 6 6! = 720 5 * 10 = 50

Опорный конспект В языке Паскаль имеются три вида операторов цикла: for (цикл с параметром) Опорный конспект В языке Паскаль имеются три вида операторов цикла: for (цикл с параметром) repeat Число повторений цикла известно (цикл-ДО) Число повторений цикла неизвестно while (цикл-ПОКA)