Ввод данных. Вывод данных по формату. Арифметические операции, функции и выражения на языке программирования Паскаль.
Екатеринбургский автомобильно-дорожный колледж
Преподаватель: Неверова Ирина Юрьевна
План:
- Ввод данных
- Вывод данных по формату
- Арифметический оператор присваивания
- Арифметические операции, функции и выражения
- Структура программы вычислительных расчётов
Литература:
И. Г. Семакин. Основы программирования, 2003, с. 42 – 52.
Ввод данных
- Ввод данных – это передача информации от внешних устройств в оперативную память, т.е. ввод исходных данных решаемой задачи. Устройство ввода – клавиатура.
- Процедура ввода имеет следующий формат:
READ (); {читать}
Где список ввода – это последовательность имён переменных, разделённых запятыми: Read(a, b, c);
- При выполнении этого оператора происходит прерывание работы программы компьютера, после чего пользователь должен набрать с клавиатуры значения переменных, при этом вводимые значения высвечиваются на экране исполняемой программы.
- Существуют следующие процедуры ввода:
- Read (); - производит ввод данных в исполняемую программу с клавиатуры, не переводя курсор на следующую строку;
Например: Read(a); Read(b); Read(c); Результат на экране: a b c
- ReadLn (); - производит ввод данных в исполняемую программу с клавиатуры и переводит курсор на следующую строку.
Например: Readln(a); Readln(b); Readln(c); Результат на экране: а
b
c
Вывод данных по формату
- Вывод данных процедуры Write может происходить по указанному формату вывода. Формат определяет представление выводимого значения на экране. Он отделяется от соответствующего ему элемента двоеточием. Если указатель формата отсутствует, то машина выводит значение по определенному правилу, предусмотренному по умолчанию в соответствии с указанным типом переменных.
Таблица типов данных вывода по формату
Тип
Целочисленное выражение
Выражение
Integer
Значения
Write (I : N);
I := 51
Оператор
Где N – это параметр, показывающий сколько знаков надо отвести для целого числа. Если число не входит в заданный формат, то оно игнорируется!
Write (I:5);
Результат
_ _ _ 5 1
Write (I);
5 1
Write (I, I, I );
5 1 5 1 5 1
= 0,0 – то используется формат: Результат _7.1543200000.E+02 R := -715.432 _# . # # # # # # # # # # E + / - # # Write (R); где ( # ) - это цифра, _-7.1543200000.E+02 ( _ ) – пробел. Если R _- # . # # # # # # # # # # E + / - # # 2. Write (R : P); R := 46.78 В крайние правые позиции поля шириной P символов выводится десятичное представление значения R в нормализованном формате с плавающей точкой. Длина поля 7 символов, а для отрицательных чисел – 8 символов. Write (-R:12); - 4.67800E+01 3. Write (R : P : N); Где P – общее количество цифр с N количеством знаков после запятой R := -2.87 Write (R:6:1); _ _ - 2.9 " width="640"
Таблица типов данных вывода по формату
Таблица типов данных вывода по формату
Тип
Выражение
Выражение вещественного типа
1. Write (R);
Real
Значения
Оператор
Десятичное представление величины.
R := 715.432
Write (R);
Если R= 0,0 – то используется формат:
Результат
_7.1543200000.E+02
R := -715.432
_# . # # # # # # # # # # E + / - # #
Write (R);
где ( # ) - это цифра,
_-7.1543200000.E+02
( _ ) – пробел.
Если R
_- # . # # # # # # # # # # E + / - # #
2. Write (R : P);
R := 46.78
В крайние правые позиции поля шириной P символов выводится десятичное представление значения R в нормализованном формате с плавающей точкой. Длина поля 7 символов, а для отрицательных чисел – 8 символов.
Write (-R:12);
- 4.67800E+01
3. Write (R : P : N);
Где P – общее количество цифр с N количеством знаков после запятой
R := -2.87
Write (R:6:1);
_ _ - 2.9
Таблица типов данных вывода по формату
Тип
Символьное выражение типа
Выражение
Write (Ch : P);
Char
Строковое выражение типа
Значения
Оператор
Где в крайнюю правую позицию поля шириной Р выводится значение Ch .
Ch := ‘X’
String
Логическое выражение булевского типа
Write (S : P);
Результат
Boolean
Write (Ch:3);
1. Write (B);
S := ‘Day’
Где P количество знаков под текст, значение S выводится в крайние правые позиции поля шириной P – символов.
Где B булевское выражение True (истина) или False (ложь).
_ _ X
B := True
Ch := ‘!’
Write (S);
2. Write (B : P);
Write (B);
Day
S := ‘Day N’
Write (Ch:2, Ch:4);
Write (S:8);
B := False
True
Где в крайние правые позиции поля шириной P символов выводится результат булевского выражения.
_ ! _ _ _ !
S := ‘RD’
_ _ _ Day _ N
Write (B, not B);
B := True
False_True
Write(S:4, S:3);
_ _ RD _ RD
Write (B:6);
B := False
_ _True
Write (B:6, not B:7);
_False_ _ _True
Арифметический оператор присваивания
- Имеет следующую структуру:
:= ;
где (:=) – оператор присваивания.
- В примере Y:=X+1 мы присвоили переменной Y значение X+1. В результате присваивания переменная получает конкретное значение выражения (если X=3, то Y будет равен 4). Справа от оператора присваивания вычисляется результат выражения, а слева – указывается имя вычисляемого объекта.
- Выражение может состоять из:
- Операндов (P := 3.141592) – чисел и переменных ; Операторов (R := (К1+К2)/2) – действий , выполняемых над операндами.
- Операндов (P := 3.141592) – чисел и переменных ;
- Операторов (R := (К1+К2)/2) – действий , выполняемых над операндами.
Арифметические операции
- Унарными – применимые к одному операнду, это операция изменения знака, её формат: -. Например: a := -1;
- Бинарными – применимые к двум операндам, т.е. арифметические операции, где I обозначает целые типы Integer , а R – вещественные типы Real .
Правило : типы переменной и выражения должны быть одинаковыми ( Integer или Real ), исключение составляет случай, когда выражение имеет целый тип, а переменная – вещественный.
Бинарные арифметические операции стандартного Паскаля
Операция
Знак
Сложение
Выражение
Вычитание
+
Типы операндов
-
Умножение
A+B
*
A-B
R, R
Типы результатов
Деление
R, R
R
I, I
A*B
Пример
/
Целочисленное деление Div
R
I, I
R, R
I
I, R
0.5+0.1=0.6
A/B
Остаток от деления Mod
div
R, I
R
I, I
5+3=8
R
I, R
0.4-0.2=0.2
I
mod
R, R
A div B
I, R
I
2-1=1
R
1.5*0.2=0.3
R
1+1.5=2.5
R, I
I, I
A mod B
R
I, I
1.5+2=3.5
R
5-0.5=4.5
R
R, I
2*3=6
I
I, R
I, I
R
0.5/0.2=2.5
R
2*1.5=3.0
5.5-3=2.5
7/2=3.5
I
R
25 div 7 = 3
R, I
2.5*2=5.0
(25/7=3.4)
5/0.5=10.0
R
25 mod 7 = 4
0.4/2=0.2
Арифметические функции
- К арифметическим величинам могут быть применены стандартные функции Паскаля.
- Структура обращения к функции : ()
X := 2*Sin(A)/Ln(3.5)+Cos(C-D), здесь функция выступает как операнд в выражении, при котором аргументы записываются в круглых скобках.
Описание математических функций Паскаля
Имя функции
Тип аргумента
Число “Пи” ( =3.1415926536E+00)
Тип результата
Модуль аргумента ( )
-
Функция на языке Паскаль
I, R
Арктангенс (Arctg x) в радианах
R
Pi
I, R
I, R
Косинус (Cos x) в радианах
R
I, R
Синус (Sin x) в радианах
Abs (x)
Тангенс (Tg x) в радианах
Arctan (x)
R
I, R
Котангенс (Ctg x) в радианах
I, R
R
Cos (x)
Sin (x)
R
I, R
Экспонента (e x )
Sin (x) / Cos (x)
R
I, R
Дробная часть (0,X)
Целая часть (X,0)
Cos (x) / Sin (x)
R
I, R
I, R
R
Exp (x)
Натуральный логарифм (Lg x)
Frac (x)
R
I, R
Псевдослучайное число в интервале [0, 1)
Int (x)
R
-
Ln (x)
R
Random
Описание математических функций Паскаля
Имя функции
Имя функции
Тип аргумента
Тип аргумента
Псевдослучайное число в интервале [0, x)
Псевдослучайное число в интервале [0, x)
Тип результата
Тип результата
I
Округление до ближайшего целого числа (x,y)
I
Округление до ближайшего целого числа (x,y)
Функция на языке Паскаль
Функция на языке Паскаль
I
Квадрат числа (x 2 )
R
Квадрат числа (x 2 )
I
R
Random (x)
I
I, R
I
Возведение числа в степень n (x n )
Random (x)
I, R
Возведение числа в степень n (x n )
I, R
I, R
I, R
Извлечение квадратного корня ()
Round (x)
I, R
Round (x)
Sqr (x)
R
I, R
Sqr (x)
I, R
R
Извлечение корня в степени n ()
Ближайшее целое, не превышающее x по модулю ( |x,y| )
I, R
R
Exp (n*Ln(x))
Exp (n*Ln(x))
R
I, R
Ближайшее целое, не превышающее x по модулю ( |x,y| )
Sqrt (x)
R
R
Sqrt (x)
R
R
I
I
Exp (1/n*Ln(x))
Exp (1/n*Ln(x))
Trunc (x)
Trunc (x)
Арифметические выражения
Арифметическое выражение задаёт порядок выполнения действий над числовыми величинами.
На языке математики:
X=
на языке Паскаль это выглядит так:
x := (2*a+Sqrt(0.5*Sin(x+y)))/(0.2*c-Ln(x-e));
- Скобки определяют порядок выполнения операндов
- После имени функции в скобках указываются агрументы
Правила написания арифметического выражения
1. Все символы пишутся в строчку на одном уровне с проставлением всех знаков препинания, нельзя пропускать знак умножения.
2. Не допускается два следующих подряд знака операций, нельзя: A+-B, можно: A+(-B).
3. Операции с более высоким приоритетом выполняются раньше операций с меньшим приоритетом. Порядок убывания приоритетов:
- Вычисление функции;
- Унарная операция смены знака (+/-);
- Умножение (*), деление (/),
- Целочисленное деление (div), остаток от деления (mod);
- Сложение (+) и вычитание (-).
4. Несколько записанных подряд операций одинакового приоритета выполняются последовательно слева на право.
5. Часть выражения, заключённая в скобки, вычисляется в первую очередь. Например: (A+B)*(C-D) – умножение производится после сложения и вычитания в скобках.
6. Не следует записывать выражений, не имеющих математического смысла. Например, деление на нуль, логарифм отрицательного числа и т.п.
Переведите выражения на язык Паскаль
(1+Y)*(2*X+Sqrt(Y)-X+Y))/(Y+1/(Sqrt(X)-4))
Структура вычислительных программ
Program N; {наименование программы}
Uses CRT; {подключение библиотеки}
Var A, B, R : Real; {блок описания переменных}
Begin {начало программы}
TextBackGround (7); {цвет фона экрана}
Clrscr; {очистка экрана}
TextColor (1); {цвет выводимых символов}
Write (‘введите число А :’); {вывод запроса на экран}
Readln (A); {ввод числа с клавиатуры при исполнении программы}
Write (‘введите число B=’); {вывод запроса на экран}
Readln (B); {ввод числа с клавиатуры при исполнении программы}
R := A*B; {вычисление переменой Rez, т.е. присваивание результата произведения}
Writeln; {вывод пустой строки}
Writeln (‘Результат =’,R : 5 : 2); {вывод ответа на экран с отведением 5 знаков под число и 2 знаков, после запятой}
Readln; {задержка экрана для просмотра выполнения программы}
End. {конец программы}
Желаем успехов на лабораторной работе!
Домашнее задание:
Рабочая тетрадь: Тема № 4.6