Формы записи алгоритма
КраткИе теоретические сведения
ВВЕДЕНИЕ
Курс информатики, изучаемый студентами заочной формы обучения, включает в себя раздел посвященный началам алгоритмизации и программирования. В качестве базовых знаний в данном разделе изучаются методы и принципы составления алгоритмов и программ, формы записи алгоритмов, выполнение алгоритмов, перевод алгоритмов на язык программирования 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.
В списке вывода после имени переменной можно указывать формат вывода.
Форматы вывода особенно удобно использовать для вещественных значений.
Формат вывода- величина: число
Если величина является символом или строкой, то число – это количество выводимых символов. Пробелы добавляются справа – в конце строки.
Если величина целого типа, то число указывает длину поля для выводимого числа, пробелы добавляются перед числом.