АЛЬБОМ НАГЛЯДНЫХ ПОСОБИЙ
по дисциплине «Основы алгоритмизации и программирования»
Автор:

Сарапул, 2008
ПОНЯТИЕ АЛГОРИТМА. СВОЙСТВА АЛГОРИТМА.
Алгоритм – это понятное и точное указание исполнителю совершить последовательность действий, направленных на решение поставленной задачи. Исполнителем может являться как техническое устройство, так и человек.
Все алгоритмы обладают некоторыми общими свойствами:
Дискретность | Процесс решения задачи должен быть разбит на последовательность отдельных шагов, каждый из которых называется командой. Наиболее существенным здесь является тот факт, что алгоритм есть последовательность четко выделенных пунктов,- такие объекты принято называть дискретными. Таким образом, разделение информационного процесса в алгоритме на отдельные команды является важным свойством алгоритма и называется дискретностью |
Понятность | Чтобы исполнитель мог выполнить преобразование объекта согласно алгоритму, он должен быть в состоянии понять и выполнить каждую команду. Поэтому каждый алгоритм должен составляться в расчете на конкретного исполнителя с учетом его возможностей. Это свойство алгоритма называется понятностью. У каждого исполнителя имеется перечень команд, которые он может исполнить. Такой перечень называется системой команд исполнителя. Понятными исполнителю будут являться только те команды, которые попадают в этот список. |
Определенность | Команды, образующие алгоритм, должны быть предельно четкими и однозначными. Их результат не может зависеть от какой-либо дополнительной информации извне алгоритма. Сколько бы раз вы не запускали программу, для одних и тех же исходных данных всегда будет получаться один и тот же результат. Такое свойство называется определенностью (детерминированностью) |
Результативность | Результат выполнения алгоритма должен быть обязательно получен, т. е. правильный алгоритм не может обрываться безрезультатно из-за какого-либо непреодолимого препятствия в ходе выполнения. Кроме того, любой алгоритм должен завершиться за конечное число шагов. Такое свойство алгоритма называют результативностью. |
Корректность | Любой алгоритм создан для решения той или Ионой задачи, поэтому необходима уверенность, что это решение будет правильным для любых допустимых исходных данных. Указанное свойство алгоритма принято называть его корректностью. В связи с этим большое значение имеет тщательное тестирование алгоритма перед его использованием. Грамотная и всесторонняя отладка для сложных алгоритмов часто требует значительно больших усилий, чем собственно разработка этих алгоритмов. |
Массовость | Алгоритм имеет смысл разрабатывать только в том случае, когда он будет применяться многократно для различных наборов исходных данных. Массовость алгоритма в отдельных случаях может нарушаться: к числу подобных исключений можно отнести алгоритмы пользования некоторыми простыми автоматами (для них входными данными служит единственный тип монет) |
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ АЛГОРИТМОВ
Обозначение | Комментарии | |
| Начало и конец алгоритма | |
| Действия, вычисления | |
| Разветвление в алгоритме, проверка условия | |
| Ввод(Вывод) данных | |
| Комментарии | |
| Блок цикла |
ВИДЫ АЛГОРИТМОВ

ЛИНЕЙНАЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА
Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно, без пропусков и повторений | Пример линейного алгоритма - задача вычисления площади квадрата S при заданной длине стороны квадрата a. Блок-схема:
| Словесная запись данного алгоритма: 1. Прочесть значение А. 2. Умножить значение А на А 3. Сохранить полученный результат на предыдущем шаге как значение S |
СТРУКТУРА АЛГОРИТМА ВЕТВЛЕНИЯ
Блок-схема | Описание на алгоритмическом языке | Блок-схема | Описание на алгоритмическом языке |
| Если логическое выражение То команда1 Иначе команда 2 Конец ветвления |
| Если логическое выражение То команда1 Конец ветвления |
АЛГОРИТМЫ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ
Алгоритмическая структура «Цикл» обеспечивает многократное выполнение некоторой последовательности действий, которая называется телом цикла.


Блок-схема | Словесное описание | ||||||||
| 1. Вычисляются значения выражений, определяющие начальное и конечное значение параметра цикла; 2. параметру цикла присваивается начальное значение; 3. параметр цикла сравнивается с конечным значением; 4. если параметр цикла превосходит конечное значение параметра цикла, то переход к п.8 иначе к след. пункту; 5. выполняется тело цикла; 6. параметр цикла автоматически изменяется на значение шага; 7. переход к п.3; 8. конец цикла. | ||||||||
| 1. Выполняется значение логического выражения; 2. если значение логического выражения истинно, то переход к следующему пункту, иначе – переход к п.5; 3. выполняется серия команд(тело цикла); 4. переход к п.1; 5. конец цикла. | ||||||||
| 1. Выполняется серия команд; 2. вычисляется значение логического выражения; 3. если значение логического выражения истинно, переход к п.1, иначе – к следующему пункту; 4. конец цикла. |
ЯЗЫК TURBO PASCAL
Алфавит Языка:
1. Символы, используемые для составления идентификаторов:
· Латинские строчные и прописные буквы;
· Арабские цифры от 0 до 9;
· Символ подчеркивания;
2. Символы-разделители:
· Символ пробела;
· Управляющие символы;
3. Специальные символы: + - * / { } [ ] ( ) < > . , ‘ : ; ^ @ # $
4. Составные символы - группа символов, которые воспринимаются компилятором как единое целое: >= =< := (* *) (. .) ..
5. Неиспользуемые символы. Символы расширенной таблицы ASCII, т. е. символы имеющие коды 128-255( в этой области находятся символы алфавита русского языка и символы псевдографики).
6. Зарезервированные слова.
ЗАРЕЗЕРВИРОВАННЫЕ СЛОВА
ABSOLUTE AND ARRAY ASM ASSEMBLER BEGIN CASE CONST CONSTRUCTOR DESTRUCTOR DIV DO DOWNTO ELSE END EXTERNAL FAR FILE FOR FORWARD | FUNCTION GOTO IF IMPLEMENTATION IN INHERITED INLINE INTERFACE INTERRUPT LABEL MOD NEAR NIL NOT OBJECT OF OR PACKED PRIVATE PROCEDURE | PROGRAM PUBLIC RECORD REPEAT SET SHL SHR STRING THEN TO TYPE UNIT UNTIL USES VR VIRTUAL WHILE WITH XOR |
Общая структура программы Turbopascal
РАЗДЕЛ ОБЪЯВЛЕНИЙ И СОГЛАШЕНИЙ
Program Заголовок программы;
{$.......} Глобальные директивы компилятора;
Uses Подключаемые библиотеки;
Label Подраздел объявления глобальных меток;
Const Подраздел объявления глобальных констант;
Type Подраздел объявления глобальных типов;
Var Подраздел объявления глобальных переменных;
РАЗДЕЛ ТЕКСТОВ ПРОЦЕДУР И ФУНКЦИЙ
Procedure
(Function) Заголовок процедуры(функции);
Label Подраздел объявления локальных меток;
Const Подраздел объявления локальных констант;
Type Подраздел объявления локальных типов;
Var Подраздел объявления локальных переменных;
Begin Основной блок процедуры или функции;
End;
РАЗДЕЛ ОСНОВНОГО БЛОКА ПРОГРАММЫ
Begin Основной блок программы;
End.
ТИПЫ ДАННЫХ
На что указывает тип:
1. Тип указывает на то какого вида информация заносится в переменную(число или символ).
2. Какой должен быть размер памяти уделяемой переменной.
3. Какие операции можно выполнять над значениями этого типа.


ОПЕРАЦИИ И ФУНКЦИИ
1. Для целого типа
+ - сложение
- - вычитание
*- умножение
Div – целочисленное деление
Mod - остаток от деления
Succ - нахождение следующего значения
Pred - нахождение предыдущего значения
Ord - порядковый номер
Sqr - возведение в квадрат
Abs - получение абсолютного значения
2. Для вещественного типа
+ - сложение
- - вычитание
*- умножение
/ - деление
Sqrt - квадратный корень
Sin-синус
Cos-косинус
Arctan-арктангенс
Ln - натуральный логарифм
Exp-экспонента
Abs-модуль числа
Int - целая часть
Frac-дробная часть
Round- округление
Trunc- отбрасывание дробной части
3. Для строкового типа
Length(s)- функция нахождения длины строки
t:=Copy(s, i,j)- функция копирования подстроки в новую переменную
s - исходная строка,
i - индекс, с которого надо начать копирование,
j - количество символов, которые необходимо скопировать.
t - скопированная часть строки,
Delete(s, i,j)- удаляет подстроку из строки,
Insert(s, t,i)- вставка строки s в t c позиции t,
Pos(s, t)- ищет подстроку в строке
ЭЛЕМЕНТЫ ИНТЕРФЕЙСА DELPHI

В главном окне реализуются основные функции управления проектом создаваемой программы.
Это окно содержит: 
· Строку заголовка;
· Строку меню;
· Панель инструментов;
· Палитру компонентов.
Строка заголовка главного окна отображает имя открытого в данный момент проекта.
По заголовку главного окна можно определить, в каком режиме открыт проект:
Текст заголовка | Режим работы |
Delphi – Project1 | Редактирование |
Delphi – Project1 [Running] | выполнение |
Строка меню содержит команды, необходимые для разработки и тестирования приложений, и используется так же, как любое стандартное меню WINDOWS.
Панель инструментов предназначена для выполнения некоторых команд, реализуемых главным меню. На этой панели есть, в частности, кнопка сохранения проекта на диске
, кнопка открытия проекта
, кнопка запуска программы на выполнение
.
Окно проектировщика формы – главное место, где происходит сборка программы из компонентов, содержащихся в палитре компонентов. Сама форма – это уже готовая к выполнению программа. В указанное место формы будет вставляться объект – экземпляр компонента выбранного типа.
Окно инспектора объектов отображает свойства активизированного щелчком мышью какого-либо компонента или самой формы. Имя активизированного компонента находится под заголовком окна. Это окно имеет две вкладки – Properties (Свойства) и Events (События). Свойства определяет атрибут компонента, например размер кнопки или шрифт метки. Событие означает, например, такие действия, как щелчок мышью на кнопке или закрытия окна.
По ходу работы система формирует в окне редактора кода текст программы на языке Паскаль, связанной с формой. После загрузки Delphi это окно спрятано за окном формы, и его можно увидеть, щелкнув на кнопке Toggle Form/Unit
на панели инструментов.















