- •Понятие алгоритма. Правила построения блок-схем алгоритмов. Линейный алгоритм (пример).
- •Способы организации циклов в языке Object Pascal.
- •Оператор case of и его использование.
- •Процедуры. Формальные, фактические параметры, параметры-значения, параметры-переменные.
- •Функции в Object Pascal.
- •Var // начало раздела объявлению переменных
- •Структура Delphi-программы: структура программы; структура модуля. Разделы области описания (интерфейсной области), комментарии.
- •Типы данных Delphi. Простые типы (целый, вещественный, символьный, строковый, логический). Объявление констант и переменных в разделе описания.
- •Оператор присваивания Delphi. Арифметические (регулярные) выражения. Основные математические и логические функции, их приоритет.
- •Сложные типы данных Delphi. Производные типы: перечислимый, интервальный.
- •Сложные типы данных Delphi. Структурированные типы. Статические и динамические массивы.
- •Index type, где Index целое число, обычно Byte или Word. Диапазон этого типа определяет диапазон измерения. Например, Byte дает дипазон 0..255.
- •Сложные типы данных Delphi. Файлы. Текстовые файлы. Считывание и запись данных.
- •Операторы управления Delphi. Составной оператор, условные операторы, оператор выбора.
- •If условие then действие else альтернатива ;
- •Операторы передачи управления Delphi. Оператор безусловного перехода.
- •Обработка событий Delphi. Реакция на события мыши и клавиатуры.
- •Работа с графикой в Delphi. Построение графиков.
Понятие алгоритма. Правила построения блок-схем алгоритмов. Линейный алгоритм (пример).
Алгоритм решения задачи может быть представлен в виде словесного описания или графически — в виде блок-схемы. При изображении алгоритма ввиде блок-схемы используются специальные символы.
Основные символы, используемые для представления алгоритма в виде блок-схемы.
Представление алгоритма в виде блок-схемы позволяет программисту уяснить последовательность действий, которые должны быть выполнены для решения задачи, убедиться в правильности понимания поставленной задачи.
Начало/Конец Ввод/Вывод
Обработка Выбор
Алгоритм поиска максимального значения элемента в массиве.
За макс(мин) принимается значение 1-го элемента, затем все элементы просматриваются и сравниваются с макс(мин). Если значение элемента окажется больше, чем значение макс(мин), то оно кладется в ячейку с макс(мин), иначе просматривается следующий элемент.
M := A[1]; {запоминание первого элемента массива}
FOR I :=1 TO N DO IF A[I]>M THEN M=A[I]; WRITE(‘максимальный элемент =’,M]);
Алгоритм поиска индекса наибольшего элемента массива.
Номер элемента в массиве называется индексом. Массив – это переменная с индексом.
M := 1; {запоминание индекса первого элемента}
FOR I := 1 TO N DO IF A(I)>A(M) THEN M=I; WRITE(‘максимальный элемент =’,A[M]);
Алгоритм отбора.
Суть этого алгоритма заключается в том, что сначала мы ищем наименьший элемент в списке, затем меняем его местами с первый элементом. Затем среди оставшихся элементов ищем следующий наименьший, делаем перестановку найденного элемента со вторым. Потом такую же операцию проводим с третьим элементом и так до тех пор, пока не дойдем до конца массива.
Алгоритм замещения.
В основе алгоритма лежит обмен соседних элементов массива. Каждый элемент массива, начиная с первого, сравнивается со следующим, и если он больше следующего, то элементы меняются местами. Таким образом, элементы с меньшим значением продвигаются к началу массива (всплывают), а элементы с большим значением — к концу массива (тонут). Поэтому данный метод сортировки обменом иногда называют методом "пузырька". Этот процесс повторяется столько раз, сколько элементов в массиве, минус единица.
Методы сортировки.
Сортировка массива методом пузырька - если два соседних элемента расположены не по порядку, то меняем их местами. Так повторяем до тех пор, пока в очередном проходе не сделаем ни одного обмена, т.е. массив будет упорядоченным.
Сортировка методом нахождения минимального элемента
Заключается он в следующем: при каждом просмотре массива находим минимальный элемент и меняем местами его с первым на первом проходе, со вторым - на втором и т.д. Не забудьте только, что первый элемент массива должен иметь индекс 0.
Сортировка массива вставками
Более быстрый и оптимальный метод сортировки - сортировка вставками.
Суть её в том, что на n-ном шаге мы имеем упорядоченную часть массива из n элементов, и следующий элемент встаёт на подходящее ему место.
Имейте в виду - первый индекс массива - 0.
Поиск перебором
Чтобы найти какие-то данные в неупорядоченном массиве, применяется алгоритм простого перебора элементов. Следующая функция возвращает индекс заданного элемента массива. Её аргументы: массив с первым индексом 0, количество элементов в массиве и искомое число. Если число не найдено, возвращается -1.
Бинарный поиск
При поиске в упорядоченном массиве можно применить гораздо более быстрый метод поиска - бинарный. Суть его в следующем: В начале переменная Up указывает на самый маленький элемент массива (Up := 0), Down - на самый большой
(Down := n, где n - верхний индекс массива), а Mid - на средний. Дальше, если искомое число равно Mid, то задача решена; если число меньше Mid, то нужный нам элемент лежит ниже среднего, и за новое значение Up принимаю Mid + 1; и если нужное нам число меньше среднего элемента, значит, оно расположено выше среднего элемента, и Down := Mid - 1. Затем следует новая итерация цикла, и так повторяется до тех пор, пока не найдётся нужное число, или Up не станет больше Doun.
Алгоритм определения суммы цифр целого числа.
алг БезНазвания(арг цел X, рез цел сумма)
дано |...
надо |...
нач
|оператор mod - остаток от деления
|оператор div - целочисленное деление
|trunc - округление в сторону меньшего
|lg - логарифм по основанию 10
сумма:=0
k:=trunc(lg(x))+1 |k - количество цифр в числе x
нц для i от 1 до k
t:=(x mod 10**i) div 10**(i-1) |t - цифра с номером i, нумерация справа налево
если (t mod 2)=1 то
сумма:=сумма+t
все
кц
вывод сумма
кон алг БезНазвания
Типы данных в языке Object Pascal.
Целый тип
Язык Delphi поддерживает семь целых типов данных: shortint, smallint, Longint, Int64, Byte, Word И Longword.
Вещественный тип
Язык Delphi поддерживает шесть вещественных типов: Reai48, single, Double, Extended, Comp, Currency. Типы различаются между собой диапазоном допустимых значений, количеством значащих цифр и количеством байтов, необходимых для хранения данных в памяти компьютера.
Символьный тип
Язык Delphi поддерживает два символьных типа: Ansichar и widechar: тип Ansichar — это символы в кодировке ANSI, которым соответствуют числа в диапазоне от 0 до 255: тип widechar — это символы в кодировке Unicode, им соответствуют числа от 0 до 65535.
Строковый тип
Язык Delphi поддерживает три строковых тина: shortstring, Long String И Widestring:
тип shortstring представляет собой статически размещаемые в памяти компьютера строки длиной от 0 до 255 символов;
тип Longstring представляет собой динамически размещаемые в памяти строки, длина которых ограничена только объемом свободной памяти;
тип widestring представляет собой динамически размещаемые в памяти строки, длина которых ограничена только объемом свободной памяти. Логический тип
Логическая величина может принимать одно из двух значений True (истина) или False (ложь). В языке Delphi логические величины относят к типу Boolean.