- •1. Системы счисления
- •Десятичная система счисления
- •Двоичная система счисления
- •Восьмеричная и шестнадцатеричная системы счисления
- •Перевод чисел из любой системы счисления в десятичную
- •Перевод чисел из десятичной системы счисления в любую другую
- •2. Алгебра логики
- •2.1. Логические операции
- •Инверсия
- •Конъюнкция
- •Дизъюнкция
- •Эквиваленция (равнозначность)
- •Импликация
- •Антиконъюнкция
- •Антидизъюнкция
- •2.2. Нормальные формы
- •Конъюнктивная нормальная форма
- •Дизъюнктивная нормальная форма
- •3. Применение средств алгебры логики для описания функционирования устройств компьютера
- •Логические схемы
- •Построение логических схем
- •4. Практическая работа 1. Системы счисления
- •Вопросы для самоконтроля
- •5. Практическая работа 2. Алгебра логики
- •Решение логических задач средствами алгебры логики
- •Индивидуальное задание к модулю 1. Построение логических схем по заданным булевым выражениям
- •Приложение 1. Практическое занятие 1 «Системы счисления»
- •Приложение 2. Практическое занятие 2 «Алгебра логики»
- •Приложение 3. Индивидуальное задание. Модуль №1
- •Приложение 4
- •6. Введение в алгоритмизацию
- •7. Знакомство со средой Турбо Паскаль
- •7.1. Общие сведения
- •7.2. Запуск Турбо-Паскаля на выполнение
- •7.4. Работа с текстовым редактором Турбо-Паскаля
- •Клавиши перемещения курсора
- •Работа с блоками текста
- •8. Основы алгоритмизации
- •8.1. Алгоритм
- •8.2. Алгоритмические структуры
- •Самоконтроль
- •9.1. Алфавит языка
- •9.2. Арифметические выражения и правила их записи
- •Знаки операций
- •Операции div и mod
- •9.3. Типы данных
- •Целые типы
- •Логический тип
- •Символьный тип
- •Строковый тип
- •Вещественный тип
- •9.4. Стандартные функции
- •9.5. Структура программы на языке Паскаль
- •9.6. Описательная часть программы
- •9.7. Исполнительная часть программы
- •9.8. Оператор присваивания
- •9.9. Операторы ввода-вывода
- •Оператор ввода
- •Оператор вывода
- •9.10. Комментарии в программе
- •Самоконтроль
- •Задание
- •Пример программы линейной структуры
- •Приложение 1. Таблица вариантов задания №2
- •10. Ветвления
- •10.1. Операторы условия и перехода
- •Логический оператор
- •Операции отношения
- •Логические операции
- •10.2. Оператор выбора
- •Самоконтроль
- •Задание
- •Пример программы разветвленной структуры
- •Приложение 1. Таблица вариантов задания 3
- •11.2. Оператор цикла с постусловием
- •11.3. Оператор цикла с предусловием
- •11.4. Вложенные циклы
- •11.5. Оператор прерывания цикла
- •Самоконтроль
- •Задание
- •Пример программы циклической структуры
- •Приложение 1. Таблица вариантов задания 4
- •12. Операции с индексированными переменными
- •12.1. Массивы одномерные
- •12.2. Описание массивов
- •Ввод элементов массива
- •Вывод элементов массива
- •12.3. Обработка одномерных массивов
- •Самоконтроль
- •Задание
- •Пример программы обработки одномерного массива
- •Приложение 1. Таблица вариантов задания 5
- •13. Двумерные массивы
- •13.1. Матрицы
- •13.2. Описание двумерного массива
- •Ввод элементов двумерного массива
- •Вывод элементов двумерного массива
- •13.3. Обработка двумерных массивов
- •Самоконтроль
- •Задание
- •Пример программы обработки двумерного массива
- •Приложение 1. Таблица вариантов задания 6
- •Структура программы, содержащей процедуру (функцию)
- •14.2. Процедуры
- •14.3. Вложенные процедуры
- •Директива forward
- •14.4. Функции
- •Самоконтроль
- •Задание
- •Пример программы с использованием подпрограмм
- •Приложение 1. Таблица вариантов задания 7
- •15. Обработка строк текста
- •15.1. Символьные переменные
- •Фрагмент таблицы ASCII-кодов букв латинского алфавита
- •Фрагмент таблицы ASCII-кодов букв русского алфавита
- •15.2. Функции обработки символьных переменных
- •15.3. Строковые переменные
- •15.4. Функции обработки строковых переменных
- •15.5. Процедуры обработки строковых переменных
- •15.6. Примеры обработки строковых переменных
- •Самоконтроль
- •16. Структурированные типы данных
- •Записи
- •Самоконтроль
- •Задание
- •Пример программы использования массива записей
- •Приложение 1
- •Приложение 2. Таблица вариантов ИДЗ 2
Символьный тип
Char – символьные переменные, служат для хранения одного символа (буква, цифра, знаки препинания, специальные символы, непосредственно код) и занимают 1 байт памяти.
Строковый тип
String - строковые переменные, служат для хранения любой цепочки символов и занимают 255 байт памяти.
Вещественный тип
real - вещественные переменные, занимают 6 байт памяти (11 знаков после запятой). Вещественные числа могут быть заданы в форме:
•с фиксированной точкой
0.5 +5.0 -133.15
•с плавающей точкой
3.5 Е 2 0.45 Е -3
Форма с плавающей точкой используется для изображения очень больших или очень маленьких чисел.
9.4. Стандартные функции
Имя функции |
Математическая запись |
Тип результата |
|
sin (x) |
sin x |
вещ. |
|
cos (x) |
cos x |
вещ. |
|
arctg(x) |
аrctgx |
вещ. |
|
exp (x) |
ex |
вещ. |
|
ln (x) |
ln x |
вещ. |
|
pi |
3.14 |
вещ. |
|
abs (x) |
│x│ |
вещ. |
|
|
|
|
|
sqr (x) |
x2 |
вещ. |
|
|
|
|
|
sqrt (x) |
x |
вещ. |
|
|
|
|
|
trunc (x) |
ближайшее наименьшее целое |
Цел. |
|
число |
|||
|
|
||
|
|
|
|
int (x) |
целая часть числа |
цел. |
|
|
|
|
|
round (x) |
ближайшее целое число |
цел. |
|
(математическое округление) |
|||
|
|
||
frag (x) |
дробная часть числа |
вещ. |
|
|
генератор случайных чисел от 0 до |
|
|
random (x) |
x; если x - отсутствует диапазон |
вещ. |
|
|
чисел 0 ÷ 1 |
|
|
odd (x) |
возвращает TRUE, если x - число |
лог. |
|
нечетное |
|||
|
|
||
|
|
|
|
Например: |
|
|
|
trunс(3.7) = 3 |
|
|
|
trunc(3.1) = 3 |
|
|
50
trunc(-3.7) = -4
int (3.4) = 3 int (3.7) = 3 int (-3.4) = -3
round (3.14) = 3 round (3.74) = 4 round (-3.14) = -3
Аргументом стандартной функции может быть переменная, константа, выражение, стоящее справа от имени в скобках. Для тригонометрических функций аргумент задается в радианах.
При написании формул в программе на Паскале необходимо учитывать все правила записи арифметических выражений.
Например:
x = −b + b2 − 4ac
2a
Данное выражение в программе на языке Паскаль будет выглядеть: x: = ( -b + sqrt(sqr(b)–4*a*c) )/( 2*a ) ;
Паскаль не допускает смешенных выражений. Допустимы выражения, в которых слева от знака присваивания – вещественная переменная, справа - целое выражение.
Если в выражении есть хотя бы одна вещественная переменная, все выражение будет вещественным.
Некоторые полезные формулы
Формула возведения числа в любую степень: ax =ex*ln (a)= exp(x*ln(a))
Формула перевода числа из градусов в радианы: xрад = xo * pi/180
9.5. Структура программы на языке Паскаль
Программа – это последовательность инструкций компьютеру приводящих к конечному результату за конечное число шагов.
Программа, написанная на алгоритмическом языке, переводится на язык машинных команд: program <имя>;
<описательная часть>; <раздел функций и процедур>; begin
<исполнительная часть>;
51
end.
Зарезервированные слова:
•program <имя>– необязательная строка;
•begin – начало;
•end – конец.
<имя> - присваивается составителем программы (строится по правилам составления переменных).
9.6. Описательная часть программы
Все переменные, используемые в программе, должны быть описаны. Описание начинается со служебного слова var.
program ff; var
i,n: integer; x,y,z: real; begin;
...
Список переменных от типа отделяется “:”, одно описание от другого - “;”, список переменных перечисляется через “,”. Если в программе используются метки, то они описываются с помощью служебного слова label. Метки могут быть числовые и символьные.
В программах на Паскале можно использовать константы, которые описываются с помощью служебного слова const.
const n=100;
…
Переменная-константа (n), более в программе не описывается, ее тип определяется присвоенным ей числовым значением.
Для определения пользовательского типа данных используют служебное слово - type. type
in=integer; var
a,b: in;
…
С помощью служебного слова uses можно подключать к программе стандартные библиотечные модули. Стандартные модули объединяют функции определенного назначения и, в случае необходимости, подключаются к программе.
Например, для использования функции очистки экрана (clrscr), к программе подключают стандартный модуль crt.
uses crt;
52