Рабочие листы
к вашим урокам
Скачать
1 слайд
TURBO PASCAL
Основы, операторы, циклы
Романенко Т.Н., учитель информатики
МАОУ СОШ № 53 г. Томска
2 слайд
Процедуры ввода и вывода
Решение самой простой задачи на ЭВМ не обходится без операций ввода и вывода информации. Ввод данных – это передача информации от внешнего носителя в оперативную память для обработки. Вывод – обратный процесс, когда данные передаются после обработки из оперативной памяти компьютера на внешний носитель. Внешним носителем может служить терминал ввода-вывода (монитор), принтер, гибкий (дискета) или жесткий (винчестер) магнитный диск и другие устройства.
В языке Паскаль стандартным средством общения человека и ЭВМ являются предопределенные файлы
3 слайд
Input и Output, которые по умолчанию являются параметрами программы. Программа получает входные данные из файла Input и помещает результат обработки в файл Output. Стандартно файлу Input назначена клавиатура, а файлу Output – экран терминала.
Для выполнения ввода-вывода служат четыре процедуры: Read, Readln, Write, Writeln. В данном разделе будет рассмотрено их применение для ввода данных с клавиатуры и вывода на экран.
Ввод
Вывод
4 слайд
Процедуры чтения
Процедура чтения Read обеспечивает ввод числовых данных, строк, символов и т.д. для последующей их обработки программой. Формат:
Read (X1, X2, …, Xn);
или
Read (F, X1,X2, … ,Xn);
где X1, X2, … ,Xn – переменные допустимых типов данных; F – переменная, связанная с файлом, откуда будет выполнено чтение. В нашем случае рассмотрим только первый вариант.
Значения X1, X2, … ,Xn набираются минимум через один пробел на клавиатуре и высвечиваются на экране. После набора данных для одной процедуры Read нажимается клавиша ввода Enter.
5 слайд
Если в программе имеется несколько процедур Read, данные из них вводятся потоком, т.е. после считывания значения переменных для одной процедуры Read набирают в той же строке, что и для предыдущей, до окончания строки, затем происходит переход на следующую строку.
П Р И М Е Р.
var
A, B, Sum1 : integer;
C, D, Sum2 : real;
. . . .
begin
read (A, B); Sum1:=A+B;
read (C, D); Sum2:=C+D;
. . . .
end.
6 слайд
Набираем на клавиатуре: 12 15 0.5 0.9 и нажимаем Enter. Но можно и после набора каждой пары нажимать Enter, т.е. 12 15 Enter, 0.5 0.9 Enter.
Процедура чтения Readln аналогична процедуре Read, единственное отличие заключается в том, что после считывания последней в списке значения для одной процедуры Readln данные для следующей процедуры Readln будут считываться с начала новой строки. Если в предыдущем примере заменить Read на Readln:
. . .
read (A, B); Sum1:=A+B;
read (C, D); Sum2:=C+D;
. . .
то после набора значений A и B курсор автоматически перейдет на новую строку, где будут набираться данные для Cи D:
12 15 Enter0.5 0.9 Enter
7 слайд
Процедура записи
Процедура записи Write производит вывод числовых данных, символов, строк и булевских значений. Формат:
Write (Y1, Y2, … ,Yn);
или
Write (F, Y1, Y2, … ,Yn);
где Y1, Y2, … ,Yn – выражения типа integer, byte, char, boolean и т.д.; F – имя файла, куда производится вывод. Для вывода на принтер F равно Lst. Чтобы устройство Lst стало доступным, необходимо подключить модуль Printer с помощью зарезервированного слова uses.
8 слайд
П Р И М Е Р.
uses Printer;
var
. . .
begin
Write(234);{Выражение предоставлено значением}
Write(A+B-2); {Выводится результат выражения}
Write(Lst, ' Результат вычислений = ' A+B);
end.
Процедура записи Writeln отличается от процедуры записи Write тем, что в процедуре Writeln после вывода курсор автоматически переходит не новую строку, когда при Write курсор остается на этой же строке.
9 слайд
Форматы вывода
В процедурах вывода Write и Writeln имеется возможность записи выражения, определяющего ширину поля вывода.
1.Пусть дано целое число. Осуществим его вывод с позиции расположения курсора. Write (a).
ЧислоВыражениеРезультат
a:=123Write (a)123
a:=555Write (a,a,a)555555555
2.Теперь выведем целое число a в крайние правые позиции поля ширины p. Write (a:p).
ЧислоВыражениеРезультат
a:=134Write (a:5)___134
a:=1Write (a:10)___________1
10 слайд
3.Выведем вещественное число в формате с плавающей точкой (на такое число отводится 18 символов, один из которых отводится под знак числа). Write (R);
ЧислоВыражениеРезультат
R:=755.432Write (R)__7.1543200000E+02
R:=-1.919E+01Write (R) _–1.9190000000E+01
4. Выведем вещественное число R в формате с плавающей точкой в крайние правые позиции поля шириной p символов, причем после десятичной точки выведем q цифр (0<q<25).
Write (R:p:q);
ЧислоВыражениеРезультат
R:=511.04Write (R:8:4)511.0400
R:=-46.78Write (R:7:2)_–46.78
Подобные операции вывода с крайней правой позиции поля шириной несколько символов можно проводить и с другими видами переменных.
11 слайд
Операторы
Оператором называется предложение языка программирования, задающее полное описание некоторого действия, которое необходимо выполнить. Основная часть программы на языке Турбо Паскаля представляет собой последовательность операторов. Разделителем операторов служит точка с запятой. Все операторы языка Турбо Паскаль можно разделить на две группы:
Простые операторы
Структурные операторы
12 слайд
Простые операторы
Операторы, не содержащие никаких других опера торов, называются простыми.
К ним относятся:
операторы присваивания
операторы безусловного перехода
операторы вызова процедуры
пустой оператор
13 слайд
Оператор присваивания
Оператор присваивания (:=) предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, идентификатор которой расположен в левой части. Переменная и выражение должны быть совместимы по типу. Приведем общий вид оператора присваивания:
переменная
:=
выражение
идентификатор функции
14 слайд
Оператор присваивания выполняется следующим образом: сначала вычисляется выражение в правой части присваивания, а затем его значение присваивается пере- менной, указанной в левой части оператора. Например, для оператора R:=A*B; сначала выполняется умножение двух чисел A и B, а затем результат присваивается переменной R. В предыдущих примерах мы уже использовали этот опе-ратор, например:
A:= 8;
B:= 16;
S:= A * B;
D:= A / B;
15 слайд
Оператор безусловного перехода
Оператор безусловного перехода (go to) означает “перейти к” и применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой-либо другой, отмеченный меткой оператор.
Синтаксическая диаграмма для оператора перехода имеет следующий вид:
go to
метка
16 слайд
Метка объявляется в разделе описания меток и может содержать как цифровые, так и буквенные символы.
П Р И М Е Р.
go to 999 ;
go to Home;
При использовании оператора go to необходимо помнить, что областью действия метки является только тот блок, в котором она описана. Передача управления в другой блок запрещена.
Использование безусловных передач управления в программе считается теоретически избыточным и подвер- гается серьезной критике, т.к.способствует созданию мало- понятных и трудно модифицируемых программ, которые вызывают большие сложности при отладке и сопровожде- нии. Поэтому рекомендуется минимальное использование оператора go to с соблюдением следующих правил:
17 слайд
следует стремиться применять операторы перехода (если кажется невозможным обойтись без них) для передачи управления только вниз (вперед) по тексту программы; при необходимости передачи управления назад следует использовать операторы цикла;
расстояние между меткой и оператором перехода на нее не превышать одной странице текста (или высоты экрана дисплея).
18 слайд
Оператор вызова процедуры
Оператор вызова процедуры служит для активизации предварительно определенной пользователем, или стандартной, процедуры.
Например:
Clrscr; {Вызов стандартной процедуры
очистки экрана}
BeginWork(a, b); {Вызов пользовательской процедуры}
19 слайд
Пустой оператор
Пустой оператор не содержит никаких символов и не выполняет никаких действий. Обычно пустой оператор используется для организации перехода к концу локально-го или глобального блока в случаях, если необходимо пропустить несколько операторов, не выходя из блока. Для этого перед зарезервированным словом end ставится метка и двоеточие, например:
20 слайд
label Metka;
. . .
begin
. . .
go to Metka;
. . .
Metka;
end;
begin
end.
Metka :
go to Metka;
. . .
. . .
21 слайд
Структурные операторы
Структурные операторы представляют собой конструкции, построенные из других операторов по строго определенным правилам. Все структурные операторы можно разделить на три группы:
составные операторы
условные операторы
операторы повтора
22 слайд
Составной оператор
Составной оператор представляет собой группу из произвольного числа операторов, отделенных друг от друга точкой с запятой, и ограниченную операторными скобками begin и end.
Синтаксическая диаграмма составного оператора:
begin
end
оператор
;
Составной оператор воспринимается как единое
целое и может находится в любом месте программы, где
синтаксис языка допускает наличие оператора.
23 слайд
Условные операторы
Условный оператор предназначен для выбора к исполнению одного из возможных действий (операторов) в зависимости от некоторого условия (при этом одно из действий может быть пустым, т.е. отсутствовать). В качестве условий выбора используется значение логического выражения. В Турбо Паскале имеются два условных оператора:
if
case
24 слайд
Оператор условия if
Оператор условия if является одним из самых популярных средств, изменяющих естественный порядок выполнения операторов программы. Диаграмма оператора условия if выглядит так:
if
then
выражение
оператор
else
оператор
Как видно из диаграммы, он может принимать одну из
следующих форм:
25 слайд
if <условие> then <оператор 1>
else <оператор 2>;
if <условие> then <оператор>;
если <условие> то <оператор 1>
иначе <оператор 2>;
если <условие> то <оператор>;
Оператор условий if выполняется следующим образом. Сначала вычисляется выражение, записанное в условии. В результате его вычисления получается значение логического типа. В первом случае, если значение выражения есть истина, выполняется <оператор 1>, указанный после слова then (то). Если результат вычисления выражения в условии есть ложь, выполняется <оператор 2>. Во втором – если результат выражения есть истина, выполняется <оператор>, если ложь –оператор, следующий сразу за оператором if. Операторы if могут быть вложенными.
Пример фрагмента программы с оператором условия if:
26 слайд
Read (N) ;
if N<>0 then
begin
F:=1 / N ;
Writeln(' Значение функции 1 / N = ', F:0:2) ;
end;
else
Writeln(' Деление на ноль невозможно! ') ;
В данном примере с клавиатуры вводится действительное число. Затем проверяется условие N<>0, (знак «<>» обозначает не равно). Если оно выполняется, производится вычисление числа, обратного данному и вывод полученного числа на экран с округлением до двух знаков после запятой. Если условие не выполняется, то выводится соответствующее сообщение.
27 слайд
Примечание:
При использовании вложенных условных операторов может возникнуть синтаксическая неоднозначность, иллюстрируемая следующей схемой:
if <условие 1> then if< условие 2> then <оператор 1>
else <оператор 2>
Возникающая двусмысленность, к какому опера- тору if принадлежит часть else <оператор 2>, разрешается тем, что служебное слово else всегда ассоциируется (связывается) с ближайшим по тексту служебным словом if, которое еще не связано со служебным словом else.
В связи с этим следует проявлять аккуратность при записи вложенных операторов условия.
28 слайд
Оператор выбора case
Если один оператор if может обеспечить выбор из двух альтернатив, то оператор выбора case позволяет сделать выбор из произвольного числа имеющихся вариантов. Он состоит из выражения, называемого селектором (selection – выбор альтернативы), и списка параметров, каждому из которых предшествует список констант выбора (список может выглядеть из одной константы). Синтаксическая диаграмма оператора case выглядит следующим образом:
else
опера-
тор
case
селек-
тор
of
кон-
станта
:
опера-
тор
end
29 слайд
Следуя данной диаграмме, получим следующий формат записи:
case <выражение-селектор> of
<список 1>: <оператор 1;>
<список 2>: <оператор 2;>
. . .
<список N>: <оператор N;>
else <оператор >
end;
Оператор case работает следующим образом. Сначала вычисляется значение выражения-селектора, затем обеспечи- вается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна константа не равна текущему значению селектора, выполняется опера- тор, стоящий за словом else. Если слово else отсутствует, ак-тивизируется оператор, находящийся за словом end, т.е. пер-вый оператор за границей case.
30 слайд
Приведем типичные формы записи оператора case.
Селектор интервального типа:
case I of
1 .. 10: Writeln(' число ', I : 4, ' в диапазоне 1 – 10 ');
11 .. 20: Writeln(' число ', I : 4, ' в диапазоне 11 – 20 ' );
21 .. 30: Writeln(' число ', I : 4, ' в диапазоне 21 – 30 ')
else Writeln(' число ', I : 4, ' вне предела контроля ')
end;
Селектор целочисленного типа:
case I of
1 : Z := I + 10;
2 : Z := I + 100;
3 : Z := I + 1000
end;
31 слайд
Селектор перечисляемого пользовательского типа:
var
Season:(winter, spring, summer, autumn);
begin
case Season of
winter: writeln('зима');
spring: writeln('весна');
summer: writeln('лето');
autumn: writeln('осень');
end;
end.
32 слайд
Операторы повтора
Если в программе возникает необходимость неоднократно выполнить некоторые операторы, то используются операторы повтора (циклы). В языке Паскаль различают три вида операторов цикла:
Они используются для организации циклов различных типов. Выражение, управляющее повторением, должно иметь логический тип.
Если число повторений оператора (составного опера- тора) заранее неизвестно, а задано лишь условие его повторения (или окончания), используют операторы while, repeat. Оператор for используется, если число повторений заранее известно.
while
repeat
for
33 слайд
Оператор while
Оператор while (пока) часто называют оператором цикла с предусловием за то, что проверка условия выполнения тела цикла производится в самом начале оператора.
Синтаксическая диаграмма для данного оператора выглядит следующим образом:
while
выражение
оператор
do
Формат записи:
while <условие продолжения повторений> do
<тело цикла>
Условие – логическое выражение, тело цикла – простой или составной оператор. Перед каждым выполнением тела цикла вычисляется значение выражения условия
34 слайд
Если результат истинен, то тело цикла выполняется и снова вычисляется выражение условия. Если результат ложен, происходят выход из цикла и переход к первому после while оператору.
Приведем программу, демонстрирующую работу цикла while. Вычисление факториала введенного числа.
var n, i : integer; fn : longint;
begin
writeln ('Введите натуральное число ...') ;
read (n) ;
fn := 1 ;
while i < n do
begin
i := i + 1;
fn := fn * i ;
end;
writeln ('... его факториал равен', fn : 10);
end.
35 слайд
Оператор повтора repeat
Оператор повтора repeat аналогичен оператору while, но отличается от него, во-первых, тем, что условие проверяется после очередного выполнения операторов тела цикла, а во-вторых, тем, что критерием прекращения цикла является равенство выражения истине. За это цикл repeat часто называют циклом с постусловием, или циклом “ ДО”, так как он прекращается выполняться, как только значение выражения условия, записанного, после слова until становится истина.
Оператор условия repeat состоит из заголовка repeat, тела цикла и условия окончания until.
Синтаксическая диаграмма для данного оператора выглядит следующим образом:
36 слайд
Формат записи:
repeat
<оператор;>
. . .
<оператор;>
until <условие окончания цикла> ;
Операторы, заключенные между словами repeat и until, являются телом цикла. Вначале выполняется тело цикла, за- тем проверяется условие выхода из цикла. Именно по этому цикл, организованный с помощью оператора repeat, в любом случае выполнится хотя бы один раз. Если результат логичес- кого выражения ложен, то тело цикла повторяется еще раз; если результат истина, происходит выход из цикла.
repeat
оператор
выражение
until
;
37 слайд
При программировании операторов тела циклов следует обеспечить влияние по крайней мере одного из операторов тела цикла на значение условия, иначе цикл будет выполнятся беско- нечно.
Примером действия оператора repeat служит следующая программа, суммирующая числа, вводимые с клавиатуры, если пользователь ввел 0, то выводится сумма.
var x,sum : integer ;
begin
sum:=0;
repeat
write ('Значение Х=') ;
readln (x) ;
if x < > 0 then sum := sum + x ;
until x = 0;
writeln('Сумма введенных чисел = ', sum);
end.
38 слайд
Оператор повтора for
В случаях, когда число повторений может быть зара- нее известно, для организации циклической обработки ин- формации применяется оператор повтора for. Часто этот оператор называют оператором цикла с параметром, так как число повторений задается переменной, называемой пара- метром цикла, или управляющей переменной.
Оператор повтора for состоит из заголовка и тела цикла.
Синтаксическая диаграмма для данного оператора выглядит следующим образом:
for
идентификатор
переменной
:=
выражение
to
downto
оператор
do
выражение
39 слайд
Как видно из диаграммы он может быть представлен в двух формах:
for <параметр цикла> := <S1> to <S2> do <оператор> ;
for <параметр цикла> := <S1> to <S2> downto <оператор> ;
где S1 и S2 – выражения, определяющие соответственно на- чальное и конечное значение параметра цикла;
for …do – заголовок цикла;
<оператор> – тело цикла.
Тело цикла может бать простым или составным опера- тором. Оператор for обеспечивает выполнение тела цикла до тех пор, пока не будут перебраны все значения параметра цик- ла от начального до конечного.
Заголовок оператора повтора for определяет:
диапазон изменения значений управляющей переменной (па- раметра цикла) и одновременно число повторений оператора, содержащегося в теле цикла;
40 слайд
направление изменения значения параметра цикла (возрастание –to или убывание – downto).
П Р И М Е Р:
for I := 1 to 10 do Read (M[I]) ; {Чтение элементов массива}
for I := 10 downto 1 do Write (M[I]) ;{Вывод элементов
массива}
При первом обращении к оператору for вначале вычисляют- ся выражения S1 и осуществляется присваивание <параметр цикла> := S1.
После этого циклически повторяются следующие действия:
1. Проверяется условие <параметр цикла>: <= S2.
2. Если условие выполнено, то оператор for продолжает работу (выполняется оператор в теле цикла), если условие <параметр цикла>: <= S2 не выполнено, то оператор for завершает работу, и управление в программе передается на оператор, следующий за циклом.
3. Значение управляющей переменной изменяется на +1 (to) или –1 (downto) и далее с пункта 1. Обратите внимание, что шаг изменения управляющей переменной – единица.
41 слайд
На использование управляющей переменной (пара- метра цикла) в цикле for накладываются следующие ограни- чения.
1. В качестве параметра должна использоваться простая переменная, описанная в текущем блоке.
2. Управляющая переменная должна иметь дискретный тип.
3. Начальное и конечное значение диапазона должны иметь тип, совместимый с типом управляющей переменной. При этом допустим любой скалярный тип, кроме вещественного.
4. В теле цикла запрещается явное изменение значения уп- равляющей переменной (например, оператором присваива- ния).
5. После завершения оператора значение управляющей пе- ременной становится неопределенным, если только выпол-нение оператора не было прервано оператором перехода.
Приведем пример действия оператора for на примере перевода температуры из «Цельсия» (C) в «Фаренгейт» (F). По формуле F = C*1.8 + 32, на отрезке от15ºC до 30ºC c шагом 1ºC.
42 слайд
var I : integer;
F : real ;
begin
writeln (' Т Е М П Е Р Т У Р А ') ;
for I := 15 to 30 do
begin
F := I*1.8 + 32 ;
writeln ('По Цельсию = ',I,' по Фаренгейту = ',F:5:1) ;
end;
end.
Допускается вкладывание одного цикла в другой с соб- людением всех правил.
Рабочие листы
к вашим урокам
Скачать
Презентация на тему "Turbo Pascal. Основы. Операторы. Циклы" предназначена для учеников, начинающих изучение языка программирования Pascal. Материал презентации очень обширный, содержит теоретический материал, а также разобранные задачи и много примеров по введению данных с разными операторами.
Презентацию можно также использовать в качестве пособия для дистанционного обучения.
6 665 097 материалов в базе
Настоящий материал опубликован пользователем Романенко Татьяна Николаевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс профессиональной переподготовки
300/600 ч.
Курс профессиональной переподготовки
600 ч.
Курс профессиональной переподготовки
300 ч. — 1200 ч.
Мини-курс
6 ч.
Мини-курс
4 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.