Формы записи алгоритма

КраткИе теоретические сведения

ВВЕДЕНИЕ

Курс информатики, изучаемый студентами заочной формы обучения, включает в себя раздел посвященный началам алгоритмизации и программирования. В качестве базовых знаний в данном разделе изучаются методы и принципы составления алгоритмов и программ, формы записи алгоритмов, выполнение алгоритмов, перевод алгоритмов на язык программирования Pascal.

Формы записи алгоритмов, изучаемые в рамках курса информатики, включают в себя:

– запись алгоритма в виде словесно-формульного описания – как самую простую и доступную форму записи;

– изображение алгоритма в виде блок-схемы – как самую наглядную форму;

– запись алгоритма на алгоритмическом языке (алгоязыке) – как форму, наиболее приближенную к языку программирования.

В качестве базового языка программирования принят алгоритмический язык Turbo Pascal, как наиболее доступный и простой для понимания на начальном этапе знакомства с программированием, а также по причине возможности дальнейшего углубления знаний в практической области и простоте перехода от программирования на Turbo Pascal к программированию на более актуальном сейчас Delphi, являющемся, по сути, дальнейшим развитием языка Turbo Pascal.

Целью выполнения курсовой работы в рамках изучения курса информатики является более глубокое практическое освоение студентами методов и принципов составления алгоритмов и перевода их на язык программирования. В качестве основных тем предлагаются относительно простые математические задачи в рамках пройденного студентами материала.

Для экономии времени при выполнении курсовой работы студентам предоставляется также дополнительный материал, включающий в себя библиотеки алгоритмов, курс практических лекций по языку программирования.

 

 

 

Алгоритм- это однозначно определенная последовательность действий, записанная на понятном исполнителю алгоритмическом языке и определяющая процесс перехода от исходных данных к результату.

Принято выделять 2 основные формы записи алгоритма.

Графическая форма записи (блок-схема) характерна тем, что отдельные шаги алгоритма изображаются геометрическими фигурами, а последовательность выполнения шагов - связями между этими фигурами. На рис. 1. указаны основные элементы блок - схем.

 

 

 

Рис. 1. Основные элементы блок-схем

 

Указанные на рис. 1. геометрические фигуры интерпретируются так:

Прямоугольник - любая последовательность действий; внутри прямоугольника записываются формулы или словесное описание выполняемых действий;

Ромб - блок проверки условия; так как любое условие может быть только истинно или ложно, у блока 1 вход и 2 выхода, соответствующие действиям, выполняемым в случаях, когда условие истинно и когда оно ложно. Выходы подписывают символами "+" и "-", "да" и "нет", "1" и "0".

Параллелограмм - блок ввода исходных данных. Внутри фигуры обычно пишется, какие именно данные должны быть введены;

Лист с разрывом - блок вывода данных. Внутри блока указывается, какие данные или сообщения программа выводит для представления пользователю;

Закругленные прямоугольники - необязательные блоки начала и конца программы, внутри блоков обычно указываются ключевые слова "нач" и "кон" соответственно;

Последняя фигураслужит для изображения циклов, как правило, у нее 2 входа (первый и повторный вход в цикл) и 1 выход, соответствующий завершению циклического процесса.

Текстоваяформа записи алгоритма (псевдокод) характерна тем, что шаги алгоритма и последовательность их выполнения задаются с помощью набора специальных ключевых слов. Эта форма ближе к реальным языкам программирования.

Существует много различных вариантов псевдокода, например, в русскоязычной литературе по программированию распространен следующий вариант псевдокода:

· нач - начало программы;

· кон - конец программы;

· если ... то ...иначе - проверка условия;

· ввод- ввод данных;

· вывод - вывод данных;

· для ... от .. до ... нц ... кц - цикл со счетчиком (нц - начало цикла, кц - конец);

· пока ... нц ...кц - цикл с предусловием;

· нц ... кц ... пока - цикл с постусловием.

Алгоритм и программа решения задачи на ЭВМ должны разрабатываться в соответствии с обязательным использованием переменных и стандартных функций языка Паскаль.

К основным типам переменных относятся следующие функции:

var { секция объявления переменных }

r: Real; { переменная вещественного типа }

i: Integer; { переменная целого типа }

c: Char; { переменная-символ }

b: Boolean; { логическая переменная }

s: String; { переменная строки }

t: Text; { переменная для объявления текстового файла }

Стандартные функции служат для выполнения элементарных математических расчетов, часто требуемых при написании программ. Разработчики Паскаля стремились сделать его программное ядро максимально компактным, поэтому в него не вошел ряд функций, обычно имеющихся в других языках, таких, как вычисление максимума и минимума, возведение числа в произвольную степень.

Информация об основных стандартных функциях представлена в

таблице 1.

 

Таблица 1.

Математическая запись Запись на Паскале Пояснение
|x| abs(x) Модуль аргумента x
x2 sqr(x) Квадрат аргумента x
sin x cos x arctg x sin(x) cos(x) arctan(x) Остальные тригонометрические функции выражаются через эти функции
ex ln x exp(x) ln(x) Экспонента и натуральный логарифм
  sqrt(x) Квадратный корень от аргумента x
p pi Функция без аргументов, число p
  trunc(x) Функция отбрасывает дробную часть аргумента, аргумент не округляется
  frac(x) Функция выделяет дробную часть своего аргумента
  round(x) Округление вещественного числа до ближайшего целого

 

Ниже приводятся команды, которые передаются среде Турбо Паскаля функциональными клавишами и некоторыми их комбинациями с клавишами Ctrl и Alt:

Fl - обратиться за справкой к встроенной справочной службе (Help-помощь);

F2 - записать редактируемый текст в дисковый файл;

F3 - прочитать текст из дискового файла в окно редактора;

F4 - используется в отладочном режиме: начать или продолжить исполнение программы и остановиться перед исполнением той ее строки, на которой стоит курсор;

F5 - распахнуть активное окно на весь экран;

F6 - сделать активным следующее окно;

F7 - используется в отладочном режиме: выполнить следующую строку программы; если в строке есть обращение к процедуре (функции), войти в эту процедуру и остановиться перед исполнением первого ее оператора;

F8- используется в отладочном режиме: выполнить следующую строку программы; если в строке есть обращение к процедуре (функции), исполнить ее и не прослеживать ее работу;

F9 - компилировать программу, но не выполнять ее;

F10 - перейти к диалоговому выбору режима работы с помощью главного меню;

Ctrl-F9 - выполнить прогон программы: компилировать программу, находящуюся в редакторе, загрузить ее в оперативную память и выполнить, после чего вернуться в среду Турбо Паскаля.

Alt-F5 - сменить окно редактора на окно вывода результатов работы (прогона) программы.

Обычно работа в среде системы программирования начинается с загрузки текста программы, хранящегося на диске, в окно редактирования или создания нового файла с исходным текстом. Исходные тексты программ на Pascal имеют расширение .pas.

После редактирования исходный текст необходимо сохранить на диске и компилировать. Если компиляция прошла нормально, можно запустить программу на выполнения, или следует устранить синтаксические ошибки в текстовом редакторе и снова выполнить компиляцию.

Если программа выдает правильный ответ, то она готова к эксплуатации, в противном случае следует найти логические ошибки в программе, устранить их с помощью редактора и еще раз проверить правильность работы программы.

Программа на Паскале не просто состоит из операторов - порядок следования этих операторов не случаен и образует определенную структуру. Структура простейшей программы описана в табл. 2.

Таблица 2. Структура простой программы на Паскале

Название раздела Операторы раздела
Заголовок программы program Имя программы;
Раздел описаний const список констант; var список переменных;
Тело программы – содержит операторы программы begin операторы; end.

Пара операторов begin и end называется операторными скобками, они служат для того, чтобы объединить группу операторов, выполняемых вместе, например, в цикле или по условию. Ключевые слова begin и end следует рассматривать как единый оператор, поэтому после begin точка с запятой не ставится, а количество begin и end в программе всегда одинаково. Таким образом, тело программы заключено в операторные скобки, объединяющие все ее операторы.

Алгоритм и программа решения задачи на ЭВМ должны разрабатываться в соответствии со следующими этапами:

1. ввод исходной информации в ЭВМ;

2. выполнение преобразования исходной информации в конечный результат;

3. вывод результата пользователю на экран, печать.

Стандартный ввод – это ввод информации с клавиатуры в переменные, хранящиеся в оперативной памяти.

Стандартный вывод – это вывод информации на экран из оперативной памяти (переменных).

Для стандартного ввода используют оператор READLN (список ввода)

Список ввода –список вводимых переменных, разделенных запятыми.

Выполнение оператора READLN вызывает переход ЭВМ в режим ожидания действий пользователя, при этом на экране появляется мигающий курсор, пользователь должен набрать на клавиатуре значение и нажать на клавишу ENTER.Введенное значение помещается в переменную, а выполнение программы продолжается.

Для стандартного вывода используют операторы WRITE (список вывода) или WRITELN (список вывода).

Список вывода –список выводимых переменных, разделенных запятыми.

Пример 3:

VAR A, B: integer;

C: real;

Begin

Writeln(‘Введите числа А и В -’);

Readln(A, B);

C:=A*B;

Write(‘Произведение = ’,C);

End.

В списке вывода после имени переменной можно указывать формат вывода.

Форматы вывода особенно удобно использовать для вещественных значений.

Формат вывода- величина: число

Если величина является символом или строкой, то число – это количество выводимых символов. Пробелы добавляются справа – в конце строки.

Если величина целого типа, то число указывает длину поля для выводимого числа, пробелы добавляются перед числом.