
- •Литература:
- •1. Введение
- •2. Введение
- •Структура процедура
- •Имена в Delphi
- •Организация данных в программе на Delphi
- •Типы, определяемые пользователем или пользовательские типы.
- •К простым типам относятся: - порядковые типы -вещественные типы.
- •Логический тип – Boolean, ByteBool, Bool, WordBool, LongBool.
- •Существуют логические выражения
- •Реализация линейных алгоритмов
- •Реализация разветвляющихся алгоритмов
- •Команды ветвления
- •Программа:
- •Оператор 1 – любой оператор Турбо Паскаля, включая составной оператор.
Логический тип – Boolean, ByteBool, Bool, WordBool, LongBool.
СМ.????????
Существует две логические константы, имеющие стандартные имена True и False.
Логическая переменная – это переменная, которая принимает одно из значений True(истина) и False(ложь).
Существуют логические выражения
простые (выражения отношения - это два выражения, соединенные знаками >, <, >=,<=, <>.)
Пример:
’5’<’0’ ; 53<48
Ord (’5’) = 53 Ord (’0’) = 48
- составные (два или несколько логических выражений, соединенные
знаками логических операций).
Not – не;
And – и; Пример: (3>2) or (5<1)
Or – или.
Выражения, стоящие справа и слева от логических операций должны быть заключены в скобки. Приоритет выполнения логических операций : Not,And,Or.
Ord (False) = 0; Ord (True) = 1, -1.
В блоке описания переменных логические переменные должны быть описаны следующим образом:
Var
fl, fl1: boolean;
Begin
fl:=true; fl1:=false; fl:=(45>56) and(6<3);
…………………..
End.
Целые типы.
Byte,
ShortInt,
SmallInt,
Word,
Integer,
LongInt,
LongWord,
Int64,
Cardinal.
Заполнить таблицу длин их внутренних представлений в байтах, диапазон возможных значений, стандартные математические функции над целыми числами из электронных вариантов учебников!!!!!!.
Функции порядкового типа
Имя функции |
Назначение функции |
Odd(x) |
Проверяет, является ли аргумент нечетным числом Odd(0)=False Odd(1)=True Odd(2)=False Odd(-1)=True |
Pred(x) |
Возвращает предшествующее значение аргумента Pred(10)=9 Pred(-10)=-11 |
Succ(x) |
Возвращает последующее значение аргумента Succ(10)=11 Succ(-10)=-9 |
Процедуры порядкового типа
Имя процедуры |
Назначение процедуры |
Dec(x[,dx]) |
Уменьшает значение переменной x на величину dx (если параметр dx не задан, то на –1) k:=5; Dec(k)=4 Dec(k,2)=3 Dec(k,-2)=7 |
Inc(x[,dx]) |
Увеличивает значение переменной x на величину dx (если параметр dx не задан, то на +1) k:=5; Inc(k)=6 Inc(k,2)=7 Inc(k,-2)=3 |
Вещественные типы.
single.
real,
double,
comp,
extended,
currency.
Таблица знаков операций и стандартных функций в Delphi.
Математические функции
Имя функции |
Назначение функции |
Тип результата |
Abs(x) |
Абсолютное значение (модуль) аргумента Abs(-3.5)=3.5 |
Совпадает с типом x |
ArcTan(x) |
Арктангенс аргумента в радианах ArcTan(1)=7.8539816340E-01 |
Real |
Cos(x) |
Косинус аргумента в радианах Cos(Pi/3)=5.0000000000E-01 |
Real |
Exp(x) |
Экспонента аргумента (Е в степени х) Exp(1)=2.7182818285E+00 |
Real |
Ln(x) |
Натуральный логарифм Ln(10)=2.3025850930E+00 |
Real |
Pi |
Значение числа PI=3.1415926536E+000 (более точно 3.1415926535897932385) |
Real |
Random |
Случайное число из диапазона от 0 до 1 |
Real |
Random(x) |
Случайное число из диапазона от 0 до х-1 |
Word |
Sin(x) |
Синус аргумента в радианах Sin(Pi/3)=8.6602540378E-01 |
Real |
Sqr(x) |
Квадрат аргумента Sqr(-12)=144 |
Совпадает с типом х |
Sqrt(x) |
Квадратный корень аргумента Sqrt(841)=2.9000000000E+01 |
Real |
При необходимости вычисления некоторых математических функций, для которых не существует стандартных функций в языке Турбо Паскаль, их выражают через имеющиеся стандартные функции. Например:
Tg(x) = Sin(x)/Cos(x);
Lg(x) = Ln(x)/Ln(10);
xn = Exp(n*Ln(x)).
Перед использованием функций Random и Random(x) обычно предварительно выполняют процедуру Randomize (процедура без параметров), которая обеспечивает несовпадение последовательностей случайных чисел, генерируемых функцией Random или Random(x).
Функции округления и преобразования типов
Имя функции |
Тип аргумента |
Тип результата |
Назначение функции |
Chr(x) |
Целый Chr(66)='B' Chr(Ord('M'))='M' |
Char |
Преобразование ASCII-кода в символ (0-255) |
Frac(x) |
Real Frac(-12.34)=-.34 |
Real |
Дробная часть вещественного числа x–Int(x) |
Int(x) |
Real Int(-12.34)=-12 |
Real |
Целая часть вещественного числа |
High(x) |
Порядковый, массив, строка, открытый массив |
Совпадает с аргументом |
Получение максимального значения номера элемента |
Low(x) |
Порядковый, массив, строка, открытый массив |
Совпадает с аргументом |
Получение минимального значения номера элемента |
Ord(x) |
Порядковый Ord('A')=65 Ord(Chr(86))=86 |
Longint |
Возвращает число, соответствующее символу x в ASCII-таблице |
Round(x) |
Real Round(-1.2)=-1 Round(-1.5)=-2 Round(1.2)=1 Round(1.5)=2 |
Longint |
Округление до ближайшего целого |
Trunc(x) |
Real Trunc (-1.2)=-1 Trunc (-1.5)=-1 Trunc (1.2)=1 Trunc (1.5)=1 |
Longint |
Отбрасывание дробной части |
Заполнить таблицу длин их внутренних представлений в байтах, диапазон возможных значений, стандартные математические функции над вещественными числами из электронных вариантов учебников!!!!!!.
Схема реализации алгоритма на ЭВМ
Алгоритм
алгоритм транслятор
алгоритм
на на языке (перевод алгоритма на
Е
стественном
символического с языка сим-го
кодир-ия машинном
языке кодирования на машинный язык) языке
1. Оператор присваивания
<имя переменной> : = <выражение>;
Пример:
К:=5;
Str:=’информатика’;
Исполнение: вычисляется значение выражения, стоящего справа от знака присваивания. Это значение присваивается переменной, имя которой стоит слева от знака присваивания. Выражения – операнды, соединенные знаками операций и круглыми скобками. Операнды – переменные, константы, функции.
Тип переменной в левой части оператора присваивания обычно должен совпадать с типом значения выражения в правой части. Пример несовпадения, если слева – вещественный тип, а справа – целый.
2. Оператор безусловного перехода
Goto <метка>; -перейти на метку.
Пример:
………………
Goto N;
k:=3;
…………..
N: k:=5;
………….
Оператор служит для прерывания естественного хода выполнения программы. Следующим за Goto оператором выполняется оператор, помеченный меткой N, которая используется в операторе Goto.
Оператор Goto рекомендуется использовать в исключительных случаях при программировании, т.к. использование этого оператора усложняет отладку и понимание программы. Язык создан таким образом, что управляющих операторов вполне достаточно для реализации любого алгоритма.
Операторы ввода и вывода
3.Операторы ввода-вывода
В любом языке программирования предусмотрена возможность обмена информации программы с внешними устройствами (принтер, дисплей, файл). В Турбо Паскале существуют стандартные процедуры ввода-вывода, описанные в модуле System. В программе для ввода и вывода информации записываются операторы обращения к этим процедурам.
а) операторы – ввода
Read(<список ввода>);
ReadLn(<список ввода>);
ReadLn;
б) операторы вывода
Write(< список вывода>);
WriteLn(< список вывода>);
WriteLn;
Операторы ввода.
- Read ( а1,а2,а3,…,аn); - «читать переменные а1,а2,а3,…,аn».
При выполнении Read процессор останавливается и ждет, пока пользователь введет значения и нажмет Enter. Числа вводятся через пробел.
- Readln ( а1,а2,а3,…,аn);
Для ввода данных нужно ввести с клавиатуры данные и нажать Enter. Переменные а1,а2,а3,…,аn получат последовательно введенные значения, после чего происходит переход на новую строчку.
Readln;
Переход на новую строчку, т.к. вводимых значений нет, то нужно просто нажать Enter. Используется часто для задержки исполнения программы.
Операторы вывода.
Write(’а=’,a);- «напечатать, писать»
WriteLn(b1,b2,b3,…,bn);
b1,b2,b3,…,bn – список вывода. Параметры b1,b2,b3,…,bn - переменные, константы, выражения. Оператор Write выводит значения переменных, констант, выражений в окно ввода – вывода. Выражение в программировании служит для задания действий, которые необходимы для определения нового значения. Например, a + b –1, A*sin( Т ), (x > 0) And (x < 1), ‘Решение’ + ' уравнения’ и т.п.
Write(’а=’, a); То, что в апострофах – это константа, она выводится на экран без изменений. С места курсора выводится «а=», а далее из ОЗУ на монитор выводится значение переменной «а».
П
ример:
ОЗУ
окно вывода
W
rite(’y=’,3*5);
- y=15 a b 7.6 5_
W rite(a); 7.6 5 7.6
WriteLn(b); 5
W riteLn(a); WriteLn(b); -
W
riteLn(b1,b2,b3,…,bn);
Выводит значение параметров b1,b2,b3,…,bn в одну строку, если число символов, необходимых для вывода значения параметров, меньше 80 и переводит курсор на следующую строку.
WriteLn;
Служит для перевода курсора на следующую строку.
Форматный вывод.
Для вывода целых чисел используется такой формат Write(а:m), тогда для вывода значения параметра а отводится m-символов, значение сдвигается к правому концу. Окно вывода
П
14 23 Р
ример:
ОЗУ
Write(а:7, b:5,c:3); а b c 14 23 р
14 23 ’p’
Для вывода вещественных чисел – Write(a:m:n); ,где m – количество позиций, отведенных для записи всего числа, включая точку, дробную часть, знак; n – количество знаков в дробной части, запись сдвигается к правому краю отведенного поля.
А=0.0034=0.34 *102; 0.34 Е02;
Пример:
W rite(a:7:3,b:5:2) ОЗУ окно вывода
а b - 2.34 1.2
-2.34 1.2