1 БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ ПОВТОРЕНИЕ НЕОПРЕДЕЛЕННЫЕ ЦИКЛЫ.

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



Advertisements
Похожие презентации
Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
Advertisements

1 Когда известно число повторений одного и того же действия, удобно использовать цикл с параметром Цикл с параметром (определенный цикл)
Организация повторений в Паскале. Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.
1 Программирование на языке Паскаль Циклы. 2 Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов.
Программирование на Pascal. Темы Повторение. Составные логические условия Повторение. Составные логические условия Повторение. Составные логические условия.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Операторы цикла с условием 9 класс Раздел: Основы алгоритмизации и программирование на языке Pascal.
АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ В TURBO PASCAL Условие Оператор ДаНет Учитель информатики: Коваленко Татьяна Викторовна
Организация циклов в языке программирования Паскаль. Подготовила Семенова Н.С., учитель информатики МБОУ «Средняя общеобразовательная школа 26 с углублённым.
Циклы в языке программирования Pascal
Циклы на языке Pascal повторение. Циклы позволяют многократно выполнять одну или группу команд, причем в тексте программы нет необходимости записывать.
Цикл – это команда исполнителю многократно повторить указанную последовательность действий.
«Программирование циклических алгоритмов» Учитель информатики гимназии 12 г. Тюмени Бугаева Елена Викторовна.
Pascal Алгоритмы циклической структуры, программирование на языке Pascal Часть 2 8 «Б» и 10 «Б» классы.
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
Циклические алгоритмы. Цикл - это такая алгоритмическая структура, в которой осуществляется многократное повторение одной ( или нескольких ) команд.
Тема: Цикл с параметром (цикл «Для») На естественном языке Для i от А до В повторять Тело цикла i,a,b- параметры цикла тело цикла – это команды, которые.
Циклические программы Информатика и ИКТ 9 класс Гимназия 1 г. Новокуйбышевска Учитель информатики: Красакова О.Н.
Организация повторений в Паскале. i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие 1; действие 2; END; FOR i:=1.
Очень часто приходится повторять определенную часть алгоритма для различных значений аргумента. Для организации таких процессов используется алгоритмы.
Транксрипт:

1 БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ ПОВТОРЕНИЕ НЕОПРЕДЕЛЕННЫЕ ЦИКЛЫ

2 Повторение – это составная команда алгоритма, в которой в зависимости от соблюдения условия может повторяться команда или серия команд. Цикл – это команды алгоритма, которые позволяют несколько раз повторить одну и ту же группу команд.

3 Цикл с предусловием (цикл «пока») While do (Тело цикла); В цикле с предусловием (цикл «пока») команда или серия команд повторяется, если условие выполнения цикла соблюдается. нет да Тело цикла УЦ ПОКА условие цикла (УЦ) соблюдается – делай ПОКА условие цикла (УЦ) соблюдается – делай

4 Цикл с постусловием Цикл с постусловием (цикл «до») нет да Тело цикла УЦ Repeat Тело цикла; Until ; В цикле с постусловием (цикл «до») – команда или серия команд повторяются, если условие выхода из цикла не соблюдается.

5 Цикл с постусловием Аналогичен циклу с предусловием, но проверка условия выхода из цикла производится после выполнения тела цикла. Это обеспечивает его выполнение хотя бы один раз. Операторы тела цикла заключены между командой Repeat и служебным словом Until, что позволяет обходиться без операторных скобок (Begin – End) в случае нескольких операторов в теле цикла. Без конструкции «цикл с постусловием» можно было бы обойтись, используя «цикл с предусловием», но если она есть – значит ею надо пользоваться!

6 Это неопределенные циклы, так как количество выполнений тела цикла зависит от условия. Для того, чтобы при переводе записи алгоритма с языка блок-схем на язык программирования исключить внесение изменений в конструкцию команды, следует использовать приведенные выше алгоритмические конструкции, так как на языке программирования команды повторения реализуются именно таким образом. В УЦ обязательно должна быть переменная, от значения которой зависит будут выполняться команды тела цикла или нет. В теле цикла ОБЯЗАТЕЛЬНО значение этой переменной должно изменяться.

7 Дано: Последовательность любых чисел. 0 – конец последовательности. Получить: Сумму чисел больших нуля. Связи: а – переменная-ячейка для последовательного ввода чисел. Тип переменной а – вещественное число. S – переменная-ячейка для накопления суммы. Задача: Найти сумму вводимых с клавиатуры положительных чисел. Конец вводимой последовательности – ввод 0.

8 Вопросы: Какая задача решается? Какие числа будем вводить? Какие числа будем суммировать? Каким образом организовать накопление суммы? Как обходиться с отрицательными числами, которые вводим? Какую циклическую конструкцию удобнее использовать при составлении алгоритма? По какому условию должно происходить прерывание цикла? Может случиться ситуация, что ничего суммировать не надо?

9 Трассировочная таблица -это таблица, в которой прослеживается как изменяются значений всех переменных в ходе выполнения алгоритма (программы). С помощью трассировочной таблицы проверяется правильно ли составлены алгоритм или программа, даёт ли она ожидаемый результат.

S=0 Ввод A A 0 A > 0 Ввод A Вывод S S = S + A Да нет Программа: Program Symma1; Var a, s: real; Begin S:=0; Write( Введите число: ); Readln(a); While a0 do Begin If a>0 then S:=S+a; Write( Введите число: ); Readln(a); End; Writeln( Sum =, S:7:1); End. Ввести числа: 1, 3, 2, -2, 0. Предполагаемый результат: Sum = 6.0 Анализ результатов: a = Знак as Трассировочная таблица

S=0 Ввод A A > 0 Вывод S S = S + A А = 0 да нет Программа: Program Symma2; Var a, s: real; Begin S:=0; Repeat Write( Введите число: ); Readln(a); If a>0 then S:=S+a; Until a = 0; Writeln( Summa =, S:7:1); End. Ввести числа: 1, 3, 2, -2, 0. Предполагаемый результат: Sum = 6.0 Анализ результатов: Трассировочная таблица = Знак aas = Знак aas

12 S=0 Ввод A A > 0 Вывод S S = S + A А = 0 да нет S=0 Ввод A A 0 A > 0 Ввод A Вывод S S = S + A Да нет

13 Выучить уроки. Да нет начало Открыть дневник Прочитать 1-ю запись в дневнике Есть задание? Конец Выучить урок Прочитать следующую запись в дневнике

14 Самостоятельная работа Написать алгоритм на бытовую тему с использованием алгоритмической структуры «неопределенные циклы»

15 Дано: Последовательность любых чисел. 0 – конец последовательности. Получить: Сумму чисел вводимой последовательности. Количество введенных чисел. Связи: а – переменная-ячейка для последовательного ввода чисел. Тип переменной а – вещественное число. S – переменная-ячейка для накопления суммы. K – переменная-ячейка для накопления количества. Задача: Найти сумму и количество вводимых с клавиатуры чисел. Конец вводимой последовательности – ввод 0.

16 Написать алгоритм. Для проверки алгоритма составить трассировочную таблицу. Написать программу. Выполнить программу. Произвести анализ полученного результата. Показать учителю. 1. Какие алгоритмические структуры присутствуют в вашем алгоритме?

S = 0 K = 0 Ввод A A 0 Ввод A Вывод S S = S + A Да Program Symma1; Var a, s: real; k: integer; Begin S:=0; k:=0; Write( Введите число: ); Readln(a); While a0 do Begin S:=S+a; k:=k + 1; Write( Введите число: ); Readln(a); End; Writeln( Sum =, S:7:1); Writeln( kol-vo =, k); End. Ввести числа: 1, 3, 2, -2, 0. Предполагаемый результат? Анализ результатов: Нет k = k + 1 Вывод k

18 1.Изменить алгоритм и программу используя алгоритмическую структуру ЦИКЛ-ДО. 2.Проверить правильность алгоритма с помощью трассировочной таблицы. Задание: Задача. Известны оценки абитуриента на четырех экзаменах. Определить сколько «пятерок» он получил.

19 Задача. Протабулировать функцию Y = X 2 на интервале от 1 до -1 с шагом Результат представить в виде: X Y …

20 Математическая модель Дано: Х= 1, 0.8, 0.6, …,-0.8, -1,т.е. Начальное Х = 1, конечное Х = -1, шаг = -0.2 Получить: таблицу значений Х, Y в виде: X Y … Связи: Y=Х 2, для каждого Х

Программа: Program Tabl1; Var x, y: real; Begin x:= 1; Writeln(X:5, Y:13); While x>= -1 do Begin y:= x*x; Writeln(x:8:2, y:10:2); x:= x - 0.2; End; Writeln; End. Для данной программы написать алгоритм в виде блок-схемы. Проверить программу с помощью трассировочной таблицы

22 ЗАДАЧИ: 1.Протабулировать функцию Y = sin(X), для Х от 0 до 6.28 с шагом Протабулировать функцию Y = 3(X – 2) на интервале от -4 до 8 с шагом 0.5.

23 3. Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел, которые вводятся с клавиатуры. Рекомендуемый вид экрана во время работы программы: Вычисление среднего арифметического последовательности положительных чисел. Вводите после стрелки числа. Для завершения ввода нажмите ноль. -> 45 ->23 -> 15 -> 0 Введено чисел: 3 Сумма чисел: 83 Среднее арифметическое: 27.67

24 4. Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел. Рекомендуемый вид экрана во время работы программы: Определение максимального числа последовательности положительных чисел. Вводите после стрелки числа. Для завершения ввода нажмите ноль. -> 23 ->45 -> 15 -> 0 Максимальное число: 45

25 5. Дана непустая последовательность натуральных чисел, за которой следует 0. Составить алгоритм поиска в данной последовательности порядкового номера наименьшего элемента.

26 ЗАДАЧА. Дан прямоугольник с размерами a Х b. От него отрезают квадраты максимального размера, пока это возможно. Затем от оставшегося прямоугольника вновь отрезают квадраты максимально возможного размера и т.д. На какие квадраты и в каком их количестве будет разрезан исходный прямоугольник? Дано: a, b – целые числа, Получить: квадраты мах размера. Сколько их и какого размера. Например, 27 Х 8 3 квадрата 8х8; 2 квадрата 3х3; 1 квадрат 2х2; 2 квадрата 1х

a,b A 0 или B 0 A > B A:= A – B Fp:= Fp + 1 Fp:= 0 B, Fp да нет B > A B:= B – A Fl:= Fl + 1 Fl:= 0 A, Fl да нет A > B да нет ABFpFl Трассировочная таблица

28 Ещё много интересных задач