ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.04.2025
Просмотров: 1478
Скачиваний: 1
СОДЕРЖАНИЕ
Федеральное агенство по образованию российской федерации
1. Основные категории и понятия информатики
1.2. Информация: структура, форма, измерение
2. Техническое и программное обеспечение пэвм
2.1. Структура аппаратных средств пэвм
2.2. Программное обеспечение пэвм
3.2.Формы представления алгоритмов
3.2.1. Алгоритм линейной структуры.
3.2.2. Алгоритм разветвляющейся структуры.
3.2.3. Алгоритмы циклической структуры.
4.2. Структура программы на языке Паскаль
4.3. Скалярные стандартные типы данных
4.4. Скалярные, пользовательские типы данных
6. Операции над данными скалярных типов. Выражения
8. Примеры программ на языке Паскаль
8.1. Пример 1. Арифметические выражения. Оператор присваивания
8.3. Пример 3. Программа обработки одномерного массива
8.4. Пример 4. Программа обработки двумерного массива
8.5. Пример 5. Программа обработки символьных строк
8.6. Пример 6. Программа обработки двумерного массива с вводом элементов матрицы из текстового файла
9.Разработка программ сложной структуры
9.3. Передача данных в подпрограмму с помощью параметров. Формальные и фактические параметры
9.4. Использование процедур и функций
9.5. Массивы – параметры процедур и функций
True False True False Рис. 9.7
True False True False True False Рис 9.9
9.6. Рекурсивные процедуры и функции
True False Рис. 9.10 True False
10. Динамические структуры данных
10.2. Объявление и создание динамических структур данных. Указатели
Табл. 6.5. Арифметические функции
|
функция |
назначение |
Тип результата |
|
Abs(X) |
Абсолютная величина числа |
Совпадает с типом аргумента |
|
Arctan(X) |
Арктангенс |
Вещественный |
|
Cos(X) |
Косинус |
Вещественный |
|
Exp(X) |
ex |
Вещественный |
|
Frac(X) |
Дробная часть числа |
Вещественный |
|
Int(X) |
Целая часть числа |
Вещественный |
|
Ln(X) |
Натуральный логарифм |
Вещественный |
|
Pi |
Значение π |
Вещественный |
|
Sin(X) |
Синус |
Вещественный |
|
Sqr(X) |
Квадрат числа Х |
Совпадает с типом аргумента |
|
Sqrt(X) |
Вещественный |
Набор стандартных математических функций ограничен в библиотеке языка Паскаль, поэтому остальные функции определяются из следующих математических соотношений:
tg(X)=sin(X)/cos(X);
ctg(X)=1/tg(X);
loga(X)=ln(X)/ln(A)
Ax=exp(X*ln(A)), X-вещественное число, A>0;
arcsin(X)=arctan(X/sqrt(1-sqr(X)));
arccos(X)=arctan(sqrt(1-sqr(X))/X).
Поразрядные (битовые) операции выполняются над кодами целых чисел; к ним относятся битовые логические операции и операции сдвига, приведенные в табл.6.6.
Табл. 6.6. Поразрядные операции
|
Операция |
Действие |
Тип операндов |
Тип результата |
|
Not |
Битовое отрицание |
Целый |
Целый |
|
And |
Битовая конъюнкция |
Целый |
Целый |
|
Or |
Битовая дизъюнкция |
Целый |
Целый |
|
Xor |
Битовое исключающее ИЛИ |
Целый |
Целый |
|
Shl |
Битовый сдвиг влево |
Целый |
Целый |
|
Shr |
Битовый сдвиг вправо |
Целый |
Целый |
Пример.
|
Операнд/ Результат |
Десятичное значение |
Двоичное значение |
|
A |
11 |
00001011 |
|
B |
2 |
00000010 |
|
Not A |
244 |
11110100 |
|
A and B |
2 |
00000010 |
|
A or B |
11 |
00001011 |
|
A xor B |
9 |
00001001 |
|
A shr B |
44 |
00101100 |
|
A shl B |
2 |
00000010 |
Приоритеты операции над данными скалярных типов приведены в табл. 6.7.
Табл. 6.7. Приоритеты операций
|
приоритет |
Тип операций |
Знаки операции |
|
1 |
Вычисления в круглых скобках |
( ) |
|
2 |
Вычисление значения функции |
<имя_функции>(<список_аргументов>) |
|
3 |
Унарные операции |
Not, +,- |
|
4 |
Операции типа умножения |
*, /, div,mod,and,shl,shr |
|
5 |
Операции типа сложения |
+, -, or, xor |
|
6 |
Операции отношения |
=,<>, >=, <=,>, < |
Одноприоритетные операции выполняются в порядке следования слева направо.
7. Операторы языка Паскаль
Операторы языка программирования предназначены для описания действий, предусмотренных алгоритмом решения задачи. Оператор в программе может быть помеченным или непомеченным. Операторы языка Паскаль делятся на две группы:
простые операторы;
структурные операторы.
К простым операторам относятся оператор присваивания, оператор вызова процедуры и оператор перехода.
К структурным операторам относятся составной оператор, условные операторы, операторы цикла.
7.1. Простые операторы
Оператор присваивания имеет следующий синтаксис:
<имя переменной>:=<выражение>
:= знак операции присваивания.
Выполнение оператора присваивания приводит к вычислению значения выражения в правой части оператора и присваиванию этого значения переменной в левой части оператора. Тип переменной должен быть совместим с типом выражения. Два типа являются совместимыми, если:
они описаны одним и тем же описателем;
в случае целых типов допустимы следующие присваивания:
переменной типа longintможно присваивать значения типаbyte,integer,word;
переменной типа Integerможно присваивать значения типаbyte;
переменной типа Wordможно присваивать значения типаbyte;
вещественной переменной типа real,single,doubleможно присвоить значение целого типа;
переменной порядкового типа можно присваивать значения типа-диапазона этого типа.
Оператор вызова процедуры состоит из имени процедуры, за которым записывается список аргументов процедуры в круглых скобках. Список аргументов может отсутствовать. Типы аргументов должны быть совместимы с типами формальных параметров, объявленных в описании процедуры. Выполнение оператора вызова процедуры приводит к активизации действий, определенных в теле процедуры в ее описании.
Примеры оператора вызова процедуры.
Read(A,B,C); { ввод с клавиатуры значений переменных A, B, C }
Clrscr; {очистка экрана }
Оператор перехода состоит из ключевого слова goto и следующей за ним метки:
Goto <метка>.
Выполнение оператора приводит к передаче управления на оператор, помеченный указанной меткой.
Стандартный ввод-вывод используется весьма часто во всех программах и выполняется с помощью стандартных процедур ввода-вывода.
Для ввода числовых и символьных данных используются стандартные процедуры read и readln. Числовые значения при вводе разделяются пробелами или вводятся с новой строки. Значения, разделенные пробелами, сначала заносятся в буфер и после нажатия клавиши ENTER пересылаются в оперативную память ПК. Максимальная длина буфера ввода-вывода равна 127 байтам.
Пример 1.
Var
R: real;
I: integer;
………………………..
read(R,I);
………………………..
Вводимые данные:
33.45 18 Enter
В результате R будет равно 33.45, а I – 18.
Процедура Readln отличается от процедуры Read тем, что после ввода значения автоматически выполняется переход на следующую строку, даже если в строке остались значения. Кроме того, эта процедура может вызываться без параметров, в этом случае пропускаются все символы текущей строки.
Пример 2.
Var
R: real;
I: integer;
………………………..
read(R,I);
………………………..
Вводимые данные:
33.45 Enter
18 Enter
Для вывода числовых и символьных данных используются стандартные процедуры write и writeln. В списках аргументов этих процедур указываются любые выражения.
Пример 3.
Var
R: real;
I: integer;
………………………..
R:=5.9; I:=7;
………………………..
write(‘R= ‘,R, ‘I=’,I);
………………………..
Выводимые данные:
К=5.9 Ш=7 Enter
Процедура writeln отличается от процедуры write тем, что после вывода значения автоматически выполняется переход на следующую строку. Кроме того, эта процедура может вызываться без параметров, в этом случае курсор переводится в начало следующей строки.
7.2. Структурные операторы
Составной оператор объединяет группу операторов в единое целое, после чего они рассматриваются компилятором как один оператор.
Составной оператор имеет следующий синтаксис:
Begin<оператор 1>; <оператор 2>; …<операторn>end
Составной оператор используется в тех случаях, когда в программе допускается написать один оператор, а требуется выполнить группу операторов. Составной оператор соответствует алгоритмической структуре “Следование” (см. рис. 7.1).
К условным операторам относятся операторы if и case. Условный оператор if обеспечивает выбор из двух альтернатив в зависимости от условия и имеет следующий синтаксис:
If <логическое выражение> then <оператор 1> else <оператор 2>;
Оператор 1 выполняется, если значение логического выражения – True, а оператор 2 выполняется, если значение логического выражения – False.
Оператор If допускается в неполной форме:
If <логическое выражение> then <оператор >;
Если после then и else необходимо выполнить группу операторов, то они должны быть объединены в составной оператор, например,
If A>B then begin X:=A+B; Y:=A*B end;
Условный оператор соответствует алгоритмической структуре “Разветвление”, блок-схема которой на рис. 7.2.
Оператор
1
Оператор 2
……………..
Оператор
n
Рис.
7.1
Рис.
7.2
Оператор выбора case обеспечивает возможность выполнения одного из нескольких действий и имеет следующий синтаксис:
Case <выражение> of
<список констант 1>: <оператор 1>;
<список констант 2>: <оператор 2>;
……
<список констант n>: <оператор n>
else <оператор >
end;
Перед else точка с запятой не ставится. Ветвь else может отсутствовать.
Список констант может содержать одну константу; несколько констант, разделенных запятыми; или интервал значений <значение 1>.. <значение 2>.