Цель : Показать сходство и различие вложенных циклов в языках программирования QBasic и Turbo Pascal 7.0.

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



Advertisements
Похожие презентации
Организация программ циклической структуры. Виды циклов: Цикл с предусловием (while) Цикл с постусловием (repeat) Цикл с параметром (for)
Advertisements

ПРОГРАММИРОВАНИЕ ПОВТОРЕНИЙ МОУ «Средняя общеобразовательная школа 41» Учитель информатики: Рассохина Г.В. САРАНСК 2008.
АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ В TURBO PASCAL Условие Оператор ДаНет Учитель информатики: Коваленко Татьяна Викторовна
Цель урока: Показать сходство и различие операторов цикла с предусловием и постусловием в языках программирования QBasic и Turbo Pascal 7.0. План урока:
Цель: Показать сходство и различие цикла с параметром в языках программирования QBasic и Turbo Pascal 7.0.
Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
Циклы на языке Pascal повторение. Циклы позволяют многократно выполнять одну или группу команд, причем в тексте программы нет необходимости записывать.
Оператор цикла с предусловием. Оператор цикла с предусловием используется в тех случаях, когда заранее неизвестно число повторений цикла. Форма записи.
Тема: Цикл с параметром (цикл «Для») На естественном языке Для i от А до В повторять Тело цикла i,a,b- параметры цикла тело цикла – это команды, которые.
Циклом Циклом называется операция, в которой одни и те же действия повторяются многократно. Цикл состоит из оператора цикла и тела цикла. Оператор цикла.
ЦИКЛЫ Преподаватель информатики КГБОУ СПО «Барнаульский государственный педагогический колледж» Жиляева Ирина Петровна.
ПРОГРАММИРОВАНИЕ ПОВТОРЕНИЙ. НАЧАЛО AB A, B, C A = A + C F = B + C F КОНЕЦ B = B + C F = A + B B < C A = A + B F = A + C нет да A = 1, B = 1, C = 4 F=?
Организация повторений в Паскале. Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.
Презентация на тему: «Программирование циклических структур». Составила: учитель информатики Чура Н.А. Составила: учитель информатики Чура Н.А.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Циклические конструкции 1. Цикл с предусловием предусловием 2. Цикл с постусловием постусловием 3. Цикл с параметром параметром 4. Вложенные циклы Вложенные.
далее цикл с известным числом шагов цикл с неизвестным числом шагов (цикл с условием)цикл с неизвестным числом шагов (цикл с условием) что такое цикл?
Циклические алгоритмы. Цикл - это такая алгоритмическая структура, в которой осуществляется многократное повторение одной ( или нескольких ) команд.
Операторы цикла с условием 9 класс Раздел: Основы алгоритмизации и программирование на языке Pascal.
Транксрипт:

Цель : Показать сходство и различие вложенных циклов в языках программирования QBasic и Turbo Pascal 7.0.

Проверка задания 1. Определить значение переменной S после выполнения следующих операторов: s=0:n=5 For i=2 То n: s=s+100 \ i :next s:=0; n:=5 For i:=2 То n Do s:=s+100 Div i Ответ:S= А) правильноБ) неправильно, так как начальное значение меньше конечного. Вопросы. Как записывается оператор цикла с параметром? Как он работает? Как записывается полный условный оператор? Как он работает? Как записывается неполный условный оператор? Как он работает?

Цикл с предусловием. While … Wend While... Do Цикл с предусловием используется для программирования процессов, в которых число повторений оператора цикла не известно, а задается некоторое условие его окончания. Выполнение оператора цикла с предусловием начинается с проверки условия, записанного после слова while. Если оно соблюдается, то выполняется, а затем вновь проверяется условие и т.д. Как только на очередном шаге окажется, что условие не соблюдается, то выполнение прекратится.

Дано натуральное число n. Посчитать количество цифр в числе Подсчет количества цифр начнем с последней цифры числа. Увеличим счетчик цифр на единицу. Число уменьшим в 10 раз (тем самым мы избавляемся от последней цифры числа). Далее с получившимся числом проделаем ту же последовательность действий и т.д., пока число не станет равным нулю. Примечание. В теле цикла обязательно должен быть оператор, влияющий на соблюдение условия, в противном случае произойдет зацикливание.

PRIM1 DEFLNG M – N DEFINT k CLS Вводим целое число. INPUTN=; N Запоминаем его и счетчику цифр M=N: K=0 Пока m0 делать цикл. WHILE M0 "уменьшаем" число на последнюю K=K+1: M=M \ 10 WEND Вывод количества цифр PRINT В числе ;N; – ;K ; цифр END Program prim1; uses crt; Var m, n: Longint; k: Integer; {счетчик цифр} Begin clrscr; Writeln(' Введите N='); Readln(n); присваиваем начальное значение. m: = n; k:=0; While m0 Do Begin цифру, т.е. в 10 раз. k:=k+1; m:= m Div 10; { Inc(k) } End; Writeln('В числе ',n,' - ',k,' цифр!'); Readln; End. QB TP

Оператор цикла с постусловием DO-LOOP Repeat (повторять) Until (до тех пор, пока) Наибольшими в QBasic возможностями обладает следующая конструкция циклов типа DO-LOOP. DO и LOOP - верхная и нижняя границами цикла, позволяют тестировать условие завершения цикла в верху цикла, в низу цикла, в обоих местах или нигде. Если цикл должен повториться по TRUE, то используйте управляющее слово WHILE. Если цикл должен повториться по FALSE, то используйте управляющее слово UNTIL.

Для программной реализации в Turbo Pascal 7.0 циклических процессов с неизвестным числом повторений существует еще один оператор оператор цикла с постусловием, который имеет следующий вид: Repeat ; ; Until ; где Repeat (повторять), Until (до тех пор, пока …)

Отличие Отличие этого оператора от оператора цикла с предусловием: проверка условия производится после очередного выполнения тела цикла. Это обеспечивает его выполнение хотя бы один раз. Данный оператор цикла предполагает наличие нескольких операторов в теле цикла, поэтому служебные слова Begin и End не нужны. Последовательность операторов, входящих в тело цикла выполняется один раз, после чего проверяется соблюдение условия, записанного следом за служебным словом Until. Если условие не соблюдается, цикл завершается. В противном случае тело цикла повторяется еще раз, после чего снова проверяется соблюдение условия.

При описании циклов с постусловием необходимо принимать во внимание следующее: - перед первым выполнением цикла условие его окончания (или продолжения) должно быть определено; - тело цикла должно содержать хотя бы один оператор, влияющий на условие окончания (продолжения), иначе цикл будет бесконечным; - условие окончания цикла должно быть в результате выполнено. - Для досрочного выхода из цикла используют в QBasic операторы EXIT DO (LOOP), в Turbo Pascal 7.0 функции EXIT, BREAK.

Составить программу планирования закупки товара в магазине на сумму, не превышающую заданную величину. Решение х, k соответствующие цена и количество товара, р заданная предельная сумма, s общая стоимость покупки. Начальное значение общей стоимости покупки (s) равно нулю. Значение предельной суммы считывается с клавиатуры. Необходимо повторять запрос цены и количества выбранного товара, вычислять его стоимость, суммировать ее с общей стоимостью и выводить результат на экран до тех пор, пока она не превысит предельную сумму р. В этом случае на экран нужно вывести сообщение о превышении:

'prim9; DEFINT C, K, P, S CLS INPUT "пред сумма = "; P S = 0 DO INPUT "цена тов и его кол-во = "; C, K S = S + C * K PRINT "стоимость покупки ="; S LOOP UNTIL S > P PRINT "суммарная стоим. покупки > предел. суммы " END program prim9; uses crt; var c,k,p,s:integer; begin clrscr; write('пред сумма = ');readln(p); s:=0; repeat writeln('цена тов и его кол-во ='); readln(c,k); s:=s+c*k; writeln('стоимость покупки =',s); until s>p; writeln('суммарная стоим. покупки > предел. суммы '); readln; end. QB TP

Самостоятельно Осуществите досрочный выход из цикла при условии, что Вы приобрели вещи на сумму Р/2. If S>p/2 then exit do if (s>p/2) then break;

Алгоритм Евклида это алгоритм нахождения наибольшего общего делителя (НОД) двух целых неотрицательных чисел. Алгоритм Евклида нахождения НОД основан на следующих свойствах этой величины. Пусть х и у одновременно не равные нулю целые неотрицательные числа и пусть x >= y, тогда если у=0, то НОД(х,у) = х, а если уО, то для чисел х, у и r, где r остаток от деления х на у выполняется равенство НОД(х, у)=НОД(у, r). Например, пусть х=48, а у=18, найдем их наибольший общий делитель.

XY Результаты 4818x>y 48 mod 8=1218xyНОД(12,18)=НОД(12,6) 12 mod 6=06x=0НОД(12,6)=НОД(0,6) 06 НОД(0,6)=6

prim3 Program prim3; uses crt; DEFINT X,YVar х, у: Integer; Begin CLSclrscr; Вводим два целых неотрицательных числа. INPUTX=,Y=;X,Y Writeln('x:=,y:=');Readln(x,y); DO Repeat IF X>Y THEN X=X mod Y ELSE Y=Y mod X If x>y Then x:=x Mod у Else y:=y Mod х; До тех пор, пока одно из чисел не станет равно нулю. LOOP UNTIL x=0 or Y=0 Until (х=0) Or (y=0); Вывод НОД - без условного оператора, так как одно из чисел равно нулю. PRINTNOD(A,B)=;X+Y Writeln('НОД=',х+у)); Readln; End End. QB TP

Задание Дана последовательность операторов: а =1 : b=1а:=1; b:=1; while a+b