- •Оглавление
- •Раздел 1. Принципы построения алгоритмов и алгоритмические конструкции. Тема 1.1. Сущность алгоритмизации
- •1. Понятие алгоритма.
- •2. Свойства алгоритмов.
- •3. Формы записи алгоритма.
- •Тема 1.2. Алгоритмы. Основы алгоритмической структуры
- •Составление математической модели
- •Раздел 2. Системы и технологии структурного и объектно – ориентированного программирования. Тема 2.1. Этапы разработки программ
- •Постановка задачи
- •Формулировка и анализ физической задачи
- •Составление алгоритма задачи
- •Создание программы
- •Составление текста программы
- •Синтаксическая отладка программы
- •Тестирование и семантическая отладка
- •Структурное тестирование
- •Совместимое тестирование модулей
- •Семантическая отладка
- •Документирование программы
- •Пользовательская документация программы
- •Документация по сопровождению программы
- •Запуск готовой программы и анализ полученных результатов
- •Тема 2.2. Базовые средства языка. Технология структурного программирования
- •Тема 2.3. Базовые конструкции структурного программирования.
- •Переменные
- •Длина переменных
- •Типизированные константы
- •Типы данных в Паскале
- •Целые типы
- •Вещественные типы
- •Функции
- •Булевые типы
- •Порядок выполнения операций
- •Условные операторы
- •Оператор if-else
- •Оператор case (оператор выбора)
- •Вложенные конструкции if-else
- •Циклы в Паскале
- •Цикл While
- •Цикл repeat
- •Тема 2.4. Технология объектно – ориентированного программирования (ооп).
- •Общие представление о массиве
- •Одномерные массивы
- •Двумерные массивы
- •Раздел 3. Базы данных Тема 3.1. Основы понятия теории баз данных. Модели и структуры данных.
- •Многоуровневые модели предметной области
- •Идентификация объектов и записей
- •Представление предметной области и модели данных
- •Структуры данных
- •Тема 3.2. Физические модели баз данных
- •4.2.2. Левосписковые структуры с переполнениями
- •Тема 3.3. Модели и этапы проектирования баз данных
- •Тема 3.4. Проектирование реляционной базы данных
- •Тема 3.5. Управление базой данных с помощью sql
Цикл repeat
Цикл while может не выполниться ни разу, если логическое выражение в заголовке сразу вернуло false. Однако такая ситуация не всегда может быть приемлемой. Бывает, что тело цикла должно выполниться хотя бы один раз, не зависимо оттого, что вернет логическое выражение. В таком случае используется цикл repeat – цикл с постусловием.
В цикле repeat логическое выражение стоит после тела цикла. Причем, в отличие от цикла while, здесь всё наоборот: в случае true происходит выход из цикла, в случае false – его повторение.
var
i, n: integer;
begin
write ('Количество знаков: ');
readln (n);
i := 1;
repeat
write ('(*) ');
i := i + 1
until i > n;
readln
end.
Тема 2.4. Технология объектно – ориентированного программирования (ооп).
Объе́ктно-ориенти́рованное программи́рование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов (либо, в менее известном варианте языков с прототипированием, — прототипов). Класс — это тип, описывающий устройство объектов. Понятие «класс» подразумевает некоторое поведение и способ представления.
Понятие «объект» подразумевает нечто, что обладает определённым поведением и способом представления. Говорят, что объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области. Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности, т.н. объекта. Объект — сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса (например, после запуска результатов компиляции (и линковки) исходного кода на выполнение). Прототип — это объект-образец, по образу и подобию которого создаются другие объекты.
Объектное и объектно-ориентированное программирование (ООП) возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Кроме того, в современном объектно-ориентированном программировании часто большое значение имеют понятия события (так называемое событийно-ориентированное программирование) и компонента (компонентное программирование).
Первым языком программирования, в котором были предложены принципы объектной ориентированности, была Симула. В момент своего появления (в 1967 году), этот язык программирования предложил поистине революционные идеи: объекты, классы, виртуальные методы и др., однако это всё не было воспринято современниками как нечто грандиозное. Тем не менее, большинство концепций были развиты Аланом Кэйем и Дэном Ингаллсом в языке Smalltalk. Именно он стал первым широко распространённым объектно-ориентированным языком программирования.
Общие представление о массиве
Переменные стандартного типа можно изобразить отдельными маленькими ячейками. То же самое относится и к переменным перечисляемого и интервального типов:
В данных ячейках могут содержаться любые значения из диапазона, определяемого их типами. Например, в ячейке month может быть любое одно значение от 1 до 12, а в ячейке x любое натуральное число в диапазоне примерно от -32000 до 32000.
Помимо этого, имеется также возможность объявлять переменные, которые являются массивами таких маленьких ячеек.
Ячейки массива можно назвать элементами; в квадратных скобках стоятиндексы. Базовый тип массива – это тип элементов, из которых составлен массив (в каждом массиве все компоненты одного типа).
Элементы можно обрабатывать так же, как переменные базового типа:
...
nums[3] := 115.58;
read(nums[1]);
tbl[2,a] := true;
write(tbl[2,a]);
tbl[1,c] := not tbl[2,a];
...
Однако такое использование элементов массива в качестве обычных переменных не дает никакой выгоды. Массивы ценны тем, что индексы могут быть переменными или выражениями, обеспечивая доступ к последовательным элементам.
Во фрагменте кода ниже записывается false во все элементы массива tbl и 0 во все элементы массива nums:
...
for n := 1 to 4 do
for ch := a to c do
tbl[n, ch] := false;
for i := 1 to 3 do
nums := 0;
...
