- •Учебно-методическое пособие
- •Маршрутная карта изучения дисциплины по Модулю 1
- •1. Логические и арифметические основы эвм
- •Системы счисления
- •1.1. Десятичная система счисления
- •1.2. Двоичная система счисления
- •1.3. Восьмеричная и шестнадцатеричная системы счисления
- •1.4. Перевод чисел из любой системы счисления в десятичную
- •1.5. Перевод чисел из десятичной системы счисления в любую другую
- •Вопросы для самоконтроля
- •Методические указания для выполнения практического задания №1. «Системы счисления»
- •Приложение 1. Таблица вариантов заданий
- •2. Алгебра логики
- •2.1. Логические операции
- •Инверсия
- •2.2. Нормальные формы
- •Конъюнктивная нормальная форма
- •Дизъюнктивная нормальная форма
- •3. Применение средств алгебры логики для описания функционирования устройств компьютера
- •3.1. Логические схемы
- •Пример решение логических задач средствами алгебры логики
- •Методические указания для выполнения практического задания №2. «Алгебра логики». Построение таблиц истинности.
- •Пример построения логических схем
- •Методические указания для выполнения практического задания №3. «Алгебра логики». Построение логических схем.
- •Приложение 2. Таблица вариантов заданий
- •4. Индивидуальное задание. Модуль 1. «Построение логических схем по заданным булевым выражениям»
- •Приложение 3. Таблица вариантов индивидуального задания
- •Приложение 4. Титульный лист идз
- •Маршрутная карта изучения дисциплины по Модулю 2
- •5. Введение в алгоритмизацию
- •6. Знакомство со средой Турбо Паскаль
- •6.1. Общие сведения
- •6.2. Запуск Турбо-Паскаля на выполнение
- •6.3. Назначение функциональных клавиш системы Турбо-Паскаль
- •6.4. Работа с текстовым редактором Турбо-Паскаля
- •Клавиши перемещения курсора
- •Работа с блоками текста
- •7. Основы алгоритмизации
- •7.1. Алгоритм
- •7.2. Алгоритмические структуры
- •8. Программирование на языке Pascal
- •8.1. Алфавит языка
- •8.2. Арифметические выражения и правила их записи
- •Знаки операций
- •Операции div и mod
- •8.3. Типы данных
- •Целые типы
- •Логический тип
- •8.5. Структура программы на языке Паскаль
- •8.6. Описательная часть программы
- •8.7. Исполнительная часть программы
- •8.10. Комментарии в программе
- •Пример программы линейной структуры
- •Вопросы для самоконтроля
- •8.11. Методические указания для выполнения практического задания №4. «Следования»
- •Приложение 5. Таблица вариантов заданий
- •9. Ветвления
- •9.1. Операторы условия и перехода
- •Логический оператор
- •Операции отношения
- •Логические операции
- •9.2. Оператор выбора
- •Пример программы разветвленной структуры
- •Вопросы для самоконтроля
- •9.3. Методические указания для выполнения практического задания №5. «Ветвления»
- •Приложение 6. Таблица вариантов заданий
- •10. Циклические вычислительные процессы
- •10.1. Оператор цикла с параметром
- •10.2. Оператор цикла с постусловием
- •10.3. Оператор цикла с предусловием
- •10.4. Вложенные циклы
- •10.5. Оператор прерывания цикла
- •Пример программы циклической структуры
- •Вопросы для самоконтроля
- •10.6. Методические указания для выполнения практического задания №6. «Циклы»
- •Приложение 7. Таблица вариантов заданий
- •11. Операции с индексированными переменными
- •11.1. Массивы одномерные
- •11.2. Описание массивов
- •Ввод элементов массива
- •Вывод элементов массива
- •11.3. Обработка одномерных массивов
- •Пример программы обработки одномерного массива
- •Вопросы для самоконтроля
- •11.4. Методические указания для выполнения практического задания №7. «Операции с индексированными переменными»
- •Приложение 8. Таблица вариантов заданий
- •12. Двумерные массивы
- •12.1. Матрицы
- •12.2. Описание двумерного массива
- •Ввод элементов двумерного массива
- •Вывод элементов двумерного массива
- •12.3. Обработка двумерных массивов
- •Пример программы обработки двумерного массива
- •Вопросы для самоконтроля
- •12.4. Методические указания для выполнения практического задания №8. «Матрицы»
- •Приложение 9. Таблица вариантов заданий
- •13. Подпрограммы
- •13.1. Функции и процедуры
- •Структура программы, содержащей процедуру (функцию)
- •13.2. Процедуры
- •13.3. Вложенные процедуры Директива forward
- •13.4. Функции
- •Пример программы с использованием подпрограмм
- •Вопросы для самоконтроля
- •Методические указания для выполнения практического задания №9. «Подпрограммы»
- •Приложение 10. Таблица вариантов заданий
- •14. Обработка строк текста
- •14.3. Строковые переменные
- •14.4. Функции обработки строковых переменных
- •14.5. Процедуры обработки строковых переменных
- •14.6. Примеры обработки строковых переменных
- •Вопросы для самоконтроля
- •15. Структурированные типы данных
- •Пример программы использования массива записей
- •Вопросы для самоконтроля
- •Методические указания к выполнению индивидуального задания по Модулю 2. «Массивы записей»
- •Приложение 11. Таблица вариантов индивидуального задания
8.1. Алфавит языка
Программа на Паскале записывается в виде последовательности символов, образующих алфавит языка. Алфавит включает:
заглавные и прописные латинские буквы;
арабские цифры;
знаки препинания ( : ; , . );
знаки операций;
некоторые спецсимволы.
8.2. Арифметические выражения и правила их записи
Арифметические выражения строятся из простых операндов связанных знаками арифметических операций:
y = a + b*2
Знаки операций
div – деление нацело;
mod – остаток от деления;
* - умножение;
/ - деление;
- - вычитание;
+ - сложение.
Операции div и mod
Целочисленное деление div отличается от обычной операции деления тем, что возвращает целую часть частного, а дробная часть отбрасывается.
Например:
17 div 3 = 5
8 div 2 = 4
1 div 5 = 0
Взятие остатка от деления mod вычисляет остаток, полученный при выполнении целочисленного деления.
Например:
17 mod 3 = 2
8 mod 2 = 0
1 mod 5 = 1
При выполнении арифметических операций соблюдаются следующие правила:
1. два знака не могут следовать один за другим;
2. при выполнении арифметических операций соблюдается следующая иерархия (приоритет) выполнения:
стандартные функции;
div, mod;
*, /
+, -
3. изменить иерархию можно с помощью скобок.
8.3. Типы данных
Переменные на языке Паскаль задаются своими именами (63 символа).
Имена переменных могут содержать малые и большие буквы латинского алфавита, арабские цифры и знак подчеркивания. Переменные, используемые в программе, обязательно должны быть описаны. При описании переменных задаются имена и типы переменных. Тип – определяет объем оперативной памяти, выделяемой под хранение переменной. Для описания стандартных типов переменных используют зарезервированные английские слова. Помимо стандартных типов, можно строить и пользовательские типы данных, которые базируются только на стандартных типах.
Паскаль производит предварительную, инициализацию переменных. Все переменные, описанные в программе, обнуляются.
Целые типы
Название целого типа
|
Диапазон значений |
Память (байт) |
Shortint (короткие целые) |
-128 127 |
1 |
Longint (удвоенные целые0 |
-231231-1 |
4 |
Integer (обычные целые) |
-3276832767 |
2 |
word (целые положительные) |
065535 |
2 |
Byte (целые короткие положител.) |
0255 |
2 |
Верхнее граничное значение целочисленных переменных задано в Паскале как константа и имеет соответствующее имя:
Maxint = 32767 (215-1)
Maxlongint = 231-1
Логический тип
boolean - логические переменные занимают 1 байт памяти, могут принимать 2 значения:
True (истина)
False (ложь)
Логические переменные могут использоваться только в логических выражениях.
Над данными логического типа нельзя выполнять обычные арифметические операции, для них определены логические операции и операции сравнения.
Для идентификаторов имеет место:
True> False
Над логическими переменными возможны следующие логические операции:
and (и)
Or (или)
not (не)
Символьный тип
Char – символьные переменные, служат для хранения одного символа (буква, цифра, знаки препинания, специальные символы, непосредственно код) и занимают 1 байт памяти.
Строковый тип
String - строковые переменные, служат для хранения любой цепочки символов и занимают 255 байт памяти.
Вещественный тип
real - вещественные переменные, занимают 6 байт памяти (11 знаков после запятой).
Вещественные числа могут быть заданы в форме:
с фиксированной точкой
0.5 +5.0 -133.15
с плавающей точкой
3.5 Е 2 0.45 Е -3
Форма с плавающей точкой используется для изображения очень больших или очень маленьких чисел.
8.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) |
|
вещ. |
trunc (x) |
ближайшее наименьшее целое число |
Цел. |
int (x) |
целая часть числа |
цел. |
round (x) |
ближайшее целое число (математическое округление) |
цел. |
frag (x) |
дробная часть числа |
вещ. |
random (x) |
генератор случайных чисел от 0 до x; если x - отсутствует диапазон чисел 01 |
вещ. |
odd (x) |
возвращает TRUE, если x - число нечетное |
лог. |
Например:
trunс(3.7) = 3
trunc(3.1) = 3
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 + sqrt(sqr(b)–4*a*c) )/( 2*a ) ;
Паскаль не допускает смешенных выражений. Допустимы выражения, в которых слева от знака присваивания – вещественная переменная, справа - целое выражение.
Если в выражении есть хотя бы одна вещественная переменная, все выражение будет вещественным.
Некоторые полезные формулы
Формула возведения числа в любую степень:
ax =ex*ln (a)= exp(x*ln(a))
Формула перевода числа из градусов в радианы:
xрад= xo* pi/180