Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №1

.pdf
Скачиваний:
10
Добавлен:
18.05.2015
Размер:
421.67 Кб
Скачать

Лабораторная работа № 1

Основные понятия языка

1 Состав языка

Программа состоит из используемых операторов и операторов описания.

Исполняемый оператор задает законченное действие, выполняемое над данными. Примеры исполняемых операторов: вывод на экран, занесение числа в память, выход из программы.

Исполняемые операторы для краткости часто называют просто операторами, а операторы описания – описаниями. Описания должны предшествовать операторам, которых используются соответствующие данные. Операторы программы используются последовательно, один за другим, если явным образом не задан иной порядок.

Для того чтобы лучше представить себе, о чем идет речь, рассмотрим простейшую программу на Паскале. Все, что она делает, - вычисляет и выводит на экран сумму двух целых чисел, введенных с клавиатуры.

1 var a, b , sum : integer;

2begin

3readln(a, b);

4sum := a + b;

5writeln(‘Сумма чисел ’ , a ,’ и ‘, b ,’ равна ’, sum);

6end.

В программе шесть строк. В первой строке располагается оператор описания величин, которые будут использоваться в программе. Для каждой величины задается имя, по которому к ней будут обращаться, и ее тип. «Волшебным словом» var обозначается тот факт, что a, b и sum переменные, то есть величины, которые во время работы программы могут менять свои значения. Для всех переменных задан целый тип, он обозначается integer. Тип необходим для того, чтобы переменным в памяти было отведено соответствующее место.

Исполняемые операторы программы располагаются между служебными словами begin и end, которые предназначены для объединения операторов и сами операторам не являются. Операторы отделяются друг от друга точкой с запятой.

Ввод с клавиатуры выполняется в третьей строке с помощью стандартной процедуры с именем readln. В скобках после имени указывается, каким именно переменным будут присвоены значения. Для вывода результатов работы программы в пятой строке используется стандартная процедура writeln. В скобках через запятую перечисляется все, что мы хотим вывести на экран, при этом пояснительный текст заключается в апострофы. Например, если ввести в программу числа 2 и 3, результат выглядит так:

Сумма чисел 2 и 3 равно 5

В четвертой строке выполняется вычисление суммы и присвоение ее значения переменной sum. Справа от знака операции присваивания, обозначаемой символами :=, находится так называемое выражение. Выражение — это правило вычисления значения. Выражения являются частью операторов.

Для того чтобы выполнить программу, требуется перевести ее на язык, понятный процессору, – в машинный код. Этим занимается компилятор. Каждый оператор языка переводится в последовательность машинных команд, которая может быть весьма длинной, поэтому Паскаль и называется языком высокого уровня. В языках низкого уровня, например в Ассемблере, каждая команда переводится в одну или несколько машинных команд.

Компилятор планирует размещение данных в оперативной памяти в соответствии с операторами описания. Попутно он ищет синтаксические ошибки, то есть ошибки записи операторов. Кроме этого в Паскале на компилятор возложена еще одна обязанность –

подключение к программе стандартных подпрограмм (например, ввод данных или вычисление синуса угла).

2 Стандартные типы данных

2.1 Логический тип данных

Основной логический тип данных Паскаля называется boolean. Величина этого типа занимают в памяти 1 байт и могут принимать всего два значения: true (истина) или false (ложь). Внутреннее представление значения false – 0, значения true – 1.

К переменным логического типа применяются логические операции and, or, xor и not (табл. 2.1). Для наглядности вместо значения false используется 0, а вместо true – 1.

Таблица 2.1 – Логические операции

a

b

a and b

a or b

a xor b

not a

0

0

0

0

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

0

Кроме того, величины логического типа можно сравнивать между собой с помощью операций отношения, перечисленных в табл. 2.2.

Результат этих операций имеет логический тип. Например, результат проверки false < true – значение true (истина), а проверки false = true – значение false (ложь).

Таблица 2.2 – Операции отношения

Операция

Знак операции

Больше

>

Больше или равно

>=

Меньше

<

Меньше или равно

<=

Равно

=

Не равно

<>

2.2 Целые типы

Целые числа представляются в компьютере в двоичной системе исчисления (отрицательные числа – в дополнительном коде). В Паскале определены несколько типов данных, отличающиеся длиной и наличием знака: старший двоичный разряд либо воспринимается как знаковый, либо является обычным разрядом числа (табл. 2.3). Внутренне представление определяет диапазоны допустимых значений величины.

Таблица 2.3 – Целые типы данных

Тип

Название

Размер

Знак

 

Диапазон значений

integer

Целое

2

байта

Есть

- 32 768 .. 32 767 (-215 .. 215-1)

shortint

Короткое целое

1

байт

Есть

-128 .. 127 (-27 .. 27-1)

byte

Байт

1

байт

Нет

0

.. 255 (0 .. 28-1)

word

Слово

2

байта

Нет

0

.. 65 535 (0 .. 216-1)

logint

Длинное целое

4

байта

Есть

-2 147 483 648 .. 2 147 483 647 (-231 .. 231-1)

С целыми величинами можно выполнять арифметические операции (табл. 2.4). Результат их выполнения всегда целый (при делении дробная часть отбрасывается).

Таблица 2.4 – Арифметические операции для целых величин

Операция

Знак операции

Сложение

+

Вычитание

Умножение

*

Деление

div

Остаток от деления

mod

К целым величинам можно также применять операции отношения, перечисленные в разделе «Логические типы». Результат этих операций имеет логический тип, например результат сравнения 3 < 8 будет значение true.

Кроме того, к целым величинам можно применять поразрядные операции and, or, xor и not. При выполнении этих операций каждая величина представляется как совокупность двоичных разрядов. Действие выполняется над каждой парой соответствующих разрядов.

Пример: 3 and 2 = 2, так как 310 = 112, а 210 = 102.

Для работы с целыми величинами предназначены также и операции сдвига влево shl и shr. Слева от знака операции указывается, с какой величиной будет выполняться операция, а справа – на какое число двоичных разрядов требуется сдвинуть величину.

Пример: 12 shr 2 = 3, так как 1210 = 11002, а 310 = 112.

12shl 1 = 24, так как 2410 = 110002.

Уцелым величинам можно применить стандартные функции и процедуры,

перечисленные в табл. 2.5 Таблица 2.5 – Стандартные функции и процедуры для целых величин

Имя

Описание

Результат

Пояснения

 

Функция

 

 

 

 

 

 

abs

Модуль

Целый

|x| записывается abs(x)

arctan

Арктангенс угла (угол

Вещественный

arctg x записывается arctg(x)

 

задается в радианах)

 

 

 

 

 

cos

Косинус угла

Вещественный

cos x записывается cos(x)

exp

Экспонента

Вещественный

ex записывается exp(x)

ln

Натуральный логарифм

Вещественный

logex записывается ln(x)

odd

Проверка на четность

Логический

odd(3) даст в результате true

pred

Предыдущее значение

Целый

pred(3) даст в результате 2

sin

Синус угла

Вещественный

sin x записывается sin(x)

sqr

Квадрат

Целый

x2 записывается sqr(x)

 

sqrt

Квадратный корень

Вещественный

 

 

 

 

 

x записывается sqrt(x)

succ

Следующее значение

Целый

 

succ(3) даст в результате 4

Процедуры

 

 

 

 

 

 

 

 

inc

Инкремент

 

inc(x) – увеличить x на 1

 

 

 

dec

Декремент

 

inc(x, 3) – увеличить x

на 3

 

dec(x) – уменьшить x

на 1

 

 

 

 

 

 

dec(x, 3) – уменьшить x на 3

2.3 Вещественные типы

Вещественные типы данных храниться в памяти компьютера иначе, чем целые. Внутренне представление вещественного числа состоит из двух частей – мантиссы и порядка, и каждая часть имеет знак. Например, число 0,087 представляется в виде 0,87х 10-1, и в памяти храниться мантисса 87 и порядок -1.

Таблица 2.6 – Вещественные типы данных

Тип

Название

Размер,

Значащих

Диапазон значений

 

 

байт

цифр

 

real

Вещественный

6

11-12

2.9e-39 .. 1.7e+38

single

Одинарной точности

4

7-8

1.5e-45 .. 3.4e+38

double

Двоичной точности

8

15-16

5.0e-324 .. 1.7e+308

extended

Расширенный

10

19-20

3.4e-4932 .. 1.1e+4923

comp

Большое целое

8

19-20

-9.22e18 .. 9.22e18 (-263 .. 263-1)

 

С вещественными величинами

можно выполнить арифметические

операции,

 

перечисленные в табл. 2.7. Результат их выполнения – вещественный.

 

 

Таблица 2.7 – Арифметические операции для вещественных величин

 

 

 

 

 

 

 

 

 

Операция

 

Знак операции

 

 

 

Сложение

 

+

 

 

 

Вычитание

 

 

 

 

Умножение

 

*

 

 

 

Деление

 

/

 

 

В общем случае при выполнении любой операции операнды должны быть одного и того же типа, но целые и вещественные величины смешивать разрешается. Иными словами, один из операндов может быть целого типа.

Квещественным величинам можно также применять операции отношения, перечисленные в разделе «Логические типы». Результат этих операций имеет логический тип.

Квещественным величинам можно применять стандартные функции (табл.2.8).

Таблица 2.8 – Стандартные функции и процедуры дл вещественных величин

Имя

Описание

Результат

Функция

 

 

abs

Модуль

Целый

arctan

Арктангенс угла (угол

Вещественный

 

задается в радианах)

 

cos

Косинус угла

Вещественный

exp

Экспонента

Вещественный

franc

Дробная часть аргумента

Вещественный

int

Целая часть аргумента

Вещественный

ln

Натуральный логарифм

Вещественный

pi

Значение числа π

Вещественный

round

Округление до целого

Целый

sin

Синус угла

Вещественный

sqr

Квадрат

Вещественный

sqrt

Квадратный корень

Вещественный

trunc

Целая часть аргумента

Целый

 

 

 

Пояснения

|x| записывается abs(x)

arctg x записывается arctg(x)

cos x записывается cos(x) ex записывается exp(x)

franc(3.1) даст в результате 0,1 int(3.1) даст в результате 3,0 logex записывается ln(x) 3.1415926536

round(3.1) даст в результате 3 round(3.8) даст в результате 4 sin x записывается sin(x)

x2 записывается sqr(x) x записывается sqrt(x)

trunc(3.1) даст в результате 3

2.4 Символьный тип

Этот тип данных, обозначаемый ключевым словом char, служит для представления любого символа из набора допустимых символов. Под каждый символ отводится 1 байт. К символам можно применять операции отношения (<, <=, >, >=, =, <>), при этом сравниваются коды символов. Меньшим окажется символ, код которого меньше. Других операций с символами нет, да и они и не имеют смысла.

Стандартных подпрограмм для работы с символами тоже немного (табл.2.9)

Таблица 2.9 – Стандартные функции для символьных величин

Имя

Описание

Результат

Пояснения

odr

Порядковый номер символа

Целый

odr(‘b’) даст в результате 98

 

 

 

odr(‘ю’) даст в результате 238

chr

Преобразование в символ

Символьный

chr(98) даст в результате ‘b’

 

 

 

chr(238) даст в результате ‘ю’

pred

Предыдущий символ

Символьный

pred(‘b’) даст в результате ‘a’

succ

Следующий символ

Символьный

succ(‘b’) даст в результате ‘c’

upcase

Перевод в верхний регистр

Символьный

succ(‘b’) даст в результате ‘B’

3.Линейные программы

3.1.Константы и переменные

Взависимости от способа хранения в компьютере данные можно разделить на две группы: константы и переменные.

Константы - это данные, значения которых не изменяются в процессе работы программы. В языке Pascal используются константы трех видов: числовые, булевские и символьные.

Числовые константы предназначены для представления числовых данных (целых и вещественных). Булевские константы используются для представления данных, имеющих смысл логических высказываний (да-нет, истина-ложь). Символьные константы представляют данные, являющиеся последовательностями символов.

Значения переменных, в отличие от констант, могут изменяться во время выполнения программы.

Тип - это множество значений переменной вместе с множеством операций, которые можно выполнять над элементами этого множества.

Приписывая переменной некоторый тип, мы тем самым явно определяем множество значений, которые можно присвоить этой переменной, а также операции, с помощью которых можно манипулировать ее значениями.

Число отдельных значений, принадлежащих некоторому типу, называется мощностью типа. Так, например, мощность типа Boolean есть 2.

Вязыке программирования Pascal принято все типы данных разделять на три группы:

1.Простейшие, или скалярные (не содержащие составных частей, т.е. простейшие типы: целочисленный, вещественный, логический, символьный, перечисляемый, интервальный

иссылочный);

2.Структурированные (в своей основе имеют один или несколько скалярных типов данных, к ним относятся: строки, массивы, множества, записи, файлы);

3.Процедурные и типа object.

3.2 Выражения

Выражение – это правило вычисления значения. В выражении учувствуют операнды, объединяемые знаками операций. Операндами выражения могут быть константы, переменные и вызовы функций. Операции выполняются в определенном порядке в соответствии с приоритетами, как и в математике. Для изменения порядка выполнения операций используются круглые скобки, уровень их вложенности практически не ограничен.

Ниже приведены операции Паскаля, упорядоченные по убыванию приоритетов:

1.Унарная операция not, унарный минус -, взятие адреса @.

2.Операции типа умножения: *, /, div, mod, and, shl, shr.

3.Операция типа сложения: +, -, or, xor.

4.Операции отношения: =, <, >, <>, <=, >=, in.

Внимание! Функции, используемые в выражении, вычисляются в первую очередь.

Примеры выражений:

 

t + sin(x)/2 * x

– результат имеет вещественный тип

a <= b + 2

– результат имеет логический тип

(x > 0) and (y < 0)

– результат имеет логический тип

3.3 Структура программы

Программа на языке Pascal состоит из заголовка, раздела описаний и раздела операторов.

Program Имя;

 

Заголовок программы

Label

- раздел меток

 

Const

- раздел констант

 

Type

- раздел типов

Раздел описаний

Var

- раздел переменных

 

Procedure

- раздел процедур

 

Function

- раздел функций

 

begin

 

 

Оператор 1;

 

 

Оператор 2;

 

Раздел операторов

(тело программы) Оператор n;

end.

Заголовок содержит служебное слово Program, имя программы, задаваемое программистом. Заканчивается заголовок символом ";" (точка с запятой).

Раздел описаний предназначен для объявления всех встречающихся в программе данных и их характеристик (имена данных, их тип, возможные значения). Этот раздел содержит следующие подразделы: объявление меток, констант, типов, переменных, объявление процедур и функций. Порядок расположения разделов не важен, некоторые разделы могут отсутствовать.

После каждого описания ставится символ ";".

Раздел описания констант служит для того, чтобы вместо значений констант можно было использовать в программе их имена. Такие константы называются именованными, например:

const MaxLen = 100; g = 9.8; koeff = 5;

Применение именованных констант улучшает читаемость программы и облегчает внесение в не изменений. Есть и еще одно применение раздела описания констант: в нем описываются переменные, которым требуется присвоить значение до начала работы программы.

сonst weight: real = 61.5;

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

Раздел операторов ("тело" программы) заключается в операторные скобки вида: begin ("начать") и end ("окончить"), при этом после служебного слова end обязательно ставится точка. В разделе операторов записывается последовательность исполняемых операторов и каждый выражает действие, которое необходимо выполнить. Исполняемые операторы отделяются друг от друга символом ";".

Хороший стиль программирования требует (помнить как «Отче наш»):

1.записывать слова Program, begin, end с одинаковой позиции строки;

2.по отношению к ним описания и операторы принято сдвигать вправо на 3 символа. Желательно сдвиг делать на одинаковое количество позиций от края или по отношению к предыдущему сдвигу.

3.4 Оператор присваивания

Присваивание – это занесение значения в память. В общем виде оператор присваивания записывается так:

переменная := выражение

Здесь символами := обозначена операция присваивания. Внутри знака операции пробелы не допускаются.

Механизм выполнения оператора присваивания такой: вычисляется выражение и его результат заносится в память по адресу, который определяется именем переменной, находящейся слева от знака операции. Схематично это полезно представить себе так:

переменная ← выражение

Константа и переменная являются частными случаями выражения. Примеры оператора присваивания:

a := b + c / 2; b := a;

a := b; x := 1;

x := x + 0.5;

Внимание! b := a и a := b – это совершенно разные действия.

Правая и левая части оператора присваивания должны быть, как правило, одного типа.

Говоря более точно, они должны быть совместимы по присваиванию. Например, выражение целого типа можно присвоить вещественной переменной, потому что целые числа являются подмножеством вещественных, и информация при таком при таком присваивании не теряется:

вещественная переменная := целое выражение;

3.5 Процедуры ввода-вывода

Для организации ввода и вывода информации в языке программирования Pascal служат четыре процедуры: Read и ReadLn, Write и WriteLn. Эти процедуры являются "встроенными" в язык Pascal, поэтому для того, чтобы ввести информацию в оперативную память компьютера для ее дальнейшей обработки, программисту не надо писать специальную программу, а всего лишь нужно правильно обратиться к процедуре Read или ReadLn. Соответственно, чтобы вывести информацию на дисплей из оперативной памяти компьютера, необходимо вызвать процедуру Write или WriteLn.

Синтаксис процедуры Read и ReadLn:

Read (X,Y); ReadLn (X,Y);

где X, Y - переменные, описанные в разделе описания переменных.

Процедуры Read и ReadLn аналогичны, единственное отличие заключается в том, что после ввода значений переменных, указанных в списке процедуры ReadLn, ввод значений переменных, указанных в списке следующей процедуры ReadLn, будет производится с новой строки.

Процедуры вывода (или записи информации) Write или WriteLn обеспечивают вывод числовых данных, символов, строк на дисплей. В отличии от процедуры ввода процедура вывода WriteLn может не иметь параметров. В этом случае процедура WriteLn обеспечивает лишь перевод курсора на следующую строку.

Синтаксис процедуры Write и WriteLn:

Write (X,Y); «Слепой» вывод значений переменных.

WriteLn (X,Y);

Write (X+Y); Вывод результата выражения.

WriteLn (X+Y);

Write (X:6:2); Форматированный вывод значения переменной.

WriteLn (X:6:2);

Write ('Фраза'); Вывод некоторой фразы на дисплей.

WriteLn ('Фраза');

Write ('Фраза',Y); Вывод фразы и значения переменной на экран, WriteLn ('Фраза',Y); «неслепой» вывод значения переменной.

где X, Y - переменные, значения которых нужно вывести на экран;

'Фраза' - некоторый пояснительный текст, который обычно сопровождает значение переменной;

X:6:2 - указывается формат значения переменной. Это значит, что всего 6 символов, отводится под значение переменной X, причем после десятичной точки будет выведено на экран 2 символа. Это так называемый форматированный вывод числа с фиксированной точкой.

4.Описание интегрированной среды Pascal ABC

4.1Редактор

Вкачестве редактора для системы использован компонент SynEdit.

Горячие клавиши:

F2, Ctrl-S - сохранить файл.

F3, Ctrl-O - загрузить файл.

F12 - сохранить файл под новым именем. Ctrl-Shift-S - сохранить все открытые файлы.

Ctrl-Shift-0 ... Ctrl-Shift-9 - установить закладку с номером 0...9. Ctrl-0 ... Ctrl-9 - перейти к закладке с номером 0...9.

Ctrl-Tab, Ctrl-Shift-Tab - перейти к следующему/предыдущему окну редактора. Ctrl-Shift-I - увеличить отступ выделенного блока.

Ctrl-Shift-U - уменьшить отступ выделенного блока.

4.2 Окно вывода

Под окном редактора расположено окно вывода. Оно предназначено для вывода данных процедурами Write и WriteLn, а также для вывода сообщений об ошибках и предупреждений во время работы программы.

Окно вывода может быть скрыто. Клавиша F5 и кнопка показывают/скрывают окно вывода. Для скрытия окна вывода используется также клавиша Esc.

Окно вывода обязательно открывается при любом выводе в него.

Для очистки окна вывода следует нажать комбинацию клавиш Ctrl-Del или кнопку .

4.3 Окно ввода

Окно ввода открывается при выполнении процедур Read и ReadLn в ходе работы программы.

Ввод данных в в окно ввода сопровождается эхо-выводом в окно вывода (см. рис. 1). После нажатия клавиши Enter данные из окна ввода попадают в соответствующие переменные, окно ввода закрывается, и программа продолжает работать дальше.

4.4 Запуск и остановка программы

Для запуска программы в текущем окне редактора следует нажать клавишу F9 или кнопку панели инструментов.

Программа вначале компилируется во внутреннее представление, после чего, если не найдены ошибки, программа начинает выполняться. При выполнении программы кнопка запуска программы становится неактивной, кнопка останова программы, наоборот, активной и в строке статуса отображается информация "Программа выполняется".

Рисунок 1 – Окно ввода в Pascal ABC

Выполнение программы можно в любой момент прервать нажатием комбинации клавиш Ctrl-F2 или кнопки . При этом в окне вывода появится сообщение

• Программа прервана пользователем

Если текущая программа не является модулем, то при ее запуске на вкладке перед именем появляется жирная точка, что свидетельствует о том, что данную программу запускали последней. Если текущая программа является модулем, то компилируется не она, а программа, чье имя на вкладке помечено точкой.

При выводе в графическое окно модуля GraphABC программу можно прервать нажатием клавиши Esc, при этом графическое окно будет закрыто.

Окна исполнителей Робот, Чертежник и электронного задачника Programming Taskbook

возникают лишь после завершения работы программы.

4.5 Пошаговое выполнение программы

Режим пошагового выполнения предназначен для отладки программы. Для выполнения одного шага (одной строки) программы следует нажать клавишу F8 или кнопку (шаг без входа в подпрограмму), либо клавишу F7 или кнопку (шаг со входом в подпрограмму). Для выполнения программы до данной строки следует установить на нее курсор и нажать клавишу F4 или кнопку .

Прервать программу, находящуюся в режиме пошагового выполнения, можно с помощью комбинации клавиш Ctrl-F2 или кнопки . Если программа находится в режиме пошагового выполнения, то ее можно выполнить до конца, нажав F9.

Если программа не запущена и в активном окне находится текст модуля, то при нажатии клавиши F4 в активном окне начинает выполняться программа, отмеченная точкой на вкладке.

Секции инициализации и финализации модулей трассируются только при пошаговом выполнении со входом в подпрограмму. Таким образом, трассировка секций инициализации модулей начинается, если нажать F7 при запуске программы, а трассировка секций финализации модулей - если нажать F8, когда курсор стоит на заключительном end программы.

Трассировка обработчиков событий запрещена.

4.6 Окно отладки

Окно отладки позволяет просматривать во время пошагового исполнения программы значения переменных. По умолчанию оно располагается в правом верхнем углу окна редактора и имеет следующий вид:

Рисунок 2 – Окно отладки в Pascal ABC

Для добавления переменной или выражения в окно отладки следует нажать комбинацию клавиш Ctrl-F5 или кнопку . Можно также перетащить из редактора в окно отладки выделенное выражение или при активном окне отладки нажать клавишу Ins. Допускаются выражения, содержащие функции, в т.ч. и определенные в программе (такие функции не должны иметь побочного эффекта, т.е.не должны менять значения глобальных переменных).

Окно отладки включается/выключается нажатием комбинации клавиш Ctrl-Shift-W.

Для удаления строки из окна отладки следует выделить эту строку и нажать клавишу Del или воспользоваться командой контекстного меню окна отладки.

Для изменения строки в окне отладки следует дважды щелкнуть на ней.

Для очистки окна отладки следует нажать комбинацию клавиш Ctrl-Del или воспользоваться командой контекстного меню окна отладки.

Если выражение неверно, его вычисление вызывает ошибку или в данном контексте недоступны некоторые переменные, то при выполнении программы в столбце "Значение" появляется сообщение "нельзя вычислить".

5 Пример программы

Условие. Необходимо написать программу перевода температуры в градусах по Фаренгейту в градусах Цельсия по формуле: C =5/9 * (F - 32), где С – температура по Цельсию, а F – температура по Фаренгейту.

Решение.

1 Program temperature;

2 var fahr, cels : real;

3begin

4writeln (‘Введите температуру по Фаренгейту’);

5readln(fahr);

6cels := 5 / 9 * (fahr - 32);

7writeln(‘По Фаренгейту: ’, fahr:6:2, ‘ в градусах Цельсия: ’, cels:6:2);

8end.

Для хранения исходных данных и результатов требуется выделить место в памяти. Это сделано в операторе 2. Поскольку температура может принимать не только целые значения, для переменных fahr и cels выбран вещественный тип real. Оператор 4 представляет собой приглашение к вводу данных. В приглашении обычно поясняют, сколько и каких величин требуется ввести.

Ввод выполняется в операторе 5 с помощью процедуры ReadLn, ее использовать предпочтительнее, чем read. В операторе 6 вычисляется выражение, записанное справа от операции присваивании, и результат присваивается переменной cels. При вычислении целые