Напишите как будет выглядеть на паскале выражение
Операции div и mod определены только для целочисленных операндов. Приведем пример их использования:
Примеры арифметических выражений мы приведем после рассмотрения стандартных функций языка Паскаль.
Табл. 3.2. Стандартные функции языка Паскаль
аргумента и результата
Модуль аргумента x
Integer (I) или Real (R)
Квадрат аргумента x
Остальные тригонометрические функции выражаются через эти
Экспонента и натуральный логарифм
Квадратный корень от аргумента x
Функция без аргументов, вернет число p
Функция отбрасывает дробную часть аргумента, аргумент не округляется
аргумент R, результат I
дробную часть своего
Округление вещественного числа до ближайшего целого
аргумент R, результат I
В табл. 3.2 x обозначает любую подходящую по типу переменную, либо результат вычисления выражения соответствующего типа, либо соответствующий по типу результат, вычисленный другой стандартной функцией.
Приведем примеры арифметических выражений.
Тип выражения определяется старшим из типов входящих в него операндов (т. е., стандартных функций, переменных, констант). Старшинство типов можно определить по табл. 2.1, напомню, что в первой строке таблицы находится самый младший тип.
Например, для переменных
выражение i +4* j имеет целый тип, и его результат можно записать в целую переменную. Выражение f + i *0.5 дает вещественный, результат, который должен быть записан в вещественную переменную.
Выражения в Pascal
В операторах присваивания можно использовать арифметические выражения. Например:
Скобки обеспечивают необходимый порядок вычислений. Если бы в первом примере скобки были опущены:
то сначала было бы выполнено деление, приоритет которого выше. Приоритет в арифметических выражениях выше у операций умножения (*) и деления (/), ниже у сложения и вычитания.
Во втором из приведенных примеров производится присваивание значения целого числа. Функция trunc дает целый результат, а число 1 записано без десятичной точки; таким образом, оба слагаемых в сумме дают целое значение. Вообще, когда все члены выражения – целые, само выражение принимает целое значение.
У сформулированного выше правила существует важное исключение: деление (с использованием знака /) всегда дает вещественный результат:
Деление нацело (нахождение частного и остатка) может быть выполнено при помощи операций div и mod.
Выражение может включать в себя и целые и вещественные члены. Наличие хотя бы одного вещественного члена или знака / приводит к тому, что значение результата будет вещественным. Функции trunc и round могут быть использованы для преобразования вещественного числа в целое.
Функция sqr возводит значение аргумента (записанного внутри скобок) в квадрат. В Паскале нет оператора возведения в произвольную степень. Возведение в степень здесь осуществляется с использованием логарифмов. Вместо математического выражения a x на Pascal можно написать exp(ln(a) * x).
Знаки = и подобные также играют роль операций. Выражения, содержащие подобные операции, принимают логическое значение и называются логическими выражениями. В состав логических выражений могут входить логические операции not (не), and (и), or (или). Такие логические выражения называются сложными.
Pascal: Занятие №2. Часть 1: Условный оператор в Паскале (If)
Условный оператор в Паскале
До рассмотрения данной темы в основном использовались линейные алгоритмы в Паскале, характерные для весьма простых задач, когда действия (операторы) выполняются последовательно, одно за другим. Более сложные алгоритмы предусматривают использование конструкция ветвления.
Блок-схема условного оператора:
Условный оператор в Паскале имеет следующий синтаксис:
if условие then оператор;
Полный вариант:
if условие then оператор else оператор;
Условный оператор в Паскале — if — служит для организации хода задачи таким образом, при котором изменяется последовательность выполнения операторов в зависимости от какого-либо логического условия. Логическое условие может принимать одно из двух значений: либо true (истина), либо false (ложь), соответственно, оно может быть либо истинным, либо ложным.
Составной оператор
Операторные скобки и составной оператор в Паскале:
if логическое выражение then begin оператор1; оператор2; end else begin оператор1; оператор2; end;
Перевод с английского оператора условия облегчит понимание его использования:
IF | THEN | ELSE |
ЕСЛИ | ТО | ИНАЧЕ |
В условии (в логическом выражении) используются операторы отношения.
Рассмотрим список операторов отношения Паскаля:
Подробно разобраться в работе условного оператора в Паскале можно, просмотрев видеоурок:
begin var x:=readReal(‘введите х’); var y: real; if x>0 then y:=ln(x) else y:=exp(x); writeln (‘y=’, y:6:2) end.
Таким образом, использование такой записи в pascal практически позволяет выполнить округление до сотых, тысячных и т.п.
[Название файла: L2task0.pas ]
[Название файла: L2task1.pas ]
[Название файла: L2task2.pas ]
Логические операции в Паскале (в логическом выражении)
Когда необходимо использовать двойное условие в Pascal, то понадобятся логические операции.
var n:integer; begin n:=6; if (n>5) and (n 7) or (n 7) xor (n 7) then writeln(‘истина’); end.
var a,b: integer; begin write(‘Введите A: ‘); read(a); b := a mod 2; if b>0 then writeln(‘true’) else writeln (‘false’) end.
var a,b: integer; begin write(‘Введите A: ‘); read(a); b := a mod 2; writeln(b>0); end.
[Название файла: L2task3.pas ]
[Название файла: L2task4.pas ]
Построение блок-схем по коду Паскаль
Существуют управляющие структуры трех типов:
следование | ветвление | повторение или цикл |
Две из трех представленных структур блок-схемы мы уже можем перевести в код Pascal.
Результат:
Выражения Паскаль
Какую структуру имеют выражения Паскаль? Выражения Паскаль задают определенное правило, по которому вычисляется некоторое значение. В состав выражений входят:
Математические операции Паскаль:
Приведем стандартные математические операции в Паскале:
+ — сложение (3+58=61)
— — вычитание (4-42=-38)
* — умножение (8*12=96)
/ — деление (46/23=2)
Однако кроме этих стандартных операций в Паскале предусмотрены еще 2 математические операции:
div — деление нацело (10/3=3)
mod — деление с остатком (10/3=1)
Логические операции Паскаль:
В языке Паскаль присутствуют еще и логические операции над аргументами логического типа, например, у нас даны две логические переменные A и B. В таблице истинности запишем результат выполнения тех или иных логических операций:
Под not понимается логическое отрицание («НЕ»), and означает логическое умножение («И»), or подразумевает логическое сложение («ИЛИ»), xor раскрывает логическое «исключающее ИЛИ».
Операции отношения Паскаль:
Теперь поговорим об операциях отношения в Турбо Паскаль:
Уникальность операций отношения состоит в том, что их можно выполнять не только над числами, но и над строками, символами, множителями и указателями.
Приоритет операций Паскаль:
Как в математике, так и в программировании присутствует приоритет операций. В Турбо Паскале порядок вычисления выражения фиксируется по старшинству содержащихся в нем операций:
В математике тем не менее возможно переопределить порядок выполнения операций при помощи скобок. Турбо Паскаль — не исключение:
Математические функции Паскаль:
Приведем основные математические функции, которые разработчики Турбо Паскаль предусмотрели и вставили в системную библиотеку:
abs(n) — абсолютное значение числа n,
sin(n) — синус числа n, где n — угол в радианах,
cos(n) — косинус числа n, где n — угол в радианах,
В Турбо Паскале не предусмотрены функций тангенса и котангенса. Чтобы их вычислить, используют выражения sin(x)/cos(x), cos(x)/sin(x) соответственно.
atan(n) — арктангенс числа n,
exp(n) — число e = 2,718 в степени n,
ln(n) — натуральный логарифм числа n,
pi — число Пи = 3,14,
sqr(n) — квадрат числа n.
В Турбо Паскале нет функции, чтобы возвести число в произвольную степень, поэтому, как и в математике, можно либо многократно умножать число на себя для возведения в целочисленную степень, либо воспользоваться функциями экспоненты и натурального логарифма, чтоб возвести число как в целочисленную, так и в вещественную степень (более эффективный способ):
2^(1.33) = exp(1.33*ln(2))
sqrt(n) — квадратный корень из числа n,
trunc(n) — число, равное целой части числа n (отбрасывается дробная часть числа n, результатом выполнения будет число с типом longint),
frac(n) — число, равное дробной части числа n,
int(n) — число, равное целой части числа n (в результате получается число с типом real),
round(n) — округление числа n (возвращаемое значение будет иметь тип longint),
random(n) — генератор псевдослучайных чисел в диапазоне 0 до n (если аргумент отсутствует, т.е. просто random, то в результате выполнения этой функции появится вещественное число от 0 до 1).
program chislo;
var j: integer;
begin randomize;
for j:=1 to 7 do
writeln(random(26)-10);
inc(m,n) — увеличение значения числа m на n (если число n не указано, то число m увеличивается на единицу),
dec(m,n) — уменьшение значения числа m на n (если число n не указано, то число m уменьшается на единицу).
Pascal: Занятие №1. Часть 3: Типы данных в Паскаль
Типы данных в Паскале
Паскаль — это типизированный язык программирования. Это означает, что переменные, в которых хранятся данные, имеют определенный тип данных. Т.е. программе напрямую надо указать, какие данные могут храниться в той или иной переменной: текстовые данные, числовые данные, если числовые — то целочисленные или дробные, и т.п. Это необходимо в первую очередь для того чтобы компьютер «знал», какие операции можно выполнять с этими переменными и как правильно их выполнять.
Например, сложение текстовых данных, или как это правильно называется в программировании — конкатенация — это обычное слияние строк, тогда как сложение числовых данных происходит поразрядно, кроме того, дробные и целые числа складываются тоже по-разному. То же самое касается и других операций.
Рассмотрим наиболее распространенные в Pascal типы данных.
Целочисленные типы данных в Паскаль
Тип | Диапазон | Требуемая память (байт) |
byte | 0..255 | 1 |
shortint | -128..127 | 1 |
integer | -32768.. 32767 | 2 |
word | 0..65535 | 2 |
longint | -2147483648..2147483647 | 4 |
Нужно иметь в виду, что при написании программ в паскале integer (в переводе с англ. целое) является наиболее часто используемым, так как диапазон значений наиболее востребуем. Если необходим более широкий диапазон, используется longint (long integer, в переводе с англ. длинное целое). Тип byte в Паскале используется, когда нет необходимости работать с отрицательными значениями, то же самое касается и типа word (только диапазон значений здесь значительно больше).
Примеры того, как описываются (объявляются) переменные в Паскале:
Pascal | PascalABC.NET | ||||||||||||||||||
Pascal | PascalABC.NET | ||||||||||||||||
ДЕЙСТВИЕ | РЕЗУЛЬТАТ | СМЫСЛ |
---|---|---|
2 + 3 | 5 | плюс |
4 — 1 | 3 | минус |
2 * 3 | 6 | умножить |
17 div 5 | 3 | целочисленное деление |
17 mod 5 | 2 | остаток от целочисленного деления |
Порядок выполнения операций
var a: integer; b: real; begin a := 1; writeln(‘a := 1; a = ‘,a); a += 2; // Увеличение на 2 writeln(‘a += 2; a = ‘,a); a *= 3; // Умножение на 3 writeln(‘a *= 3; a = ‘,a); writeln; b := 6; writeln(‘b := 6; b = ‘,b); r /= 2; writeln(‘b /= 2; b = ‘,b); end.
Стандартные арифметические процедуры и функции Pascal
Здесь стоит более подробно остановиться на некоторых арифметических операциях.
Пример операции inc:
Более сложное использование процедуры inc:
Inc(x,n) где x — порядкового типа, n — целого типа; процедура inc увеличивает x на n.
Пример использования функции odd:
begin WriteLn(Odd(5));
Пример использования процедуры sqr в Pascal:
var x:integer; begin x:=3; writeln(sqr(x)); <ответ 9>end.
Однако в компиляторе pascal abc возведение в степень осуществляется значительно проще:
Пример использования процедуры sqrt в Pascal:
var x:integer; begin x:=9; writeln(sqrt(x)); <ответ 3>end.
Теперь вы знаете какие однокоренные слова подходят к слову Напишите как будет выглядеть на паскале выражение, а так же какой у него корень, приставка, суффикс и окончание. Вы можете дополнить список однокоренных слов к слову "Напишите как будет выглядеть на паскале выражение", предложив свой вариант в комментариях ниже, а также выразить свое несогласие проведенным с морфемным разбором.