ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.04.2025

Просмотров: 1478

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Федеральное агенство по образованию российской федерации

1. Основные категории и понятия информатики

1.2. Информация: структура, форма, измерение

2. Техническое и программное обеспечение пэвм

2.1. Структура аппаратных средств пэвм

2.2. Программное обеспечение пэвм

3. Основы алгоритмизации

3.2.Формы представления алгоритмов

3.2.1. Алгоритм линейной структуры.

3.2.2. Алгоритм разветвляющейся структуры.

Да нет да да Рис 3.11

3.2.3. Алгоритмы циклической структуры.

4.2. Структура программы на языке Паскаль

4.3. Скалярные стандартные типы данных

4.4. Скалярные, пользовательские типы данных

5. Структурные типы данных

5.3. Записи

5.4. Записи с вариантами

5.6.Файлы

6. Операции над данными скалярных типов. Выражения

7. Операторы языка Паскаль

7.1. Простые операторы

7.2. Структурные операторы

8. Примеры программ на языке Паскаль

8.1. Пример 1. Арифметические выражения. Оператор присваивания

8.3. Пример 3. Программа обработки одномерного массива

8.4. Пример 4. Программа обработки двумерного массива

True False True False False

8.5. Пример 5. Программа обработки символьных строк

8.6. Пример 6. Программа обработки двумерного массива с вводом элементов матрицы из текстового файла

9.Разработка программ сложной структуры

9.1. Процедуры и функции

9.2. Область действия идентификаторов при использовании процедур и функций. Локальные и глобальные переменные

9.3. Передача данных в подпрограмму с помощью параметров. Формальные и фактические параметры

9.4. Использование процедур и функций

True False Рис. 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

True False Рис. 9.12

9.7. Модули

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>.