Лабораторная работа №2. Программы линейной структуры

Цель работы

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

Порядок выполнения работы

Получить задание на выполнение лабораторной работы (раздел 6) согласно своему варианту. Разработать и отладить программу. Составить и защитить отчет о лабораторной работе у преподавателя.

Содержание отчета

- наименование и цель работы;

- задание на лабораторную работу согласно варианту;

- схема алгоритма, текст программы на алгоритмическом языке;

- результаты работы программы.

Краткая теория

Структура программы на языке Паскаль

Любая программа, написанная на языке Turbo Pascal 7.0 имеет следующие разделы:

РАЗДЕЛ ОБЪЯВЛЕНИЙ
program Заголовок программы
{$…} Глобальные директивы компилятора
uses Подключаемые библиотеки (модули)
label Раздел объявления глобальных меток
const Раздел объявления глобальных констант
type Раздел объявления глобальных типов
var Раздел объявления глобальных переменных
РАЗДЕЛ ПРОЦЕДУР И ФУНКЦИЙ
procedure(function)   Заголовок процедуры (функции) {тело процедуры}
РАЗДЕЛ ОСНОВНОГО БЛОКА ПРОГРАММЫ
begin ... end. Основной блок программы

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

произвольный текст, ограниченный с двух сторон фигурными скобками {…} или (* …*).

Операторы языка программирования

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

- простые (не содержат в себе других операторов);

- составные (включают в себя один или несколько дополнительных операторов).

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

С помощью данного оператора определяется или переопределяется значение переменной, стоящей слева от :=.

Синтаксис оператора: <имя_переменной>:=<выражение>;

Выражение должно быть совместимо по присваиванию с типом переменной.

Примеры:

X:=Pi;

Y:=Sqr(Z*Z+T*T);

Bool:=(I>1) or (I<3);

Операторы ввода данных

Операторы ввода предназначены для ввода исходных данных в программу.

Операторы ввода имеют вид:

READ(X,Y,Z,...);

READLN(X,Y,Z,...);

где: X,Y,Z,... - имена переменных. Данные операторы обеспечивают ввод данных с клавиатуры и присваивают переменным X,Y,Z,... соответствующие значения.

Оператор READLN (X,Y,Z,...); отличается от READ(X,Y,Z,...); тем, что после ввода последней переменной курсор переводится в начало новой строки. Допускается использование оператора ввода без параметров: READLN;

Операторы вывода данных

Для вывода данных на экран используются операторы:

WRITE (X,Y,Z,...);

WRITELN (X,Y,Z,...);

WRITELN;

где: X,Y,Z,... - имена переменных, значения которых подлежат выводу.

Оператор WRITE(X,Y,Z,...); выполняет вывод на экран в одну строку.

Оператор WRITELN (X,Y,Z,...); кроме вывода на экран значений X,Y,Z,..., осуществляет перевод курсора в начало новой строки после вывода последнего значения.

Оператор WRITELN; осуществляет пропуск строки, в которой находится курсор, и переводит его в начало новой строки.

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

WRITE (Y:m:n,X:k:l,...);

WRITELN (Y:m:n:,X:k:l,...);

где m и k - количество позиций, отведенных под запись значения переменных Y и X соответственно; n и l - количество позиций, отведенных под запись дробной части чисел Y и X.

Примеры:

WRITE('Сумма = ',Sum); {вывод на экран строки «Сумма = », затем значение суммы, которое хранится в переменной Sum}

WRITELN(‘Введите ’,I,’-й элемент: ’);

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

5.1 Программа нахождения среднего из двух целых чисел и одного вещественного числа:

program Midding;

Var

X, Y: Integer;

Z, Midd: Real;

Begin

WriteLn(’Введите два целых числа X и Y:’);

ReadLn(X,Y);

WriteLn(’Введите вещественное число Z:’);

ReadLn(Z);

Midd:=(X+Y+Z)/3;

Write(’Среднее арифметическое = ’,Midd);

End.

5.2 Программа перевода дюймов в сантиметры (1 дюйм = 2,54 см).

program Inches;

Var

Inch, Centimeter: Real;

Begin

Write(’Введите величину в дюймах = ’);

ReadLn(Inch);

Centimeter:= Inch * 2.54;

Write(’Величина в сантиметрах =’,Centimeter:5:2);

End.

5.3 Программа вычисления значения выражения: Лабораторная работа №2. Программы линейной структуры - student2.ru . (Для возведения в степень используется следующее соотношение: Лабораторная работа №2. Программы линейной структуры - student2.ru ).

program Calculate;

Var

y, a, b, w: Real;

Begin

a:=12.4;

b:=(15 + 25/60)*Pi/180; {перевод из градусов в радианы}

Write(’Введите w = ’);

ReadLn(w);

y:= a*sin(b)/exp(ln(w)*15);

WriteLn(’Y = ’,Y:5:3);

End.

Варианты заданий для самостоятельного решения

1. В году примерно 3.156х107сек. Написать программу, которая запрашивает возраст в годах и переводит его в секунды.

2. Масса m одной молекулы воды примерно равна 3.0х10-23гр. Кварта воды равна примерно 950 гр. Написать программу, которая запрашивает количество воды в квартах и выводит число молекул в этом количестве воды.

3. Вычислить: Лабораторная работа №2. Программы линейной структуры - student2.ru .

4. Найти периметр и площадь прямоугольника.

5. Вычислить сумму депозита с процентами

S= K*(1+P/100)*n, где K- капитал, P-процентная ставка, n-число периодов начисления процентов.

6. Вычислить: Лабораторная работа №2. Программы линейной структуры - student2.ru .

7. Время в полете вычисляется по формуле T=S/V, где S – расстояние между пунктами, V – скорость полета самолета. Определить время в полете при отсутствии ветра и при наличии встречного ветра (V1 – скорость ветра).

8. Написать программу, которая запрашивает время в часах и минутах, после чего переводит в минуты, затем в секунды и выводит результаты на экран.

9. Найти площадь всей поверхности цилиндра: T=2pR(R+H).

10. Вычислить: Лабораторная работа №2. Программы линейной структуры - student2.ru .

11. Написать программу, которая запрашивает количество дней и переводит в недели и дни. Например, 18 дней = 2 недели и 4 дня.

12. Вычислить: Лабораторная работа №2. Программы линейной структуры - student2.ru .

13. Найти площадь боковой поверхности шара: T=4pR2.

14. Русские неметрические единицы длины: 1 аршин=16 вершков; 1 вершок=44,45 мм. Длина некоторого отрезка составляет N метров. Перевести ее в аршины.

15. Вычислить значение функции Y = sin(a+d)+d cos(a/2)

16. Определить, какую долю в процентном соотношении составляет число А1 от А2 по формуле Р= А1/ А2* 100.

17. Найти объем куба (с использованием стандартной функции и без).

18. Вычислить: Лабораторная работа №2. Программы линейной структуры - student2.ru

19. Определить расстояние, пройденное физическим телом за время t, если тело движется с постоянной скоростью v.

20. Найти площадь поверхности куба.

21. Определить расстояние между двумя точками с координатами (x1,y1) и (x2,y2).

22. Вычислить: Лабораторная работа №2. Программы линейной структуры - student2.ru .

23. Найти объем цилиндра по формуле: V=pR2H.

24. Вычислить: Лабораторная работа №2. Программы линейной структуры - student2.ru .

25. Время в пути вычисляется по формуле T=S/V, где S – расстояние между пунктами, V – скорость движения катера. Определить время в пути при движении по течению реки и против течения (V1 – скорость течения).

26. Найти расстояние от точки с координатами (x,y) до начала координат.

27. Вычислить: Лабораторная работа №2. Программы линейной структуры - student2.ru .

28. Даны длины сторон оснований усеченной пирамиды и высота. Найти объем пирамиды по формуле: Лабораторная работа №2. Программы линейной структуры - student2.ru , где S1, S2 – площади оснований усеченной пирамиды, H – высота.

29. Русские неметрические единицы длины: 1 верста=500 саженей; 1 сажень=3 аршина; 1 аршин=16 вершков; 1 вершок=44,45 мм. Длина некоторого отрезка составляет p метров. Перевести ее в русскую неметрическую систему.

30. Трехмерные вектора заданы своими координатами: A=(xa, ya, za) и В=(xb, yb, zb). Найти угол (в градусах) между векторами A и B, используя формулу: Лабораторная работа №2. Программы линейной структуры - student2.ru .

31. Найти координаты вершины параболы Лабораторная работа №2. Программы линейной структуры - student2.ru .

32. Найти диагональ и площадь квадрата.

Лабораторная работа №3. Операторы ветвления: условный оператор, оператор варианта

Цель работы

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

Наши рекомендации