Презентация "Программирование циклических алгоритмов начала программирования" 9 класс
Подписи к слайдам:
- ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ
- НАЧАЛА ПРОГРАММИРОВАНИЯ
- Ключевые слова
- while ( цикл-ПОКА)
- repeat (цикл-ДО)
- for (цикл с параметрами)
- Программирование циклов с заданным условием продолжения работы
- Общий вид оператора:
- while <условие> do <оператор>
- Здесь:
- <условие> - логическое выражение; пока оно истинно, выполняется тело цикла;
- <оператор> - простой или составной оператор, с помощью которого записано тело цикла.
- Тело цикла
- Условие
- да
- нет
- да
- нет
- Начало
- Список данных
- x, y, r, q - цел
- x, y
- r:=x
- q:=0
- r >=y
- r:= r - y
- q:= q +1
- Конец
- r, q
- 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:=10;
- repeat
- i:=i+1;
- x:=x+0.1*x;
- until x>=25;
- writeln ('Начиная с ', i, '-го дня спортсмен будет пробегать 25 км')
- end.
- Конец
- да
- нет
- Начало
- Список данных
- i – цел
- x- вещ
- i := 1
- x := 10
- x>= 25
- i := i +1
- x := x +0.1*x
- i
- Программирование циклов с заданным числом повторений
- Общий вид оператора:
- for <параметр>:=<начальное_значение>
- to <конечное_значение> do <оператор>
- Здесь:
- <параметр> - переменная целого типа;
- <начальное_значение> и <конечное_значение> - выражения того же типа, что и параметр;
- <оператор> - простой или составной оператор - тело цикла.
- После каждого выполнения тела цикла происходит увеличение на единицу параметра цикла; условие выхода из цикла - превышение параметром конечного значения.
- Тело цикла
- i = i1, i2
- 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- вещ
- y := 1
- y := y * a
- y
- a, n
- i = 1, n
- Различные варианты программирования циклического алгоритма
- Для решения одной и той же задачи могут быть созданы разные программы.
- Организуем ввод целых чисел и подсчёт количества введённых положительных и отрицательных чисел. Ввод должен осуществляться до тех пор, пока не будет введён ноль.
- В задаче в явном виде задано условие окончания работы.
- Воспользуемся оператором repeat.
- program n_17;
- var n, k1, k2: integer;
- begin
- k1:=0;
- k2:=0;
- repeat
- write ('Введите целое число>>');
- readln (n);
- if n>0 then k1:=k1+1;
- if n<0 then k2:=k2+1;
- until n=0;
- writeln ('Введено:');
- writeln ('положительных чисел – ', k1);
- writeln ('отрицательных чисел – ', k2)
- end.
- да
- нет
- n
- n > 0
- Начало
- Список данных
- n, k1, k2 - цел
- n < 0
- n = 0
- k1, k2
- Конец
- k1:=0
- k2:=0
- k1:=k1+1
- k2:=k2+1
- да
- да
- нет
- нет
- Ввод осуществляется до тех пор, пока не будет введён ноль.
- Работа продолжается, пока n 0.
- Воспользуемся оператором while:
- program n_18;
- var n, k1, k2: integer;
- begin
- k1:=0;
- k2:=0;
- while n<>0 do
- begin
- writeln ('Введите целое число>>');
- read (n);
- if n>0 then k1:=k1+1;
- if n<0 then k2:=k2+1;
- end;
- writeln ('Введено:');
- writeln ('положительных – ', k1);
- writeln ('отрицательных – ', k2)
- end.
- да
- n > 0
- да
- нет
- n
- Начало
- Список данных
- n, k1, k2 - цел
- n <> 0
- k1, k2
- Конец
- k1:=0
- k2:=0
- k1:=k1+1
- k2:=k2+1
- нет
- Самое главное
- В языке Паскаль имеются три вида операторов цикла:
- while цикл-ПОКА)
- repeat (цикл-ДО)
- for (цикл с параметром).
- Если число повторений тела цикла известно, то лучше воспользоваться оператором for; в остальных случаях используются операторы while и repeat.
- Вопросы и задания
- Дана последовательность операторов:
- a:=1;
- b:=2;
- while a+b<8 do
- begin
- a:=a+1;
- b:=b+2;
- end;
- s:=a+b
- Сколько раз будет повторен цикл и какими будут значения переменных a, b, s после исполнения этой последовательности операторов?
|
|
|
|
|
|
- Требовалось написать программу вычисления факториала числа n (факториал числа n есть произведение всех целых чисел от 1до n).
- Программист торопился и написал программу неправильно.
- Ниже приведён фрагмент его программы, в котором содержится пять ошибок:
- k:=1;
- f:=0;
- while k<n do
- f:=f*k;
- k:=k+1
- Найдите ошибки. Допишите необходимые операторы.
- Проанализируйте следующий цикл:
- while a<b do
- c:=a=b;
- В чём его особенность?
- Дана последовательность операторов:
- a:=1;
- b:=1;
- repeat
- a:=a+1;
- b:=b*2;
- until b>8;
- s:=a+b
- Сколько раз будет повторён цикл и какими будут значения переменных a, b, s после исполнения этой последовательности операторов?
- Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и подсчёт суммы и среднего арифметического введённых положительных чисел.
- Используйте оператор repeat.
- Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и определение максимального (наибольшего) из введённых чисел.
- Используйте оператор repeat.
- Напишите программу вычисления наибольшего общего делителя двух целых чисел:
- а) используйте оператор repeat;
- б) используйте оператор while.
- Сколько раз будет выполнен цикл?
- а) for i:=0 to 15 do s:=s+1;
- б) for i:=10 to 15 do s:=s+1;
- в) for i:=-1 to 1 do s:=s+1;
- г) for i:=10 to 10 do s:=s+1;
- д) k:=5;
- for i:=k-1 to k+1 do s:=s+1;
- Напишите программу, которая 10 раз выводит на экран
- ваши имя и фамилию.
- Напишите программу, выводящую на экран изображение шахматной доски, где чёрные клетки изображаются звёздочками, а белые - пробелами. Рекомендуемый вид экрана после выполнения программы представлен ниже:
- * * * *
- * * * *
- * * * *
- * * * *
- * * * *
- * * * *
- * * * *
- * * * *
- Напишите программу, которая вычисляет сумму:
- а) первых n натуральных чисел;
- б) квадратов первых n натуральных чисел;
- в) всех чётных чисел в диапазоне от 1 до n;
- г) всех двузначных чисел.
- Напишите программу, которая генерирует 10 случайных чисел в диапазоне от 1 до 20, выводит эти числа на экран и вычисляет их среднее арифметическое.
- Напишите программу, которая выводит на экран таблицу степеней двойки (от нулевой до десятой).
- Рекомендуемый вид экрана после выполнения программы представлен ниже:
- Таблица степеней двойки:
- 0 1
- 1 2
- 2 4
- 3 8
- 4 16
- 5 32
- 6 64
- 7 128
- 8 256
- 9 512
- 10 1024
|
|
|
|
- Напишите программу, которая выводит на экран таблицу умножения на n (n - целое число в диапазоне от 2 до 10, вводимое с клавиатуры).
- Какой из трёх рассмотренных операторов цикла является, по вашему мнению, основным, т. е. таким, что им можно заменить два других?
- Обоснуйте свою точку зрения.
- Опорный конспект
- while (цикл-ПОКA)
- repeat (цикл-ДО)
- for (цикл с параметром).
- Число повторений
- цикла известно
- В языке Паскаль имеются три вида операторов цикла:
- Число повторений
- цикла неизвестно
Информатика - еще материалы к урокам:
- Презентация "Этапы создания (разработки) web-сайта"
- Презентация "Основные элементы языка Паскаль"
- Презентация "История создания и развития систем программирования"
- Презентация "Жизненный цикл программного обеспечения"
- Презентация "Графика в Pascal ABC.NET"
- Презентация "Интегрированная среда разработки приложений Lazarus"