- •1. Информатика как дисциплина
- •2. Сигналы, данные, информация.
- •3. Информация. Свойства информации: объективность, полнота, достоверность.
- •4. Информация. Свойства информации: адекватность, доступность, актуальность.
- •5. Данные. Операции с данными.
- •6. Операционные системы: ms-dos, Windows, unix, Linux. Macintosh.
- •7. Системы счисления. Позиционные и не позиционные системы счисления.
- •8. Системы счисления. Десятичная, двоичная, восьмеричная. Шестнадцатеричная системы счисления. Правила записи чисел.
- •9. Системы счисления. Правила перевода из десятичной системы счисления в двоичную и обратно.
- •10. Системы счисления. Правила перевода из восьмеричной системы в двоичную и обратно.
- •11. Системы счисления. Правила перевода из шестнадцатеричной системы в двоичную и обратно.
- •12. Числа в двоичном коде. Прямой, обратный и дополнительный коды.
- •13. Операции над числами в двоичном коде. Логическое и арифметическое сложение.
- •14. Операции над числами в двоичном коде. Умножение.
- •15. Операции над числами в двоичном коде. Вычитание (сложение с обратным знаком).
- •16. Единицы измерения информации.
- •Единицы измерения количества информации - Применяются для измерения количества информации в объёме данных.
- •17. Алгоритмы. Виды алгоритмов.
- •18. Алгоритмы. Построение блок-схем алгоритмов.
- •20. Структура программы в языке FreePascal.
- •22. Типы данных, используемые в языке Free Pascal. Целочисленный и вещественный типы и возможные операции с ними.
- •24. Тины данных, используемый в языке Free Pascal. Логический и литерный типы и возможные операции с ними.
- •25. Типы данных, используемые в языке Free Pascal. Строковый типы и возможные операции для работы с литерной строкой.
- •Операции
- •26. Операторы ввода/вывода в языке FreePascal.
- •Оператор ввода read
- •Оператор вывода write
- •27. Оператор условия (ветвления). Его параметры, синтаксис.
- •[Править]Реализация [править]Algol, Pascal
- •28. Оператор выбора (case of). Его параметры, синтаксис.
- •Примеры использования
- •29. Циклы. Цикл с параметром (for). Параметры, синтаксис.
- •30. Циклы. Бесконечный цикл с предусловием (while). Параметры, синтаксис.
- •31. Циклы. Бесконечный цикл с послесловием (repeat until). Параметры, синтаксис
- •32. Массивы. Способы задания одномерных массивов.
- •33. Массивы Способы задания многомерных массивов.
- •Двумерные массивы. Матрицы.
- •Объявление и инициализация матрицы.
- •34. Понятие сортировки. Алгоритмы сортировки.
- •Пузырьковая сортировка
- •Сортировка выбором
- •Сортировка Шелла
- •Сортировка Хоора
- •Сортировка с помощью двоичного дерева
- •Сортировка с помощью массива индексов
- •Алгоритмы устойчивой сортировки
- •Алгоритмы неустойчивой сортировки
- •35. Понятое сортировки. Сортировка методом пузырька.
- •Сортировка простым обменом. Метод пузырька.
- •36. Понятие сортировки. Сортировка методом прямого выбора.
- •37. Генерация псевдослучайных чисел в языке Free Pascal. Функции inc. Dec. Odd.
- •Процедура Inc.
- •Процедура Dec.
- •Функция Odd.
- •38. Директивы компилятора.
- •39. Сортировка массивов методом пузырька.
- •40. Сортировка массивов методом прямого выбора.
- •41. Процедуры и функции. Сходства, отличия.
- •Описание и вызов процедур и функций
- •42. Процедуры и функции. Локальные и глобальные переменные.
- •43. Функции. Описание функций в программе.
- •Формат описания функции
- •Правила исполнения функции
- •Формат оператора return
- •Правило исполнения оператора return
- •44. Системные функции div. Mod.
- •45. Процедуры. Описание процедур в программе.
- •46. Модули. Описание модулей. Работа с модулями.
- •Interface – зарезервированное слово (интерфейс); начинает интерфейсную часть модуля;
- •Implementation – зарезервированное слово (выполнение); начинает исполняемую часть модуля;
[Править]Реализация [править]Algol, Pascal
Паскаль унаследовал от Алгола-60 синтаксис, согласно которому в ветвях условного оператора может быть помещена только одна команда. Поэтому для размещения там большего количества команд они группируются в составной оператор с помощью пары ключевых слов begin и end. Ветвь else необязательна. begin и end необходимы, только если операторов несколько (например, из соображений единообразия оформления кода). В примере — оператор выбора в Паскале:
If условие
then
begin
операторы;
end
else
begin
операторы;
end;
28. Оператор выбора (case of). Его параметры, синтаксис.
Условный оператор позволяет в процессе выполнения программы выбирать одно из двух возможных действий в зависимости от значения логического выражения. Оператор выбора (или оператор варианта) дает возможность выполнить одно из нескольких действий в зависимости от значения скалярного выражения или выражения ограниченного типа.
Формат оператора варианта:
case <селектор> of
<константа 1> : <оператор 1>;
...
<константа N> : <оператор N>
else
<оператор>
end;
Здесь <селектор> – это выражение любого порядкового типа; <константа> - постоянная величина того же типа, что и селектор, представляет собой различные значения, которые может иметь селектор варианта, называется меткой варианта. После каждой метки располагается оператор. Когда одно и то же действие необходимо выполнить для нескольких различных значений селектора варианта, эти значения можно записать в виде списка.
Выполнение оператора выбора происходит так:
вычисляется выражение-селектор;
затем в списках констант ищется такое значение, которое совпадает с полученным значением селектора;
далее исполняется оператор, помеченный данной константой. Если такой константы не найдено, то происходит переход к выполнению оператора, следующего после else.
Изображение оператора варианта на блок-схеме приведено на рисунке.
Изображение оператора варианта на блок-схеме
Примеры использования
Селектор интервального типа:
case I of
1..10 : writeln('число ', I:4, ' в диапазоне 1 - 10');
11..20 : writeln('число ', I:4, ' в диапазоне 11 - 20');
21..30 : writeln('число ', I:4, ' в диапазоне 21 - 30')
else
writeln('число ', I:4, ' вне пределов контроля')
end;
Селектор целочисленного типа:
case I of
1 : Z := I + 10;
2 : Z := I + 100;
3 : Z := I + 1000
end;
Селектор перечисляемого пользовательского типа:
var
Season: (Winter, Spring, Summer, Autumn);
begin
.
.
.
case Season of
Winter: writeln('Зима');
Spring: writeln('Весна');
Summer: writeln('Лето');
Autumn: writeln('Осень')
end;
end.
Пример программы с использованием оператора case, которая по введенному номеру дня недели выводит на экран его название на русском языке.
program Day_Week;
var
Day: byte;
begin
write('Введите номер дня недели: ');
readln(Day);
case Day of {Вычисление значения селектора и выбор}
1: writeln('Понедельник');
2: writeln('Вторник');
3: writeln('Среда');
4: writeln('Четверг');
5: writeln('Пятница');
6: writeln('Суббота');
else
7: writeln('Воскресенье');
end;
end.
В данном примере на экран выводится приглашение "Введите номер дня недели: ", с клавиатуры считывается целочисленное значение дня недели и присваивается переменной Day. Затем, в зависимости от значения селектора Day, обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Например, если значение Day равно 3, то реализуется оператор writeln('Среда'). Если значение Day равно 7, а ни одна из констант не равна этому значению селектора, то выполняется оператор, стоящий за словом else (на экран выводится текст "Воскресенье"). Если слово else отсутствует, то активизируется оператор, находящийся за словом end, т.е. первый оператор, за границей case. Если значение Day не равно значению ни одной из констант выбора (например, Day=8 или Day=0), то активизируется оператор, находящийся за словом end, т.е. первый оператор за границей case - оператор end.
