Содержание занятия: Использование оператора присваивания, read, write, writeln, описание переменных и констант различных типов, форматированный вывод.
1. Задача: Троллейбус, трогаясь с места, двигается с ускорением a=1.5м/с2 . Какую скорость он приобретёт через время t? Какое расстояние он при этом пройдёт?
А) Теория.
Сначала студент должен найти решение задачи: уяснить какие величины, фигурируют и разделить их на две группы: данные и неизвестные; определить последовательность нахождения неизвестных и вывести формулы (если нужно).
В данной задаче:
Затем нужно определить тип и вид величин, которые будут использоваться в задаче. По виду простые величины (в программировании они все называются данными) делятся на константы и переменные. Тип данного определяет, в каком виде оно хранится в компьютере и какие значения может принимать.
2. Вещественные типы (Real, Single, Double, Extended, Comp).
3. Логический (Boolean).
4. Символьный (Char).
5. Строковые типы (String, String [n]).
Если переменная в процессе выполнения программы может принимать значение дробного числа, участвует в выражениях с умножением, делением, математическими функциями, то ее нужно определить как вещественную, если значение ее –буква, то это –символьная переменная, если значение –слово, то переменная –строкового типа. Различия между переменными типов одной группы более тонкие, на первых занятиях можно не вдумываться в эти отличия, а использовать в качестве целого - тип Integer, в качестве вещественного - тип Real, в качестве строкового - тип String.
Б) Для написания логически стройной и правильной программы необходимо составить план. Для рассмотренной задачи
План:
1. Описание констант и переменных a, t, v, S.
2. Ввод t, a.
3. Вычисление v, S.
4. Вывод v, S.
В) Программа:
program Troll; начало
const не изменяемые
a=1.5; данные
var переменные
t, v, s : real;
begin начало исполняемой части программы
write(‘ Введите время t ’); "подсказка" к вводу
read(t); ввод
v:=a*t;
s:=v*t/2;
writeln(‘ За ’,t,’ сек. скорость троллейбуса v=’,v,’ м/с’); вывод на экран writeln(‘ троллейбус пройдёт расстояние S=’,s,’ м’);
end. Конец
В языке программирования Паскаль программа состоит из заголовка, раздела описаний и исполняемой части. Данная программа имеет заголовок «program Troll;», раздел описаний состоит из объявления констант и переменных в блоках const и var соответственно. Исполняемая часть начинается с оператора begin и заканчивается оператором end.
Компьютер выполняет операторы последовательно, один за другим. Сначала будет выполнен первый оператор write. При этом на экране появится «подсказка» пользователю, будут выведены слова: «Введите время t » .Затем начнется выполнение оператора ввода с клавиатуры read(t). Компьютер при этом будет ожидать ввода с клавиатуры числа (т.к. переменная t –вещественная). После его ввода и нажатия клавиши ввода (Еnter), переменная t примет значение, введенное с клавиатуры. Затем последовательно будут вычислены значения переменных v и s. Операторы writeln в конце программы выведут на экран переменные t, v, s. В операторе writeln (или write) все, что необходимо вывести на экран перечисляется через запятую. Если набор символов записан в апострофах (строковая константа), то эти символы будут выведены на экран без изменений, за исключением апострофов. Если в списке содержится имя переменной (например, t), то будет выведено ее значение.
Г) Контрольный пример.
.
2.Форматированный вывод
Информация, выводимая любой программой должна быть легко читаемой, понятной для пользователя. Для этого, в частности, нужно, чтобы действительные числа были выведены в привычной форме как число с точкой, в записи содержались пробелы, отделяющие числа от текста и др. Для этого в языках программирования используются форматы.
Форматы вывода данных.
При выводе значений в текстовые файлы или на экран можно указывать формат, т.е. отводить поле для размещения этих значений.
Форматы для данных различных типов:
1.Для строковых и символьных данных - формат задается одним числом, определяющим число позиций, отводимых на значение этих данных (т.е. на символ или набор символов).
2.Для целых данных - формат задается одним числом, определяющим число позиций, отводимых на это число.
3. Для вещественных данных - формат задается либо одним числом, определяющим число позиций, отводимых на это число в экспоненциальной форме; либо двумя числами, первое из которых обозначает общий размер поля, отведенного под это число, второе - число знаков после запятой. Например, если s, i, a строковая, целая и вещественная переменная и s:=' число пи '; i:=3; p:=3.141592; , то оператор writeln(s:20,p:5:3,’ число знаков после запятой’,i:2);
выведут на экран значения этих переменных в виде:
число пи 3.141 число знаков после запятой 3
3. Задача 2.
Определить энергию электрона в атоме водорода на орбите с номером n.
Теория: Искомая энергия определяется по формуле , где me и е–масса и заряд электрона, ε0 и h- электрическая постоянная и постоянная Планка.
В программе опишем постоянные величины как константы, номер орбиты введем с клавиатуры:
program energy;
const
m=9.109e-31;
e=1.602e-19;
e0=8.854e-12;
h=6.626e-34;
var
En,n:real;
begin
Write('Введите номер орбиты ');
read(n);
En:=-m*sqr(e*e/e0/h/n)/8;
writeln(' E(',n:2:0,' )=', en:12);
end.
4.Запись констант с порядком.
Очень большие числа в алгебре принято представлять в виде степеней числа 10. В языках программирования такая запись тоже практикуется и называется онанормализованная (экспоненциальная) форма. Например, число - записывается как -1.17E+08 или -1.17E8.
при этом
-
1.17
Е
+08
Знак мантиссы
Мантисса- число от 1 до 10
Символ 10
порядок со знаком
Другие примеры:
алгебраическая запись
запись на языке Паскаль
9.1E-21
-0.17E3 или
–1.7E2
1E5
5.Самостоятельная работа
Каждый студент получает задачу из раздела 1 пособия «Программирование физических задач», пишет и отлаживает программу, которая решает эту задачу и сдает ее преподавателю.
Требования при защите задачи.
1.Должна быть написана и отлажена программа, содержащая операторы присваивания, ввода с клавиатуры (если нужно), вывода с форматированием вы-водимых значений (т.е. с указанием числа позиций, отводимых на каждое число).
2.Студент должен придумать и отладить «контрольный пример», демонстрирующий правильную работу программы. Для примера желательно брать простые числа, которые легко просчитать «в уме».
3.Студент должен легко ориентироваться в программе, по требованию преподавателя вносить в нее небольшие изменения. Например, ввести ускорение с клавиатуры, написать оператор, который печатает подсказку для ввода "введите ускорение троллейбуса" и т.д.