альбом наглядных пособий

advertisement
АЛЬБОМ НАГЛЯДНЫХ ПОСОБИЙ
по дисциплине «Основы алгоритмизации и программирования»
Автор: Антропова Э.К.
Сарапул, 2008
Массовость
Корректность
Результативность
Определенность
Понятность
Дискретность
ПОНЯТИЕ АЛГОРИТМА. СВОЙСТВА АЛГОРИТМА.
Алгоритм – это понятное и точное указание исполнителю совершить последовательность действий, направленных на
решение поставленной задачи. Исполнителем может являться как техническое устройство, так и человек.
Все алгоритмы обладают некоторыми общими свойствами:
Процесс решения задачи должен быть разбит на последовательность отдельных шагов, каждый из которых называется
командой. Наиболее существенным здесь является тот факт, что алгоритм есть последовательность четко выделенных
пунктов,- такие объекты принято называть дискретными. Таким образом, разделение информационного процесса в
алгоритме на отдельные команды является важным свойством алгоритма и называется дискретностью
Чтобы исполнитель мог выполнить преобразование объекта согласно алгоритму, он должен быть в состоянии понять и
выполнить каждую команду. Поэтому каждый алгоритм должен составляться в расчете на конкретного исполнителя с
учетом его возможностей. Это свойство алгоритма называется понятностью.
У каждого исполнителя имеется перечень команд, которые он может исполнить. Такой перечень называется системой
команд исполнителя. Понятными исполнителю будут являться только те команды, которые попадают в этот список.
Команды, образующие алгоритм, должны быть предельно четкими и однозначными. Их результат не может зависеть
от какой-либо дополнительной информации извне алгоритма. Сколько бы раз вы не запускали программу, для одних
и тех же исходных данных всегда будет получаться один и тот же результат. Такое свойство называется
определенностью (детерминированностью)
Результат выполнения алгоритма должен быть обязательно получен, т.е. правильный алгоритм не может обрываться
безрезультатно из-за какого-либо непреодолимого препятствия в ходе выполнения. Кроме того, любой алгоритм
должен завершиться за конечное число шагов. Такое свойство алгоритма называют результативностью.
Любой алгоритм создан для решения той или Ионой задачи, поэтому необходима уверенность, что это решение будет
правильным для любых допустимых исходных данных. Указанное свойство алгоритма принято называть его
корректностью. В связи с этим большое значение имеет тщательное тестирование алгоритма перед его
использованием. Грамотная и всесторонняя отладка для сложных алгоритмов часто требует значительно больших
усилий, чем собственно разработка этих алгоритмов.
Алгоритм имеет смысл разрабатывать только в том случае, когда он будет применяться многократно для различных
наборов исходных данных. Массовость алгоритма в отдельных случаях может нарушаться: к числу подобных
исключений можно отнести алгоритмы пользования некоторыми простыми автоматами (для них входными данными
служит единственный тип монет)
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ АЛГОРИТМОВ
Обозначение
Комментарии
Начало и конец алгоритма
Действия, вычисления
Разветвление в алгоритме, проверка
условия
Ввод(Вывод) данных
Комментарии
Блок цикла
ВИДЫ АЛГОРИТМОВ
АЛГОРИТМ
ЛИНЕЙНЫЙ
ВЕТВЛЕНИЯ
ЦИКЛИЧЕСКИЙ
ЛИНЕЙНАЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА
Линейным
называется
алгоритм, в котором все этапы
решения задачи выполняются
строго последовательно, без
пропусков и повторений
Пример линейного алгоритма- Словесная
запись
данного
задача
вычисления
площади алгоритма:
квадрата S при заданной длине
стороны квадрата a.
1. Прочесть значение А.
Блок-схема:
2. Умножить значение А на А
3. Сохранить
полученный
Начало
результат на предыдущем
шаге как значение S
A
S:=A*A
S
Конец
СТРУКТУРА АЛГОРИТМА ВЕТВЛЕНИЯ
Блок-схема
Описание на
алгоритмическом языке
Если логическое выражение
То команда1
Иначе команда 2
Конец ветвления
Условие
Команда1
Команда2
Блок-схема
Условие
Команда1
Описание на
алгоритмическом языке
Если логическое выражение
То команда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, т.е. символы имеющие коды 128255( в этой области находятся символы алфавита русского языка и символы псевдографики).
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
панели инструментов.
на
Download