Сравниваем циклы, или…. Андрей Петрович Ершов … Программист должен обладать способностью первоклассного математика к абстракции и логическому мышлению.

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



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

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

Сравниваем циклы, или…

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

Для исполнения одного из нескольких операторов в зависимости от условия позволяет оператор - Выполнить выражение, заданное в его правой части, и присвоить результат переменной, имя которой указано в его левой части предписывает оператор - ветвления присваивания.

Для того чтобы выполнить входящие в его состав операторы несколько раз служит оператор - цикла

Найди правильную запись цикла на языке Pascal Цикл повторения с параметром Цикл повторения с параметром Цикл с предусловием Цикл с предусловием Цикл с постусловием Цикл с постусловием While... do... ; While... do... ; For... to... do... ; For... to... do... ; Repeat... until...; Repeat... until...;

Напротив каждой схемы алгоритма напишите, какому из операторов цикла (while…do, repeat…until, for…to…do) она соответствует Условие Группа операторов Нет Да Условие Группа операторов Нет Да Пар :=нач.зн.,кон.з,шаг Группа операторов Да Нет

Какое значение примет переменная х в результате выполнения следующих фрагментов программ? 1) x:=1; while x

Какое значение примет переменная х в результате выполнения следующих фрагментов программ? 1) x:=1; repeat x:=x+1; until x>10; Ответ: 2) x:=1; repeat x:=x+3; x:=x+1; until x>10; Ответ: 11 13

Остановится ли когда-нибудь цикл, представленный в следующих фрагментах программы? 1) x:=1; while x>1 do x:=x+1; Ответ: 2) x:=10; while x>1 do x:=x+1; Ответ: 3) x:=1; y:=1; while x

Остановится ли когда-нибудь цикл, представленный в следующих фрагментах программы? 1) x:=1; y:=1; repeat y:=y+1; x:=x+1; until x=10; Ответ: 2) x:=10; y:=10; repeat y:=y+1; x:=x+1; until x=10; Ответ: НетДа

Этапы решения задач на ЭВМ 1) постановка задачи; 2) построение математической модели; 3) конструирование алгоритма; 4) перевод алгоритма в программу; 5) отладка и испытание программы; 6) получение и анализ результатов.

? Задача. Вычислить наибольший общий делитель двух целых чисел Дано: Найти: целые числа a, b. НОД(a, b) Решение

Сравниваем циклы, или Алгоритм Евклида

Алгоритм Евклида с вычитанием 1. Ввод целых чисел a и b 2. Выбираем большее из двух чисел 3. Вычитаем из этого числа второе (меньшее) 4. Полученной разностью заменяем большее число 5. Повторяем пункты 2,3,4 до тех пор, пока одно из чисел не станет равным 0, - в этом случае второе число и будет искомым наибольшим делителем.

Рассмотрим процесс вычисления НОД(a, b), где a=114, b=48 Шаг поиска НОД abРазность Ответ: НОД(114, 48)=

Блок-схема алгоритма Евклида начало Ввод a,b abab конец a b:=b-a a>b a:=a-b нет да нет

Программа PROGRAM NOD_EUCLID; USES CRT; VAR A,B:INTEGER; BEGIN CLRSCR; WRITELN(ВВЕДИТЕ A И B);READLN(A,B); WHILE AB DO IF A>B THEN A:=A-B ELSE B:=B-A; WRITE(НОД=,A); READKEY; END.

Программа PROGRAM NOD_EUCLID; USES CRT; VAR A,B:INTEGER; BEGIN CLRSCR; WRITELN(ВВЕДИТЕ A И B);READLN(A,B); A:=ABS(A);B:=ABS(B); WHILE AB DO IF A>B THEN A:=A-B ELSE B:=B-A; WRITE(НОД=,A); READKEY; END.

Программа PROGRAM NOD_EUCLID; USES CRT; VAR A,B:INTEGER; BEGIN CLRSCR; WRITELN(ВВЕДИТЕ A И B);READLN(A,B); IF A*B=0 THEN WRITE (Некорректные данные) ELSE BEGIN A:=ABS(A);B:=ABS(B); WHILE AB DO IF A>B THEN A:=A-B ELSE B:=B-A; WRITE(НОД=,A); END; READKEY; END.

Блок-схема алгоритма Евклида (дополненная) abab конец a b:=b-a a>b a:=a-b нет да нет начало Ввод a,b a*b=0 Некорректные данные a:=abs(a) b:=abs(b) да нет

Домашнее задание «Электронный практикум» Упражнение к уроку 16