Краткие теоретические сведения. Цель работы:усвоить назначения и использование операторов ввода данных и вывода результата, оформления программы на Паскале

Лабораторная работа № КР 12.2

СТРУКТУРА ПРОГРАММЫ В ПАСКАЛЕ. ВВОД И ВЫВОД ДАННЫХ. ЛИНЕЙНЫЕ ПРОГРАММЫ

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

Краткие теоретические сведения

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

program (имя программы);

label (список меток);

const (список постоянных значений);

type (описания сложных типов данных);

var (описания данных программы);

begin (начало программного блока)

(алгоритм)

end. (конец программы)

Имя программы состоит не более чем из 8 знаков, начинается с буквы и содержит буквы, цифры и знаки подчеркивания. Программа начинается со слова program и заканчивается, словом end с точкой. Операторы, разделы и описания разде­лов заканчиваются точкой с запятой.

Описательная часть программы состоит из четырех разде­лов. Раздел меток label, раздел констант const и раздел типов type. Их использование будет рассмотрено в дальнейшем, по мере необходимости. Основным является раздел переменных var. В нем указываются имена переменных, используемых в программе, и их тип. Для числовых данных применяются ос­новные описатели типов integer (целый) и real (веществен­ный). Например, в программе используются две целочисленные переменные и одна вещественная. Раздел переменных может иметь вид: var i,j: integer; x: real;

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

Для сообщения данных компьютеру служат операторы вво­да и вывода. Оператор ввода помещает вводимое значение пе­ременной в отведенную для нее ячейку. Оператор ввода: read (список имен) ;. Оператор read (читать) останавливает работу программы и ждет; пока пользователь наберет на клавиатуре число и нажмет <Enter>. Введенное число помещается в оперативную па­мять, в отведенную ячейку. Если список ввода содержит не­сколько имен, то для каждого надо ввести свое значение. Чис­ла вводятся или через пробел, или через запятую, или нажати­ем клавиши <Enter>. Например: read (i, j);требует ввода двух целых чисел. После работы этого оператора курсор располагается за последним числом, но не переводится на новую строку. Для перевода курсора на новую строку экрана дисплея после ввода данных надо использовать оператор readln (список имен);

Для вывода результатов работы программы на экран дисп­лея служит оператор write (список вывода) ;. Оператор write (писать) выводит данные на экран дисплея. Список вывода — перечисленные через запятую имена ре­зультатов или арифметические выражения, являющиеся ре­зультатом работы программы. Также в список вывода, для по­яснения, входят заключенные в апострофы тексты. Например: write (‘x=‘, x) ;. Этот оператор напечатает на экране, начиная с той пози­ции, где находится курсор, текст, заключенный между апост­рофами, и значение переменной х из оперативной памяти. Значение будет выведено в форме вещественного числа с пла­вающей точкой. Чтобы число было выведено в форме с фик­сированной точкой, надо после имени соответствующей пере­менной указать два целых числа, отделив каждое двоеточием. Первое из этих чисел показывает, сколько позиций занимает число (включая десятичную точку и знак числа). Второе равно количеству цифр дробной части числа. Например, для печати числа —23.57 как значения переменной x, оператор печати примет вид: write ( ‘x= ‘, x:6:2) ;. На экран будет выдано x=-23.57. Перевод курсора на новую строку осуществляется опера­тором пустого вывода writeln;. Если надо перевести курсор после печати, то применяется writeln (список вывода);

После вывода результатов работы программы на экран в Турбо Паскаль система так быстро возвращается в редактор текстов программы, что пользователь не успевает увидеть эти результате. Чтобы задержать изображение, в конце програм­мы следует ставить оператор пустого ввода readln;

Например: Пусть требуется найти сумму, произведение и разность двух данных чисел. Для каж­дого из чисел надо придумать имя переменной и указать ее тип. Затем ввести эти числа в отведенные ячейки и, используя возможность оператора вывода содержать арифметическое выражение, напечатать результаты. program P1;

var a,b: real;

Begin

write (‘введите два числа через пробел, затем нажмите <Enter>‘);

readln (a, b);

write (‘ a + b = ‘, a + b, ‘a*b = ‘, a*b, ‘a - b = ‘, a- b);

Readln

End.

Служебные слова Паскаля, выделенные жирным шрифтом, при наборе текста программы на клавиатуре никак не выделя­ются, их различает транслятор (синоним — компилятор). По­этому служебные слова нельзя использовать в качестве имен. Первый оператор программного блока выводит на экран под­сказку для пользователя — что он должен сделать. Для ввода данных рекомендуется создавать подобные подсказки.

При решении задач имена присваиваются не только исход­ным данным, но и результатам, а также получаемым промежу­точным значениям. Поскольку в рассматриваемом примере надо получить три результата, введем для них переменные x, у, z.. В программе этим переменным будут присвоены значе­ния суммы, произведения и разности двух вводимых чисел.

program P2;

var a, b, x, y, z: real;

Begin

write (‘введите два числа через пробел, затем нажмите <Enter>‘);

readln (а, b);

x = а + b;

y = а - b;

z = а - b;

write (‘a + b = ‘, x, ‘ а * b = ‘, у, ‘ а - b = ‘, z);

Readln

End.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: