- •В России для обозначения конкретных действий алгоритма, согласно гост 19.701-90, применяются блоки в виде геометрических фигур определенных форм и размеров, дополняемые элементами словесной записи.
- •Элементы грамматики языка qBasic.
- •Пример: 3,14 3,14 × 100 31,4 × 10-1 0,0314 × 102 и т.Д.
- •Числовые типы данных:
- •Integer – числа целого типа.
- •Текстовые типы данных:
- •Контрольные вопросы:
Тема: Основы алгоритмизации. Язык программирования Quick Basic.
Учебные вопросы:
-
Основы алгоритмизации.
-
ЯПВУ Quick Basic.
1.
1.1. Слово алгоритм происходит от algorithmi латинского написания имени, под которым в средневековой Европе знали великого математика арабского мира Мухаммеда бен Мусу аль – Хорезми (783 – 850 г.г.). В своей книге «Об индийском счёте» он сформулировал правила записи натуральных чисел в десятичной системе счисления с помощью арабских цифр и правила четырёх арифметических действий над ними столбиком.
К 1950 г. алгоризм стал алгоритмом. В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных. Оказалось, что люди издавна освоили множество таких последовательностей. Жизненный опыт человека растёт с увеличением числа освоенных им алгоритмов.
1.2. Создание алгоритма, пусть даже самого простого, - процесс творческий. Составление алгоритма требует хорошего знания методов решения задачи. В нём нужно предусмотреть все возможные события, которые могут возникнуть в процессе решения и описать реакцию на каждое из них.
Другое дело - реализация уже имеющегося алгоритма. Он может исполняться как человеком, так и специальным устройством, которое принято называть формальным исполнителем. Примером такого формального исполнителя может служить любое автоматическое устройство (часы, стиральная машина и т.д.).
Каждый алгоритм создаётся в расчёте на конкретного исполнителя. Формальный исполнитель способен совершать только свойственные ему, или допустимые действия. Все доступные исполнителю действия образуют систему команд исполнителя. Для того чтобы алгоритм был выполним, нельзя включать в него команды, которые исполнитель не в состоянии выполнить.
Формального исполнителя можно представить в виде некоего устройства управления, соединённого с набором инструментов.
Устройство управления формального исполнителя распознаёт алгоритм и организует его исполнение, управляя соответствующими инструментами.
Инструменты формального исполнителя производят действия, выполняя команды управляющего устройства.
1.3. Из всего многообразия алгоритмов рассмотрим те, которые применяются для решения математических задач. Для преобразования числовых данных используются вычислительные алгоритмы.
Вычислительный алгоритм – это строго детерминированная последовательность операций, преобразующих исходные данные в искомый результат. Возможно и другое определение: вычислительный алгоритм – это точное предписание, задающее вычислительный процесс, обеспечивающий получение результатов, соответствующих определенным входным данным.
Таким образом, выполнение алгоритма обязательно должно привести к решению задачи из определенного класса задач, для которых этот алгоритм разработан.
1.4. Это требование позволяет определить общие свойства, которыми должен обладать вычислительный алгоритм:
Массовость. Алгоритм должен быть применим ко всем задачам рассматриваемого класса при любых исходных данных или при данных, границы, изменения которых заранее оговариваются (например, алгоритм вычисления площади треугольника по основанию и высоте при неотрицательных значениях исходных параметров).
Определенность. Любое указание алгоритма должно быть строго определено, и не должно допускать неоднозначность толкования.
Дискретность. – Представление процесса определяемого алгоритма, в виде последовательности выполняемых друг за другом отдельных (дискретных) законченных шагов.
Результативность. Следование предписаниям алгоритма должно всегда приводить к получению результата за конечное число действий (шагов).
1.5. Очевидно, что использование алгоритма предполагает и соответствующую форму его записи. В настоящее время получили распространение три формы записи алгоритмов: символьная, графическая и иерархическая.
Символьная форма записи представляет собой набор математических выражений и текстовых пояснений, где с использованием традиционных обозначений (константы, имена переменных, знаки арифметических и логических операций, имена алгебраических и трансцендентных функций и т.д.) определяются необходимые преобразования исходных данных решаемой задачи.
Примером может служить запись алгоритма нахождения произведения натуральных чисел, то есть факториала, по формуле c = 1·2·3·4·…·n.
1. Полагаем c равным единице и переходим к следующему пункту.
2. Полагаем i равным единице и переходим к следующему пункту.
3. Полагаем c = i·c и переходим к следующему пункту.
4. Проверяем, равно ли i числу n. Если i = n, то вычисления прекращаем. Если i < n, то увеличиваем i на 1 и переходим к пункту 3.
Недостатки: не всегда возможна однозначная трактовка последовательности выполнения операций; многословность записей; возможности непосредственного ввода алгоритма в компьютер существенно ограничены.
Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной символьной записи алгоритмов. Он занимает промежуточное положение между естественными и формальными языками. В псевдокоде также как и в формальных языках есть служебные (зарезервированные) слова, смысл которых раз и навсегда определён.
Программная запись алгоритма представляет собой описание алгоритма на языке, «понятном» ЭВМ. Набор конструкций языка, оформленный по соответствующим правилам, называется программой.
Графическая форма записи – способ представления алгоритма в виде блок - схемы – схемы, составленной из блоков (геометрических фигур, обозначающих последовательность выполнения отдельных операций алгоритма) и стрелок, указывающих последовательность выполнения вычислений (поток управления).
В России для обозначения конкретных действий алгоритма, согласно гост 19.701-90, применяются блоки в виде геометрических фигур определенных форм и размеров, дополняемые элементами словесной записи.
Графическая форма записи в общем случае применима к любому целенаправленному действию (не обязательно вычислению). Она хорошо читаема, ее легко модифицировать и, главное, она естественно отражает сущность процесса алгоритмизации задачи. Критерии выделения блока носят отчасти субъективный характер. Общая блок-схема может содержать небольшое число «крупных» блоков, а затем содержание этих блоков отображается более подробными блок-схемами.
Иерархическая форма записи показывает алгоритм графически, но не как поток управления, а как разделение решаемой задачи на подзадачи.
1.6. Алгоритмы решения задач столь же разнообразны, как и сами задачи. Но среди них можно выделить некоторые фрагменты структуры, которые присутствуют в большинстве решений. Они получили название базовые алгоритмические структуры – линейные, разветвляющиеся и циклические.
Линейные алгоритмические структуры используют для решения относительно простых задач, не требующих проверки условия или неоднократного выполнения одних и тех же действий. Такими задачами могут быть расчеты математических формул; ввод и вывод информации и др.
Линейные алгоритмические структуры объединяет то, что вычисление в них происходят последовательно, шаг за шагом, от начала к концу (сверху вниз по блок схеме).
Разветвляющиеся алгоритмические структуры предполагают выполнение тех или иных действий в зависимости от условия.
Алгоритмическая структура называется разветвляющейся, если она содержит несколько ветвей вычислений и выбор конкретной ветви вычислений происходит в зависимости от выполнения (или не выполнения) заданных условий.
Циклическая алгоритмическая структура применяется когда вычислительные алгоритмы требуют многократного повторения одного и того же фрагмента вычислений, но при изменяющихся значениях некоторой переменной.
Характерной особенностью таких циклических алгоритмов является, наличие в них фрагмента вычислений, называемого телом цикла, который неоднократно выполняется при изменяющемся значении переменной – параметре цикла.
В зависимости от закона изменения параметра цикла можно выделить два типа циклических алгоритмов:
-
циклические алгоритмы с предписанным законом изменения параметра цикла;
-
циклические алгоритмы с не предписанным законом изменения параметра цикла (итерационный цикл).
Частным,
но часто встречающимся случаем является
цикл
типа арифметической прогрессии,
параметр которого изменяется по закону
арифметической прогрессии, т.е. от
начального значения (
)
до конечного (
)
с заданным шагом (
).
2.
2.1. БЕЙСИК – язык программирования, то есть язык для программной записи алгоритма решения задачи в виде «понятном» для ЭВМ.
BASIC (Beginner All – Purpose Symbolic Code). Универсальный символический код для начинающих был разработан в 1964 году профессорами Дартмутского колледжа Джоном Кемени и Томасом Курцем.
В середине 80х годов XX века фирмой Microsoft для IBM PC-совместимых ПЭВМ были разработаны несколько версий этого языка. В 1988 году появилась версия Quick Basic 4.5.
2.2. В ЭВМ процесс переработки информации сводится к выполнению арифметических, логических операций и операций управления. Язык программирования Бейсик представляет собой структуру элементов, описывающих для ЭВМ эти операции.
