Лабораторная работа по языку программирования Турбо Паскаль


Лабораторная работа №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.
Методические указания и задания к работе
№ Условие задачи
1 Написать программу вычисления площади параллелограмма (площади поверхности параллелепипеда, площади поверхности цилиндра).
2 Напишите программу вычисления площади треугольника, если известны координаты его вершин (формула Герона).
3 Напишите программу возведения числа в седьмую степень за четыре операции.
4 Написать программу вычисления объема куба (объема цилиндра, объема параллелепипеда).
5 Напишите программу определения времени встречи двух автомобилей, если известно расстояние между двумя пунктами, откуда они вышли навстречу друг другу одновременно, а также их скорости.
6 Написать программу пересчета расстояния из верст в километры (1верста=1066,8м), веса из фунтов в килограммы (1фунт=409,5 г).
7 Написать программу вычисления сопротивления электрической цепи, состоящей из параллельно (последовательно) соединенных сопротивлений.
8 Напишите программу вычисления площади круга, если известна длина окружности.
9 Напишите программу вычисления площади и гипотенузы прямоугольного треугольника, если известны его катеты.
10 Напишите программу вычисления суммы арифметической прогрессии, если известен ее начальный член и разность, а также количество ее членов.
11 Напишите программу вычисления площади боковой поверхности куба.
12 Напишите программу вычисления расстояния между двумя точками плоскости.
13 Напишите программу вычисления среднего арифметического двух чисел.
14 Напишите программу пересчета величины временного интервала, заданного в минутах, в величину, выраженную в часах и минутах.
15 Напишите программу вычисления суммы модулей трех вещественных чисел.
ВОПРОСЫ К ЗАЩИТЕ ЛАБОРАТОРНОЙ РАБОТЫ
1. Для чего необходимо описывать данные в программе?
2. Как описать переменные одного типа, например вещественного?
3. Какой оператор используется для ввода данных? Как он работает?
4. Куда попадают введенные с клавиатуры числа при работе оператора ввода?
5. Как перевести курсор на новую строку после ввода данных?
6. Как вывести результаты работы программы на экран дисплея?
7. Как сделать, чтобы данные выводились с новой строки?
8. Как увидеть результаты вывода на экране дисплея, если уже сработал write?
9. Можно ли получить результат вычислений без использования оператора присваивания?

Приложенные файлы


Добавить комментарий