Презентации по теме "Циклические алгоритмы" к урокам информатики по программированию в среде ТурбоПаскаль
презентация к уроку по информатике и икт (9 класс) по теме
Презентации подготовлены на основе учебника А.А. Кузнецова и Н.В. Апатовой "Основы информатики"
Скачать:
Вложение | Размер |
---|---|
operatory_tsiklov_pereschet.ppt | 255 КБ |
organizatsiya_tsiklov.ppt | 154.5 КБ |
primery_tsiklov_pereschet.ppt | 307.5 КБ |
organizatsiya_tsiklov.ppt | 154.5 КБ |
Предварительный просмотр:
Подписи к слайдам:
При выполнении программ нахождения наибольшего общего делителя число повторений различно для разных данных. Когда известно число повторений, удобно использовать цикл пересчет. В Паскале имеется два оператора для организации циклов пересчет: прямой и обратный.
Прямой пересчет идет от известного меньшего числа до известного большего, на каждом шаге прибавляется единица ( например, от 120 до 140: 121, 122, 123, … 139,140). Оператор прямого пересчета: for i:=n1 to n2 do оператор Читается как «для i начиная с n1 до n2 выполнить оператор».
Переменная i называется переменной цикла, она при прямом пересчете всегда меняется от меньшего значения до большего . При i = n1 цикл выполняется первый раз. Затем к значению переменной i добавляется единица и осуществляется проверка, не превысило ли полученное значение величину n2 . Если i+1=< n2 , то оператор выполняется , если нет, то происходит выход из цикла и выполнение следующего по порядку оператора программы.
Оператор в цикле может быть простым или составным, заключенным в операторные скобки. Оператор пересчет работает как цикл «до», поэтому надо быть внимательным, оператор в теле цикла выполнится всегда хотя бы один раз.
Пример Пусть надо вычислить а n . Известно, что для получения целой степени n числа его надо умножить само на себя n раз. Это произведение при выполнении программы будет хранится в ячейке с именем р . Каждый раз, при очередном выполнении цикла, из этой ячейки будет считываться предыдущей результат, домножаться на основание степени а и снова записываться в ячейку р . Основной оператор в теле цикла повторяется n раз и имеет вид. р:=р*а;
При первом выполнении цикла в ячейке р должно находиться число, не влияющее на умножение, т.е. до цикла туда надо записать единицу. Протокол программы: Выполнение программы а =2 n =5 i p 1 1 2 2 4 3 8 4 16 5 32
Program E8; var a,p :real; i,n :integer; Begin write (‘ vvedite a – osnovanie stepeni, a =‘); readln ( a ); write (‘vvedite zeloe n – pokasatel stepeni, n =‘); readln ( n ); p :=1; for i:=1 to n do p:=p*a; write (‘p= ‘, p ); readln end.
Перед текстом программы был представлен протокол ее выполнения при возведении числа 2 в пятую степень. Таблица заполнена вручную, процесс ее заполнения называется отладкой программы. Отладка - это проверка всех этапов работы программы. Для сложных задач сначала составляется контрольный пример (тест) и программа выполняется человеком, который выполняет каждый оператор так, как его выполняет компьютер. Затем программу выполняет компьютер и сверяются все промежуточные, полученные при счете данные и конечные результаты. Только после полного совпадения программа выполняется с реальными данными.
Предварительный просмотр:
Подписи к слайдам:
Предварительный просмотр:
Подписи к слайдам:
Оператор безусловного перехода Этот оператор позволяет перейти без проверки условия либо на один из предыдущих операторов, либо на один из последующих, т.е. изменить порядок выполнения команд. Общий вид оператора: goto n ; Где n – целое число, не более чем из четырех цифр, называемое меткой. Метка появляется в программе три раза: В описательной части в разделе Label ; В операторе goto ; Перед оператором, на который осуществляется безусловный переход, в этом случае метка от оператора отделяется двоеточием.
Организация циклов с помощью операторов условного и безусловного переходов Пусть требуется вычислить наибольший общий делитель двух натуральных чисел А и B . Воспользуемся алгоритмом Евклида: будем уменьшать каждый раз большее из чисел на величину меньшего до тех пор, пока оба числа не станут равны.
Исходные данные Первый шаг Второй шаг Третий шаг НОД ( A и B) =5 A =25 A =10 A =10 A =5 B =15 B =15 B =5 B =5
Program E 5 ; label 1, 2; var a, b : integer; begin write (‘vvedite dva naturalnih chisla ‘); readln ( a,b ); 1. if a=b then goto 2; if a>b then a:=a-b else b:=b-a ; goto 1; 2. Write (‘NOD =‘,a); readln end.
Пример 1. Вычисление p=n! (n факториал) По определению n! =1*2*3*…* n . Используя программу вычисления степени, вычислим p как произведение чисел от 1 до n , т.е. p каждый раз умножается не на одно и то же число, а на значение переменной цикла. Program E9; var p, i , n : integer; begin write (‘vvedite zeloe n= ‘); readln ( n ); p:=1 ; for i:=1 to n do p:=p*i; write ( n,’!=‘,p ); readln end.
Пример 2. Составление таблицы значений функций y=sin x . Пусть требуется составить таблицу значений функций на отрезке [0;3.14] с шагом 0,1 . Чтобы не определять количество повторений вычислений, можно воспользоваться циклом пока. Используя вывод вещественных чисел с фиксированной точкой, определим что количество цифр после запятой в значении функций будет равно 5. Тогда все число, учитывая область значений синуса, займет семь позиций (числа положительные, значит, добавится позиция для десятичной точки и целой части числа). Program E 10 ; var x,y : real; Begin x:=0 ; writeln (‘x’:10,’sin x’:10); while x<=3.14 do begin y:=sin(x) ; writeln (x:10,’ ‘,y:7:5); x:=x+0.1; end; readln end.
При каждом выполнении цикла будет сначала проверяться условие ( x<=3.14 ) , затем вычисляться значение функции, печататься аргумент x (для него отведено десять позиций, из них одна, для цифры дробной части) и, через три пробела, - значение функции. Наконец, для следующего шага цикла вычисляется новое значение аргумента ( x увеличится на 0,1 ). Цикл пока позволяет изменять переменную цикла как угодно, увеличивая ее или уменьшая на любое число.
Пример 3. Суммирование чисел. При суммировании, как и при умножении нескольких чисел, необходимо накапливать результат в некоторой ячейке памяти, каждый раз считывая из этой ячейки предыдущее значение суммы и увеличивая его на очередное слагаемое. Пусть известно, что будет складываться n чисел. В этом случае надо n раз выполнить действие s:=s+a ; здесь a – очередное число, вводимое с клавиатуры. Для первого выполнения этого оператора присваивания надо из ячейки с именем s взять такое число, которое не повлияло бы на результат сложения. Следовательно, прежде чем начать выполнять цикл, надо поместить в эту ячейку (или, что то же самое, присвоить переменной s ) число нуль.
Program E 11 ; var a, s : real; i, n: integer; begin write (‘vvedite kolichestvo slagaemih n= ‘); readln ( n ); s:=0 ; begin write(I,’-oe chislo =‘); readln (a); s:=s+a; end; write (‘summa s=‘,s); readln end.
Если количество чисел неизвестно, то можно задать число – ограничитель, например нуль. В таком случае используется цикл while или repeat . S:=0 ; readln ( a ); while a<>0 do begin s:=s+a ; readln ( a ); end; S:=0 ; repeat readln ( a ); s:=s+a ; until a=0 ;
Оператор цикла обратный пересчет работает аналогично оператору цикла прямого пересчета, только переменная цикла не возрастает с каждым шагом на единицу, а на единицу убывает. Оператор имеет вид: For i:=n2 downto n1 do оператор; Для этого оператора должно также выполняться условие n2>=n1 .
При использовании в программе операторов цикла необходимо соблюдать следующие правила: Внутри цикла может находиться другой цикл, но необходимо, чтобы циклы имели разные переменные и внутренний цикл полностью находился в теле внешнего цикла; Нельзя передавать управление в тело цикла, минуя заголовок (это значит, что метка и оператор goto с этой меткой должны находиться в теле цикла); Если требуется обойти группу операторов в теле цикла и продолжить цикл, т.е. есть выполнить его следующий шаг, то надо передать управление на замыкающий цикл end ; Можно досрочно выйти из цикла, или используя оператор goto , или изменив параметр условия в операторах while и repeat так, чтобы цикл больше не выполнялся.
Проверить работу следующих программ: Е5 Е9 Е10 Е11
Домашние задачи Напишите программы вычисления сумм: сорока слагаемых вида n-i , где i =1,2,3,…,40, а n – данное число; n – слагаемых вида x+i , где x – данное число, а i меняется от 1 до n .
Предварительный просмотр:
Подписи к слайдам:
В своей практической деятельности человек постоянно сталкивается с задачами, при решении которых требуется многократно повторять одни и те же действия. Для составления алгоритмов решения таких задач используются команды повторения (цикла)
Пример Самый простой способ решения этой задачи заключается в следующем: проверяем, не меньше ли M чем N ( если M
Компьютер может заданное число раз выполнить одни и те же действия с разными данными. Повторяющиеся действия в программировании называется циклом. Цикл не может выполняться вечно, в этом случае нарушается свойство алгоритма решить задачу за конечное число шагов. Цикл заканчивается по какому-либо условию.
Проверка этого условия может производиться в начале каждого повторяющегося шага, в этом случае цикл называется пока При проверке условия в конце каждого шага цикл называется до
Разновидность цикла до является цикл пересчет .
В цикле пока сначала проверяется условие, и если оно выполняется, т.е. логическое выражение истинно, то выполняется оператор и снова проверяется условие. Записанное в цикле пока условие является условием продолжения цикла. Как только оно перестанет выполняться, цикл завершится. Цикл пока не выполняется ни разу, если условие при входе в структуру оказалось ложным.
Как правило, цикл пока содержит условие повторения, а цикл до – условие окончания работы цикла. Обе структуры имеют один вход и один выход. Однако цикл до всегда выполняется хотя бы один раз, потому что условие проверяется после выполнения действия. Это затрудняет проверку правильности программы, поэтому лучше использовать цикл пока .
Оператор в цикле может быть простым или составным, заключенным в операторные скобки. В этом случае в цикле могут повторяться несколько операторов, а не один. Повторяющиеся в цикле операторы называются телом цикла.
Оператор цикла «ДО» Проверка условия в цикле до осуществляется после выполнения оператора. Если условие в цикле пока является условием продолжения повторений, то условие в цикле до – условием выхода из цикла, его завершением. Поэтому для одной и той же задачи эти условия противоположны. Общий вид оператора: repeat оператор until условие; Между словами repeat (повторить) и until (до тех пор пока) можно записать любое количество операторов без использования операторных скобок. Перед словом until не ставится точка с запятой.
Программа нахождения наибольшего общего делителя. program E7; var a,b: integer; begin write (‘vvedite dva naturalnih chisla’); readln ( a,b ); repeat if a > b then a:=a-b ; if b > a then b:=b-a ; until a=b ; write (‘HOD= ‘, a ); readln end.
По теме: методические разработки, презентации и конспекты
Презентация "Проектная деятельность на уроках информатики"
Презентация подготовлена для выступления на МО преподавателей. "Проектная деятельность на уроках информатики". Из опыта работы....
Использование презентации Power Point на уроках информатики
Статья «Использование MsPowerPoint на уроках информатики»Интерес к изучению информатики во многом зависит от того, как проходят уроки. Даже на самых хороших уроках элемент обязательности сдержив...
Сценарий урока информатики № 7 в 8 классе по теме: Контрольная работа по теме «Базовые алгоритмические структуры в среде программирования».
Данный урок является заключительным уроком по теме «Базовые алгоритмические структуры в среде программирования», на котором проверяются знания, умения и навыки по данной теме, умение работать в среде ...
Презентация "Техника безопасности на уроках информатики"
Презентация о соблюдении техники безопасности на уроках информатики...
Презентация "Растровая графика" к урокам информатики в 10 классе по теме:"Кодирование графической информации"
Данная презентация знакомит учащихся с форматами растровых графических файлов. После просмотра и обсуждения презентации можно приступить к экспериментам в Практической работе 1.5 в учебнике...
Методическая разработка урока информатики в 5 классе на тему "Процедура с параметром" (среда программирования ЛогоМиры
Методическая разработка содержит материалы урока информатики для 5 класса. Данный урок разработан в соответствии с ФГОС....
Технологическая карта к уроку информатики «Создание теста в среде PowerPoint»
Технологическая карта разработана для урока информатики в 7 классе по теме: «Создание теста в среде PowerPoint»...