Операции над вещественными данными
знак операции содержание операции + " сложение
вычитание * умножение / деление
В ТР отсутствует операция возведения в степень, при необходимости ее использования применяют стандартные функции. А" соответствует EXP (A*Ln(x)), где Ln(x)-функция вычисления натурального логарифма для числа Х(х>0),ЕХР(у)-экспонеита числа Y,-r.e. е^ Существуют стандартные функции, позволяющие определить некоторые тригонометрические величины, например, для нахождения синуса числа Х служит функция SIN(x), х задается в радианах. Функция SQR(x) вычисляет квадрат числа X, а SQRT(x) - значение корня квадратного из X.
Подробнее со стандартными функциями, применимыми к числовым данным, познакомимся на следующих занятиях.
Арифметическое выражение- это конструкция языки, задающая правили вычисления значения величины и состоящая из числовых констант, переменных, стандартных функг^ий, соединенных знаками арифметических операций.
Если в выражении есть хоть один вещественный операнд, то результат выражения имеет вещественный тип. Приоритет (очередность выполнения) операций в арифметическом выражении:
1. Вычисление значений стандартных функций.
2. Операции умножения и деления.
3. Операции сложения и вычитания.
Порядок выполнения операций регулируется с помощью круглых скобок. В простейшем случае выражение может состоять из одной константы или одной переменной. Правила записи арифметических выражений:
1. Знак операции деления "/" позволяет записать в строку выражение, которое традиционно записывается с выходом из строки.
А
Например: выражение — записывается как А/В. В
2. Знак операции умножения нельзя опускать. Например:
9. Записать порядок операций и вычислить выражение
-a mod b + a div b*c при а=-1 l,b=2,c=3
10. При каком значении Х справедливо равенство 20 div Х = 20 mod X ?
11. Подберите соответствующие идентификаторы переменных для хранения значений ниже перечисленных данных и опишите их:
- число дней в году;
- количество листов в книге;
- расстояние между планетами;
- стоимость билета в театр;
- температура человека.
\a\-\b\ c(a+b)
12. Записать на языке PASCAL выражение ~,——-Г + —у,—— \a-b\ a be
©?
I .Для чего используется указание типа данных величин?
2.Как описывается тип величины в программе на языке PASCAL?
З.Чем отличается константа от переменной?
4.Для чего нужен идентификатор?
5.Чем характеризуется целый тип данных?
б.Чем характеризуется вещественный тип данных?
7.Что такое выражение?
8.Каков приоритет выполнения операций в выражении?
9.Какого типа будет результат арифметического выражения?
10.Какие утверждения правильны?
1/10 - вещественная константа;
0.1 - вещественная константа в форме записи с фиксированной точкой;
-1273.- отрицательное целое число;
6.1*10 - вещественная константа в форме с плавающей запятой;
II .Какие из следующих соотношений (запись константы в форме с плавающей и в форме с фиксированной запятой) неправильны? 6.22Е+02 622 20Е-03 0.02 0.2ЕОЗ 2000.0 1200Е+03 12000.0______________________________
§6. Понятие оператора. Операторы присваивания, ввода, вывода
6.1. Оператор языка
Оператор - это законченная фраза языка программирования, определяющая какое-то действие над данными
Все операторы записываются в разделе операторов и отделяются друг от друга символом ";".
Оператор присваивания (:=)
Оператор присваивания позволяет присвоить переменной какое-то значение. Общий вид оператора присваивания:
«^идентификатор _ переменной>:=<выражение>;
Выполнение оператора:
1 .Вычисляется значение выражения, стоящего в правой части. 2.Вычисленное значение присваивается переменной, имя которой стоит слева от знака ":=" в операторе. Например: Х:=Х+2;
М:=0;
Следует помнить:
1 .Чтобы оператор присваивания выполнился правильно, все переменные, входящие в выражение правой части, обязательно должны иметь некоторые значения к моменту выполнения оператора.
Пример: оператор Y:=X1+X2; будет иметь смысл только тогда, когда перед ним были выполнены, например, такие операторы: Х1:-5;Х2:—11; иначе значение переменной Y не определено.
2. При выполнении оператора присваивания предыдущее значение переменной, идентификатор которой стоит слева от знака "присвоить", заменяется на текущее.
var
a: integer;
begin
а:=2; {Чему будет равно значение переменной "а"}
а:=а+3; {после выполнения этих операторов?}
3. Необходимо, чтобы переменная в левой части оператора и выражение в правой его части были одного типа.
Исключение:
разрешается присваивать переменной вещественного типа значение целого типа; в этом случае значение преобразуется в вещественный тип.
var
x,y:integer;
begin
х:-=2;
у:=-2.5;{неверно}
_©?___________________________________________________________
1. Какие из следующих конструкций не являются оператором присваивания и почему? а) а:=Ь; г) у:=у;
б)а:=с+ 1; д)-у:=у;
в) а*х-Ь:=0;
2. Пусть переменная Х имеет значение 0.2, а переменная Y-значение -0.2. Какие значения будут иметь Х и Y после выполнения операторов присваивания.
х:=х-2+у;
У-У/2;________________ ____________________________
Оператор ввода
Задать определенные значения переменным можно не только с помощью оператора присваивания. Точнее, это процедура ввода значений с клавиатуры (т.е. вспомогательный алгоритм, решающий данную задачу). Таких процедур две: READ и RE ADLN.
Общий вид процедур ввода:
READ (список _ идентификаторов _переменных);
READLN (список _ идентификаторов _ переменных);
Список состоит из идентификаторов переменных, записанных через запятую (в частном случае он может содержать идентификатор только одной переменной). При выполнении этой процедуры выполнение программы приостанавливается до тех пор, пока пользователь не введет с клавиатуры значения для всех переменных, указанных в списке. Вводимые значения набираются минимум через один пробел на клавиатуре и высвечиваются на экране дисплея. После набора данных для одной процедуры READ нажимается клавиша "ввод". Курсор остается в той же строке экрана, где высвечены вводимые значения. Вводимые значения должны строго соответствовать типу соответствующих переменных. Обратите внимание, что вводить с клавиатуры можно только значения переменных, но не выражения.
VAR
i.-real;
j,k:integer;
BEGIN
read(ij,k);
Первый вариант ввода: 2.144 8 1 (enter) обеспечивает нормальный ввод данных, после чего переменная i получит значение 2.144, переменная j- значение 8, а переменная k- соответственно 1.
Второй вариант ввода: 8 2.144 1 вызовет ошибку транслятора, т.к. была попытка присвоить целой переменной i значение вещественной константы 2.144.
VAR a,b,suml integer;
c,d,sum2:real;
BEGIN read(a,b);
suml:=a+b;
read(c,d);
sum2:=c+d;
Набираем на клавиатуре 18758 34(enter)2.62E-02 1.54(enter)
Процедура ввода значений READLN аналогична процедуре READ, единственное отличие в том, что после считывания значения последней переменной процеду-
ры READLN данные для следующей процедуры READLN будут считываться с новой строки.
6.4. Оператор вывода
Целью написания программы является получение результата, причем в удобном для человека виде. Наиболее часто результат решения задачи выдается на экран дисплея. Для этого используются процедуры вывода данных на экран WRITE и WRITELN. Общий вид процедур:
WRITE(cnHCOK вывода);
WRITELN(cimcoK вывода);
Список вывода составляют перечисленные через запятые выражения. Вспомните, что переменная и константа - частные случаи выражения. Процедура вывода вычисляет значение выражения и вычисленное значение выводит на экран дисплея.. Значения всех выражений из списка вывода выводятся в строчку, одно за другим до конца строки; Причем, если для вывода использовалась процедура WRITE, курсор остается на той строке, где было выведено значение последнего выражения списка вывода. При выводе с помощью WRITELN курсор переместится в начало следующей строки экрана после того как будут выведены все значения списка.
VAR X,Y: integer;
begin
х:=2;
у-10;
writeln(x,y,x+y);
end.
После выполнения программы на экране появится: 21012 и курсор переместится на следующую строку.
Процедура WRITELN без списка вывода просто переводит курсор в начало еле-' дующей строки дисплея.
Часто бывает нужно оформить соответствующим образом выводимые на экран данные, например, вывод чисел в столбик сделать так, чтобы цифры одинаковых разрядов чисел помещались в одних колонках. Для этого используют форматированный вывод.
Формат вывода.
Для каждого выражения списка вывода через двоеточие можно задать ширину поля вывода.
VAR результат выполнения программы:
i: integer;
begin 134 (цифра 4 - в шестой колонке)
i:=134; Ццифра 1 -в 10-ой колонке)
writeln(i:6); 614 (цифра 4 - в 7-ой колонке)
i:=l;
writeln(i:10);
i:=312;
writeln(i+i:7);
end.
Для выражений вещественного типа в списке вывода можно задать общую ширину поля вывода (считая точку) и число позиций под дробную часть.
VAR результат выполнения программы:
rreal;
begin 134.0400 (цифра б -в восьмой колонке) г:=134.04; -11.32 (цифра 2 -в 7-ой колонке) writeln(r:8:4); 31.5200 (цифра 2 - в 7-ой колонке) r:=-11.32;
writeln(r:7:2);
r:=31.52;
writeln(r:9:4);
end.
Если нужно вывести на экран какой-то текст (например, пояснительного характера), этот текст следует заключить с обеих сторон в апострофы и вставить в нужное место списка вывода.
VAR
a: integer;
begin
\уг11е1п('введите целое число');
readln(a);
writeln('KBanpaT числа ',а,' равен ',а*а);
end.
Дата добавления: 2015-12-11; просмотров: 1320;