Слайд 6Логические операции
Над логическими аргументами в Паскале определены следующие операции:
NOT - логическое
отрицание ("НЕ")
AND - логическое умножение ("И")
OR - логическое сложение ("ИЛИ")
Слайд 7
Abs(X)
Возвращает абсолютное значение числа X.
Cos(X), Sin(X)
Возвращает косинус (синус) числа X, где
X - угол в радианах.
Функций тангенс и котангенс в Паскале нет.
Для их вычисления используйте выражение
sin(x)/cos(x) (или cos(x)/sin(x) для котангенса).
ArcTan(X)
Возвращает арктангенc числа X.
Exp(X)
Возвращает число, равное e в степени X.
Ln(x)
Возвращает число, равное натуральному
логарифму от числа X.
Pi
Число Пи.
Слайд 8Sqr(X)
Возвращает число, равное квадрату числа X.
Функции возведения в произвольную степень в
Паскале нет. Используйте многократное умножение для возведения в целочисленную степень,
либо функции Exp и Ln для возведения в вещественную степень.
Sqrt(X)
Возвращает число, равное квадратному корню из числа X.
Trunc(X)
Возвращает число, равное целой части числа X. (Происходит отбрасывание дробной части числа X. Результат выполнения имеет тип Longint).
Frac(X)
Возвращает число, равное дробной части числа X.
Int(X)
Возвращает число, равное целой части числа X. Результат выполнения функции - real.
Round(X)
Функция округляет число X. Возвращаемое значение имеет тип Longint.
Random(X)
Возвращает случайное целое число в диапазоне 0..X. Если аргумент опущен (Random), то возвращается случайное вещественное число от 0 до 1.
Слайд 9var i: integer;
begin randomize;
for i:=1 to 5 do writeln(random(21)-10);
end.
Слайд 10Ввод данных
Для ввода исходных данных чаще всего
используется процедура ReadLn:
ReadLn(A1,A2,...AK);
Вывод данных
Для вывода
результатов работы программы на экран
используются процедуры:
Write(A1,A2,...AK);
WriteLn(A1,A2,...AK);
Слайд 11Оператор условного перехода
Оператор условного перехода в
ABC Паскаль имеет вид:
if условие
then оператор 1 else оператор 2;
Слайд 12Оператор выбора
case выражение of вариант : оператор;
...
вариант : оператор;
end;
Пример
case ch of 'A'..'Z', 'a'..'z' : WriteLn('Буква');
'0'..'9' : WriteLn('Цифра');
'+', '-', '*', '/' : WriteLn('Оператор');
else WriteLn('Специальный символ') end;
Слайд 13Арифметические циклы
Синтаксис:
for переменная := значение 1 to
значение 2 do оператор
или
for
переменная := значение 2 downto
значение 1 do оператор
Слайд 14Пример 1. Квадраты чисел от 2-х до 10-и.
for x:=2 to 10
do WriteLn(x*x);
Пример 2. Латинский алфавит.
for ch:='A' to 'Z' do Writeln(ch);
Слайд 15Итерационные циклы с предусловием
Синтаксис:
while выражение do оператор
Пример.
eps:=0.001;
while x > eps
do x:=x/2;
Слайд 16Итерационные циклы с постусловием
Синтаксис:
repeat оператор;
оператор;
...
оператор
until выражение
Пример.
repeat WriteLn('Введите
положительное число');
ReadLn(x);
until x>0;
Слайд 17Массивы
Массивы — это совокупности однотипных элементов.
Характеризуются они следующим:
каждый компонент массива может
быть явно обозначен и к нему имеется прямой доступ;
число компонент массива определяется при его описании и в дальнейшем не меняется.
Слайд 18Описание типа массива задается следующим образом:
type имя типа = array[ список
индексов ] of тип
Здесь имя типа — правильный идентификатор;
список индексов — список одного или нескольких
индексных типов,
разделенных запятыми; тип — любой тип данных.
Вводить и выводить массивы можно только поэлементно.
Слайд 19Пример . Ввод и вывод одномерного массива.
const n = 5;
type mas
= array[1..n] of integer;
var a,i: integer;
begin writeln('введите элементы массива');
for i:=1 to n do readln(a[i]);
writeln('вывод элементов массива:');
for i:=1 to n do write(a[i]:5);
end.
Слайд 20Строки
Строковый тип данных
var s: string;
Над строковыми данными определена операция
слияния (конкантенации), обозначаемая
знаком +.
Например:
a := 'Turbo'; b := 'Pascal'; c := a + b;
Слайд 21Length(s:string):integer
Функция возвращает в качестве результата значение
текущей длины строки-параметра
Пример.
n := length('Pascal');
{n будет равно 6}
Слайд 22Copy(s:string; index:integer; count:integer):string
Функция возвращает подстроку, выделенную из исходной строки s,
длиной count символов, начиная
с символа под номером index.
Пример.
s := 'Система Turbo Pascal';
s2 := copy(s, 1, 7); {s2 будет равно 'Система'}
s3 := copy(s, 9, 5); {s3 будет равно 'Turbo'}
s4 := copy(s, 15, 6); {s4 будет равно 'Pascal'}
Слайд 23Delete(var s:string; index,count:integer)
Процедура удаляет из строки-параметра s подстроку длиной count символов,
начиная с символа под
номером index.
Пример.
s := 'Система Turbo Pascal';
delete(s,8,6); {s будет равно 'Система Pascal'}
Insert(source:string; var s:string;index:integer)
Процедура предназначена для вставки строки source в строку s, начиная с символа index этой строки.
Пример.
s := 'Система Pascal';
insert('Turbo ',s,9); {s будет равно 'Система Turbo Pascal'}
Слайд 24Стандартные процедуры и функции
Любые дисковые файлы становятся доступными программе после связывания
их с файловой переменной, объявленной в программе. Все операции в программе производятся только с помощью связанной с ним файловой переменной.
Assign(f, FileName)
Связывает файловую переменную f с физическим файлом, полное имя которого задано в строке FileName. Установленная связь будет действовать до конца работы программы, или до тех пор, пока не будет сделано переназначение.
После связи файловой переменной с дисковым именем файла в программе нужно указать направление передачи данных (открыть файл). В зависимости от этого направления говорят о чтении из файла или записи в файл.
Reset(f)
Открывает для чтения файл, с которым связана файловая переменная f. После успешного выполнения процедуры Reset файл готов к чтению из него первого элемента. Процедура завершается с сообщением об ошибке, если указанный файл не найден.
Если f - типизированный файл, то процедурой Reset он открывается для чтения и записи одновременно.
Слайд 25Rewrite(f)
Открывает для записи файл, с которым связана файловая переменная f. После успешного
выполнения этой процедуры файл готов к записи в него первого элемента. Если указанный файл уже существовал, то все данные из него уничтожаются.
Close(f)
Закрывает открытый до этого файл с файловой переменной f. Вызов процедуры Close необходим при завершении работы с файлом. Если по какой-то причине процедура Close не будет выполнена, файл все-же будет создан на внешнем устройстве, но содержимое последнего буфера в него не будет перенесено.
EOF(f):boolean
Возвращает значение TRUE, когда при чтении достигнут конец файла. Это означает, что уже прочитан последний элемент в файле или файл после открытия оказался пуст.
Rename(f, NewName)
Позволяет переименовать физический файл на диске, связанный с файловой переменной f. Переименование возможно после закрытия файла.
Erase(f)
Уничтожает физический файл на диске, который был связан с файловой переменной f. Файл к моменту вызова процедуры Erase должен быть закрыт.
Слайд 26Запись в файл
Write(f, список переменных);
Процедура записывает в файл f всю информацию
из
списка переменных.
Чтение из файла
Read(f, список переменных);
Процедура читает из файла f компоненты в указанные переменные. Тип файловых компонент и переменных должны совпадать. Если будет сделана попытка чтения несуществующих компонент, то произойдет ошибочное завершение программы. Необходимо либо точно рассчитывать количество компонент, либо перед каждым чтением данных делать проверку их существования (функция eof).