Цикл с параметром алгоритмический язык

Презентация к уроку

Загрузить презентацию (329,2 кБ)

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

Ход урока

I. Актуализация знаний

II. Теоретический материал урока

Большинство практических задач требует многократного повторения одних и тех же действий, т. е. повторного использования одного или нескольких операторов. (Презентация)

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

Другой пример. Чтобы найти фамилию человека в списке, надо проверить первую фамилию списка, затем вторую, третью и т.д. до тех пор, пока не будет найдена нужная или не будет достигнут конец списка. Преодолеть подобные трудности можно с помощью циклов.

Циклом называется многократно исполняемый участок алгоритма (программы). Соответственно циклический алгоритм — это алгоритм, содержащий циклы.

Различают два типа циклов: с известным числом повторений и с неизвестным числом повторений. При этом в обоих случаях имеется в виду число повторений на стадии разработки алгоритма.

Существует 3 типа циклических структур:

Иначе данные структуры называют циклами типа «Пока», «До», «Для».

Графическая форма записи данных алгоритмических структур:

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык

Цикл с предусловием (иначе цикл пока) имеет вид:

Форматы записи операторов алгоритмаБлок-схемаФорматы записи операторов на Паскале
Пока (условие)
нц
серия команд
кц
Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический языкwhile условие do
begin
серия команд;
end;

условие – выражение логического типа.

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

Серия команд, находящихся между begin и end, выполняются до тех пор, пока условие истинно.

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

Цикл с постусловием (иначе цикл до) имеет вид:

Форматы записи операторов алгоритмаБлок-схемаФорматы записи операторов на Паскале
В алгоритмическом языке нет команды которая могла бы описать данную структуру, но ее можно выразить с помощью других команд (Например, ветвления).Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический языкrepeat серия команд
until
условие

условие – выражение логического типа.

Последовательность инструкций между repeat и until всегда будет выполнено хотя бы один раз;

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

Инструкция repeat, как и инструкция while, используется в программе, если надо провести некоторые повторяющиеся вычисления (цикл), однако число повторов заранее не известно и определяется самим ходом вычисления.

Цикл с параметром (иначе цикл для) имеет вид:

i – параметр цикла;
a – начальное значение цикла;
b – конечное значение цикла;
h – шаг изменения параметра.

Структура данного цикла иначе называют циклом i раз.

Эта команда выполняется таким образом: параметру i присваивается начальное значение а, сравнивается с конечным значением b и, если оно меньше или равно конечному значению b, выполняется серия команд. Параметру присваивается значение предыдущего, увеличенного на величину h – шага изменения параметра и вновь сравнивается с конечным значением b.

На языке программирования Паскаль шаг изменения параметра может быть равным одному или минус одному.

Если между begin и end находится только один оператор, то операторные скобки можно не писать. Это правило работает для цикла типа «Пока» и «Для».

Рассмотрим пример решения задач с использованием данных структур

Пример.

Вычислить произведение чисел от 1 до 5 используя различные варианты цикла

Составим алгоритм в виде блок-схемы.

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык

Для проверки правильности алгоритма заполним трассировочную таблицу.

Источник

Циклические алгоритмы. Циклы с параметром.

Выбранный для просмотра документ Циклические алгоритмы. Цикл повтор.ppt

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык

Описание презентации по отдельным слайдам:

Цикл с параметром i — параметр цикла N – начальное значение параметра K – конечное значение параметра S –шаг изменения параметра

Цикл с известным числом повторений (цикл с параметром, цикл типа «Для») имеет такие особенности: В цикле с известным числом повторений параметр изменяется в заданном диапазоне. Если в цикле изменяется простая переменная, то она является параметром цикла; если в цикле изменяется переменная с индексом, то индекс этой переменной является параметром цикла. Для организации цикла с известным числом повторений в Pascal используется оператор for.

Цикл с параметром Существует другая форма оператора цикла for: for := downto do Замена зарезервированного слова to на downto означает, что шаг параметра цикла равен (-1). Изменение значения параметра идет от большего значения к меньшему, т. е.

Пример: Вывести на экран числа от 1 до 5 в: a) прямом порядке; b) обратном порядке. Математическая модель: a) 1 2 3 4 5 b) 5 4 3 2 1

В результате на экране будет: 1 2 3 4 5 В результате на экране будет: 5 4 3 2 1 Program Pr4; Var i: integer; Begin For i:=1 to 5 do Write (i); end. Program Pr5; Var i: integer; Begin For i:=5 downto 1 do Write (i); end.

Самостоятельно Вывести на экран числа от 1 до 10 и обратно.

Решение Вывести на экран числа от 1 до 10. Program zadaha; Var x: integer; Begin For x:=1 to 10 do Write (x); End.

Решение 2 Вывести на экран числа от 10 до 1. Program obratno; Var x: integer; Begin For x:=10 down to 1 do Write (x); End.

Самостоятельно Напечатать буквы от ‘Z’ до ‘A‘ Напечатать буквы от ‘ A ‘ до ‘ Z ‘.

Решение Program obratno; var g: char; begin For g:= ‘Z’ downto ‘A’do write(g); readln end.

Решение 2 Program for2; var c: char; begin For c:= ‘A’ to ‘Z’ do writeln (c); end.

Самостоятельная работа Вычислить произведение чисел от 1 до 5 используя различные варианты цикла. Математическая модель: Р= 5!= 1· 2· 3· 4· 5=120 То есть, нужно найти факториал числа 5.

Program Pr1; Var I, P: integer; Begin P:=1; i:=1; While i 5; Write (‘ P=’, P); end. Program Pr3; Var I, P: integer; Begin P:=1; For i:=1 to 5 do P:=P*i; Write (‘P=’, P); end. «Пока» «ДО» « ДЛЯ»

Выбранный для просмотра документ конспект урока цикл повтор.doc

ПО ИНФОРМАТИКЕ И ИКТ

В 10 КЛАССЕ ПО ТЕМЕ:

«Циклические алгоритмы. Циклы с параметром».

Предмет: Информатика и ИКТ

Тема урока: «Циклические алгоритмы. Циклы с параметром»

Тип урока: Изучение нового материала

образовательные: Познакомиться с понятием «Циклы с параметром». Закрепить знания учеников об алгоритме.

развивающие: Воспитать трудолюбие, самостоятельность, культуру речи и общения.

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

Познавательные УУД: формируют и развивают компетентность в области использования ИКТ

Регулятивные УУД: умеют соотносить свои действия с планируемыми результатами.

Коммуникативные УУД: умеют работать индивидуально и в группе.

Личностные УУД: понимают значимость подготовки в области информатики и ИКТ в условиях

развития информационного общества.

Средства обучения: проектор, персональный компьютер, специализированное программное обеспечение (среда программирования «PascalABC»).

1. Организация начала урока

Здравствуйте. Сегодня я, буду вести уроки «Информатики и ИКТ». Приветствую обучающихся, проверяю их готовность к уроку. Обучающиеся приветствуют друг друга.

2. Проверка выполнения домашнего задания

Спрашиваю у них пройденный материал.

1. Что такое циклический алгоритм?

Циклический алгоритм – это алгоритм, содержащий один или несколько циклов.

Цикл форма организации действий, при которой одна и та же последовательность действий совершается несколько раз до тех пор, пока выполняется какое — либо условие.

3. Какую конструкцию имеет цикл с предусловием и цикл с постусловием?

4. В чем отличие цикла с постусловием от цикла с предусловием?

3. Изучение нового материала

Тема наших уроков будет: «Циклические алгоритмы. Цикл с параметром».

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык

Иногда заранее известно, сколько раз должен выполняться цикл. Для задач такого типа в языке Паскаль имеются операторы циклов с параметрами.
Блок-схема цикла с параметром выглядит так:

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык

Формат записи таких операторов следующий:
Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык

Графическое изображение циклов for будет таким:

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык

Изменение значения параметра идет от большего значения к меньшему, т. е.

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык

Теперь рассмотрим задачу:

Вывести на экран числа от 1 до 5 в:

Источник

Цикл с параметром алгоритмический язык

Главное меню

Популярные статьи

Циклы с параметрами

Цель: дать понятие о циклах с параметром, блок-схемах, изображающих такие циклы. Учить на частных примерах составлять блок-схемы и программы с циклами; дать понятие о различиях между циклами с предусловием, постусловием и циклом с параметром; учить в одной программе использовать разные циклы, если программа содержит несколько циклов; вводить и выполнять программы, используя компиляторы BPW или Turbo Pascal.

for i := a to b do s1;

for k := p to m do
begin
s1;
s2;
.
sn
end;

Графическое изображение циклов for будет таким (см. рис. 33):
Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык
Рис. 33

Для иллюстрации работы оператора for рассмотрим пример уже ставший традиционным при изучении работы этого оператора.

Пример 1. Составить программу вычисления факториала числа n, т. е. n!.

Вспомним из математики, что факториал числа n равен произведению чисел от 1 до n.
Например:

Замечание. В математике принято: 0! = 1.

Блок-схема

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык
Рис. 34

Программа

Program Problem1; < Вычисление факториала числа n! >
uses WinCrt;
var
n, f, i : longint;
begin
write(«Введите натуральное число «); readln(n);
f := 1;
if n <> 0 then for i := 1 to n do f := f*i;
writeln(«Факториал числа «, n, » равен «, f)
end.

Изменение значения параметра идет от большего значения к меньшему, т. е.
.
Программу вычисления факториала числа можно составить, используя этот оператор цикла.
Программа

Program Problem1a;
uses WinCrt;
var
n, i, f : longint;
begin
write(«Введите натуральное число «); readln(n);
f := 1;
if n <> 0 then for i := n downto 1 do f := f*i;
writeln(«Факториал числа «, n, » равен «, f)
end.

Задание 1
1. Выполните программу примера 1 на компьютерах.
2. Измените и дополните ее так, чтобы она вычисляла следующую сумму:

Ясно, что цикл в программе надо организовать от 1 до n, в котором выполнять всего три оператора: находить сумму нечетных чисел (а их как раз столько, сколько раз будет выполняться цикл); выдавать полученную сумму на экран; «получать» следующее нечетное число.

Блок-схема

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык
Рис. 35

Программа

Program Problem2;
uses WinCrt;
var
i, n, s, k: integer;
begin
writeln(«Введите натуральное число, до которого надо»);
write(«выводить квадраты чисел «); readln(n);
writeln(«Квадраты чисел следующие:»);
s := 0; k := 1;
for i := 1 to n do
begin
s := s + k;
writeln(«Квадрат числа «, i, » равен «, s);
k := k + 2
end
end.

1. Измените программу так, чтобы она выдавала на экран не таблицу квадратов чисел от 1 до n, а квадрат только одного числа n, введенного пользователем.

3. Продолжая тему возведения натуральных чисел в степень, без операций умножения, рассмотрим еще два интересных примера. В первом из них нам придется совмещать, «вкладывать» друг в друга два цикла for, а во втором, циклы for и repeat.

Блок-схема

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык
Рис. 36

Программа

Program Problem3; < Кубы натуральных чисел от 1 до n >
uses WinCrt;
var
i, j, n, s, k : longint;
begin
writeln(«Введите натуральное число, до которого надо»);
write(«выводить кубы чисел «); readln(n);
writeln(«Кубы чисел следующие:»);
k := 1;
for i := 1 to n do
begin
s := 0;
for j := 1 to i do
begin
s := s + k;
k := k + 2
end;
writeln(«Куб числа «, i, » равен «, s)
end
end.

Разберем работу этой программы

Заметьте! Переменной k не присваивается перед началом каждого внутреннего цикла 1. Почему?
Следующим оператором writeln внутри внешнего цикла выдается информация на экран. Почему он размещен во внешнем цикле?

Пример 4. Из математики известно, что всякая натуральная степень числа n есть сумма n последовательных нечетных натуральных чисел. Составьте программу, которая для любой степени натурального числа n находила бы последовательность нечетных чисел, сумме которых равна эта степень.

План составления программы

1. Определим цель составления программы: надо показать, что действительно любую натуральную степень натурального числа можно представить в виде суммы последовательных нечетных чисел.
А если это так, тогда нам совершенно необходимо знать значение степени числа n с показателем k.
Это можно сделать с помощью простого цикла:

s := 1;
for i := 1 to k do s := s*n;

3. Осталось продумать, как подсчитывать суммы последовательных нечетных чисел. Мы уже сталкивались с этим вопросом и знаем, что для этого надо создать цикл от 1 до n, в котором в одну из переменных, скажем m, накапливать эту сумму, а вторая переменная должна «вырабатывать» следующее нечетное число.
Этот цикл можно записать так:

p := j; m := 0;
for i := 1 to n do
begin
m := m + p;
p := p + 2
end;

Блок-схема

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык
Рис. 37
Программа

Чтобы лучше понять ее работу, возьмите степень 25 и проверьте как будут последовательно выполняться операторы программы.

1. Выполните эту программу на компьютерах.

4. Разные задачи

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

Замечание. Перед началом составление блок-схемы этой задачи следует знать, как изображаются циклы в циклах, для циклов с параметрами. Общая конструкция двух вложенных циклов с параметрами будет такой:

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык
Рис. 38
Сразу возникает мысль составить программу по следующей схеме:
организовать цикл по числу тысяч, t от 1 до 9, а затем внутренние циклы: по числу сотен, s от 0 до 9; по числу десятков, d от 0 до 9; по числу единиц, e от 0 до 9; проверка условия: если цифры различны, тогда составленное из них четырехзначное число выдавать на экран.
Блок-схема
Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык
Рис. 39
Программа

Понятно, что эта программа выполнена нерационально. В ней все циклы выполняются полностью.
Программу можно усовершенствовать таким путем. Когда выполняется цикл сотен, тогда следующий цикл десятков надо начинать выполнять, если цифра сотен s не равна цифре тысяч t, в противном случае, иначе, цикл сотен надо продолжить, т. е. взять следующую цифру сотен.
Для цифры десятков, также установить условие, что следующий цикл единиц будет выполняться, если цифра десятков d не равна цифре сотен и тысяч, в противном случае, иначе, надо переходить к следующей цифре десятков.
И тогда, «внутри» цикла единиц достаточно записать условие, если цифры единиц e не равны цифре десятков d, сотен s и тысяч t, тогда четырехзначное число является искомым и оно выводится на экран.

Блок-схема

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык
Рис. 40

Программа

Задание 4

1. Дополните и измените эту программу так, чтобы она выдавала на экран не только различные четырехзначные числа, но и их количество.

for a := 1 to 20 do
for b := a to 20 do

for a := 20 downto 1 do
for b := 1 to a do

for a := 1 to 20 do
for b := 1 to a do

Нетрудно видеть, что при каждом из этих способов не будут повторяться пары чисел. Проверьте это самостоятельно.
Для значений c мы обязаны проверять все натуральные числа от 1 до 20 для каждой пары чисел a и b. Поэтому цикл для c должен быть таким: for c := 1 to 20 do

Блок-схема

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык
Рис. 41

Программа

Program Problem6;
uses WinCrt;
var
a, b, c : integer;
begin
writeln(«Тройки Пифагоровых чисел из промежутка [1; 20]»);
for a := 1 to 20 do
for b := 1 to a do
for c := 1 to 20 do
if a*a + b*b = c*c then writeln(a, » «, b, » «, c)
end.

Пример 7. Сколькими способами заданное натуральное число n можно представить в виде суммы двух кубов натуральных чисел:

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

Сущность работы программы будет заключаться в следующем:

Это можно сделать так:

Дано натуральное n. Можно ли n представить в виде суммы трех квадратов натуральных чисел? Если можно, то указать все тройки x, y, z таких натуральных чисел, что Перестановка слагаемых нового способа не дает. Составить блок-схему и программу.

5. Преобразование типов

Пример 8. Двузначное десятичное число в сумме с числом, записанным теми же цифрами, но в обратном порядке, дает полный квадрат. Найти все такие числа.

Для этого в Паскале есть стандартные функции round(x) и trunc(x)

Блок-схема

Цикл с параметром алгоритмический язык. Смотреть фото Цикл с параметром алгоритмический язык. Смотреть картинку Цикл с параметром алгоритмический язык. Картинка про Цикл с параметром алгоритмический язык. Фото Цикл с параметром алгоритмический язык
Рис. 43

Программа

Program Problem8;
uses WinCrt;
var
d, e, k : integer;
begin
writeln(«Искомые двузначные числа»);
for d := 1 to 9 do
for e := 1 to 9 do
begin
k := round(sqrt(d*10 + e + e*10 + d));
if k*k = d*10 + e + e*10 + d
then write(d*10 + e, » «)
end
end.

Найти целые числа из заданного промежутка [m; n], которые являются точными квадратами и остаются таковыми после приписывания к ним справа единицы (в десятичной системе записи). Составить блок-схему и программу.

Автор: Тишин Владимир Иванович

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *