Арифметическое выражение Арифметическим называется любое числовое или алгебраическое выражение. Примеры: 1. 2. a b 2 ab a b 3. 25 4. 2 16 ab В языках программирования арифметическое выражение должно быть записано в одну строку с использованием круглых скобок и следующих знаков операций: + – * / сложение вычитание умножение деление При записи арифметического выражения знаки операций опускать нельзя: 4a - неправильно 4*а - правильно . При записи чисел целая часть отделяется от дробной точкой (а не запятой): 6,25 - неправильно 6.25 - правильно . Пример: Решение : записать выражение: a b c 3abc 2 7,8ab 1. a (a+(b-c)*(b-c))/(3*a*b*c)+7.8*a*b-1/a ПРОГРАММА НА ЯЗЫКЕ ПАСКАЛЬ ДЛЯ ВЫЧИСЛЕНИЯ АРИФМЕТИЧЕСКОГО ВЫРАЖЕНИЯ Программа - алгоритм, записанный на языке программирования. Оператор - структурная единица программы. Задача: составить программу для вычисления a 3,14 a 2 b2 ab Решение: п ри b 8,12 program prim; var a,b,c:real; begin; a:=3.14; b:=8.12; c:=(a*a+b*b)/(a*b); write(c); end. Программа состоит из предложений, каждое из которых заканчивается точкой с запятой, – это операторы программы. Последний оператор заканчивается точкой. Буквы a, b, c назовем именами переменных. Что означают эти операторы? заголовок программы сообщение компьютеру,что в программе будут использоваться переменные a,b,c начало выполнения действий присвоить переменной "а" значение 3.14 вывести на экран значение результата "с" конец программы. 1) program prim; 2) var a,b,c:real; 3) begin; 4) a:=3.14; 5) write(c); 6) end. Конкретно правила записи этих операторов будут рассмотрены в следующем параграфе. 2. СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ ПАСКАЛЬ Программа на языке Паскаль имеет строго определенную блочную структуру. з а г о л о в о к о п и с а н и я начало действий д е й с т в и я конец программы ЗАГОЛОВОК ПРОГРАММЫ Заголовок программы имеет следующий вид: PROGRAM имя; где имя - имя программы, от 1 до 63 символов (латинские буквы,цифры и символ подчеркивания,но начинаться обязательно должно с буквы). Это имя придумывает сам программист. Примеры: PRIM ADA_12 C123 ПЕРЕМЕННЫЕ. ОПИСАНИЕ ПЕРЕМЕННЫХ Переменным дают имена по тем же правилам,что и имени программы: A , ALISA , B143 Каждой переменной соответствует определенная ячейка в памяти компьютера. В этих ячейках могут храниться числа в следующих видах: целые вещественные - integer типы переменных real В разделе описаний программы нужно указать, какие типы следующим образом: VAR имя:тип; имя:тип; ....... имя:тип; будут иметь переменные. Это делается Пример: VAR A:integer; B:real; C:real; Если несколько переменных имеют один тип, то их можно описать так: VAR A:integer; B,C:real; Все переменные, которые используются в программе, должны быть описаны. ОПЕРАТОР ПРИСВАИВАНИЯ Оператор присваивания имеет следующий вид: имя:=значение; значение может быть числом или арифметическим выражением. Пример: A:=3.14; C:=A+B; Оператор присваивания действует так: значение в правой части присваивается переменной,указанной в левой части.Недопустимо писать наоборот, т.е. A + B: = C! Недопустимо целому числу присваивать вещественное значение,т.к. ячейки для целых чисел меньше и вещественное значение туда не поместится. Но, поскольку целое число можно считать вещественным (4=4.0), желательно по возможности всем числовым переменным давать тип REAL. ОПЕРАТОР НАЧАЛА ВЫПОЛНЯЕМЫХ ДЕЙСТВИЙ Этот оператор имеет следующий вид: BEGIN; ОПЕРАТОР ВЫВОДА Этот оператор имеет следующий вид: WRITE(имя1,имя2,...,имяn); где имяi - имена переменных, значения которых нужно вывести. Пример: WRITE(A,B,C); этот оператор равносилен следующим трем: WRITE(A); WRITE(B); WRITE(C); Кроме оператора WRITE, существует оператор WRITELN, который после окончания своей работы закрывает строку вывода,т.е. следующий вывод будет с начала новой строки. Пример: пусть A:=3; B:=8; C:=26; WRITE(A); WRITELN(B); WRITE(C); будет напечатано: 3 1-я строка вывода 8 2-я строка вывода 26 ОПЕРАТОР КОНЦА ПРОГРАММЫ Этот оператор имеет следующий вид: END. ПРАВИЛА ПУНКТУАЦИИ Каждый оператор (кроме END.) должен заканчиваться точкой с запятой. На одной строке программы можно помещать столько операторов, сколько уместится: A:=3; B:=4; C:=A+B; WRITE(C); Если какой-то оператор не умещается на строке,то его "хвост" переносят на другую без знака переноса: A:=3; B:=4; C:= A+B; WRITE(C); Можно не ставить точку с запятой: - после слова BEGIN - перед словом END. (т.е. после оператора,который непосредственно предшествует END.) ЗАДАЧИ 1. Записать выражение: a) a b2 3ab 4 ,85a 1 a b 2 ab a б) 1 2 a 2ab b в) a a 1 1 a 2 a 3bc a 4 ,2 b b 2,85a 2 a a c a 2. Перевести из линейной записи в обычную: а) (a + 2*a/b*b)/a + 1/b + 4.2 б) (a/b + c/2*a*b)*2 + (a+b)/c + d в) a*2*b/c + 1.3*(a+b)/(c+d) - a/(b*c) 3. Составить программу для вычисления выражения: a 4bc 2 a 7,12 a2 b bc b 7,8 п ри a 0,3 c 3,16