- •Предисловие Цели и задачи изучения дисциплины
- •Краткая характеристика дисциплины, её место вучебном процессе
- •Лекция1. Понятие «информация». Количество информации
- •1.1. Понятие «информация» и свойства информации
- •1.2. Количество информации как мера уменьшения неопределенности знаний
- •1.3. Алфавитный подход к определению количества информации
- •1.4. Формула Шеннона
- •Контрольные вопросы
- •Лекция2. Системы счисления
- •2.1. Представление числовой информации с помощью систем счисления
- •2.2. Перевод чисел в позиционных системах счисления
- •2.3. Арифметические операции в позиционных системах счисления
- •Контрольные вопросы
- •Лекция3. Кодирование информации
- •3.1. Представление и кодирование информации
- •3.2. Двоичное кодирование информации в компьютере
- •3.3.Кодирование текстовой информации
- •3.4.Кодирование графической информации
- •3.5.Кодирование звуковой информации
- •Контрольные вопросы
- •Лекция4. Основы логики. Логические выражения
- •4.1. Формы мышления
- •4.2. Алгебра высказываний
- •4.3. Логические выражения и таблицы истинности
- •Контрольные вопросы
- •Лекция5. Логические основы компьютера
- •5.1. Логические функции
- •5.2. Логические законы и правила преобразования логических выражений
- •5.3. Логические основы компьютера
- •Контрольные вопросы
- •Лекция6. Основы алгоритмизации
- •6.1. Алгоритмы и их свойства
- •6.2. Основные алгоритмические конструкции
- •Контрольные вопросы
- •Лекция7. Основы программирования
- •7.1. Этапы решения прикладных задач с использованием компьютеров
- •7.2. Программа. Язык программирования
- •7.3. Основы программирования в системеTurboPascal
- •7.4. Структура программы на языке Паскаль
- •Контрольные вопросы
- •Лекция8. Моделирование и формализация
- •8.1. Исследование математических моделей
- •8.2. Геометрические модели
- •8.3. Геоинформационные модели
- •8.4. Оптимизационное моделирование
- •8.5. Логические модели
- •Контрольные вопросы
- •Список рекомендуемой литературы:
7.4. Структура программы на языке Паскаль
Заголовок программы: служебное слово program и имя программы
program <имя программы>;
Раздел описаний: описываются все идентификаторы объектов, используемых в данной программе. Описать идентификатор – значит указать его имя и тип.
uses <описание модулей>;
label <метки>;
const <описания констант>;
type <определение типов данных>;
var <объявление переменных>;
procedure <описание процедур
(function) и функций>;
Раздел операторов (тело программы): указывается последовательность действий, которые необходимо выполнять над описанными объектами. Начинается служебным словом begin, заканчивается -. end
begin
оператор 1;
оператор 2;
…
оператор n;
end.
Операторы — это команды программы. Ниже приводятся основные операторы, с помощью которых можно создавать простые программы.
Оператор присваивания :=
Присваивает переменной конкретное значение, заполняя ячейку памяти, отведенную для переменной, новым значением, одновременно уничтожая старое.
Примеры использования оператора:
А := 2;
x := y + 2 – z;
Name := ‘Федор’;.
Оператор ввода данных с клавиатуры
Общий вид:
Read (a1, a2, …, an);
где a1, a2, …, an – переменные указанных типов, которым присваиваются вводимые значения.
При обнаружении этого оператора программа останавливается и ждет ввода такого количества данных, сколько переменных a1,a2, …, an, записано в скобках оператора ввода. Вводимые числа разделяются пробелами или нажатием клавиши <Enter>. Ввод заканчивается нажатием клавиши <Enter>.
Примеры использования оператора:
Read (А, B, C);
Read (Name);.
Можно еще оператор ввода записывать Readln (a1, a2, …, an);
Тогда после ввода значений a1, a2, …, an курсор переводится на следующую строку.
Оператор вывода указанных данных на монитор
Общий вид:
Write (a1, a2, …, an);
где a1, a2, …, an – константы или переменные указанных типов.
При обнаружении этого оператора в программе производится вывод указанных данных (чисел, переменных, текста, заключенного в апострофы) с позиции курсора.
Примеры использования оператора:
Write (‘Summa= ’, 2);
Write (‘Привет, ’, Name, ‘!’);.
Можно еще оператор вывода записывать Writeln(a1,a2,…,an);
Тогда после вывода значений a1, a2, …, an курсор переводится на следующую строку.
Линейная структура описывается с помощью операторов ввода, вывода и присваивания.
Разветвляющаяся структура
В Паскале условие реализовано с помощью условного оператора if.
Общий вид условного оператора if.
if <выражение>
then <оператор1>
else <оператор 2>;
где <выражение> — любое выражение логического типа (вырабатывающее в результате True или False); <оператор 1> и <оператор 2> - операторы языка Паскаль. Если выражение принимает значение True, то выполняется <оператор 1>; <в противном случае — <оператор 2>.
Служебное слово else не является обязательным, допустимо использовать оператор if в следующем виде:
if <выражение>
then <оператор1>;
в этом случае <оператор 1> выполняется только тогда, когда выражение имеет значение True. В противном случае пропускается <оператор 1> и сразу же выполняется следующий за оператором ветвления оператор.
Если необходимо выполнить более одного оператора в случае, когда выражение принимает значение True или False, то следует использовать составной оператор.
Составной оператор — несколько операторов, объединенных с помощью операторных скобок begin - end.
Циклическая структура
В языке Паскаль существует три основных вида циклов:
цикл с предусловием — while;
цикл с постусловием — repeat;
цикл с заданным количеством repeat повторений (с параметром) — for.
Общий вид цикла с предусловием - while:
while <выражение> do <оператор>;
где <выражение> — любое выражение логического типа (вырабатывающее в результате True или False); <оператор> — оператор (составной оператор) языка Паскаль. Если <выражение> имеет результат True, выполняется <оператор>. В противном случае выполнение цикла завершается.
Общий вид цикла с постусловием - repeat:
repeat
<тело цикла>
until <выражение>
где <тело цикла> — любая последовательность операторов, повторяющаяся до тех пор, пока <выражение> не приобретет значение True.
Три основных отличия цикла repeat от цикла while:
Цикл repeat выполнится хотя бы один раз, потому что проверка выражения осуществляется в конце тела цикла. В цикле while если значение выражения False, тело его пропускается сразу.
Цикл repeat выполняется, пока выражение не станет True, в то время как цикл while выполняется до тех пор, пока выражение имеет значение True. При замене одного типа цикла на другой необходимо на это обращать особое внимание.
В цикле repeat можно не ограничивать тело цикла операторными скобками begin - end, потому что эту роль выполняют repeat - until.
Общий вид цикла с заданным количеством повторений for
for <счетчик цикла>:=<выражение1 > to <выражение2> do <тело цикла>;
где <счетчик цикла> — переменная любого типа, <выражение1> и <выражение2> — выражения такого же типа; <тело цикла> — любая последовательность операторов, повторяющаяся до тех пор, пока <счетчик цикла> не приобретет значение <выражение2>. <Счетчик цикла> увеличивается на 1 после каждого выполнения цикла. Для его уменьшения на 1 ключевое слово to заменяется на downto.
Недостатки цикла for
Возможность уменьшить или увеличить значение счетчика только на 1;
заранее должно быть известно количество повторений цикла.
Преимущества цикла for
Краткость;
возможность использования для <счетчика цикла> различных типов данных.