АЛЬБОМ НАГЛЯДНЫХ ПОСОБИЙ

по дисциплине «Основы алгоритмизации и программирования»

Автор:

Сарапул, 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 на панели инструментов.