Современные технологии программирования
РЕФЕРАТПО ИНФОРМАТИКЕСовременные технологии программированияСОДЕРЖАНИЕ1 Понятие алгоритма и его характеристики.2 Формы представления алгоритмов.3 Основные алгоритмические структуры.4. Структурное программирование.5. Событийно-ориентированное программирование6. Объектно-ориентированное программирование. 1. Понятие алгоритма и его характеристикиПодготовка задачи для решения на ЭВМ состоит из нескольких этапов: формулировка условия задачи; выбор метода ее решения (например, численного для математических задач); разработка схемы алгоритма; составление программы на алгоритмическом языке.Алгоритм - это система правил, описывающая последовательность действий, которые необходимо выполнить, чтобы решить задачу [3]. Алгоритм - некоторая последовательность предписаний (правил), однозначно определяющих процесс преобразования исходных и промежуточных данных в результат решения задачи.Понятие алгоритма в информатике является фундаментальным, таким, каким является понятие точки, прямой и плоскости в геометрии, множества - в математике, пространства и времени - в физике, вещества - в химии. Как и для всякого фундаментального понятия, для алгоритма невозможно дать абсолютно строгого определения. Поэтому формулировки, приведенные выше, лишь приближенно описывают алгоритм.Основные характеристики алгоритма: дискретность, определенность, результативность, массовость.Дискретность означает, что выполнение алгоритма разбивается на последовательность законченных действий - шагов. Каждое действие должно быть завершено исполнителем прежде, чем он перейдет к выполнению следующего. Значения величин в каждом шаге алгоритма получаются по определенным правилам из значения величин, определенных на предшествующем шаге.Под определенностью понимается то обстоятельство, что каждое правило алгоритма настолько четко и однозначно, что значения величин, получаемые на каком-либо шаге, однозначно определяются значениями величин, полученными на предыдущем шаге, и при этом точно известно, какой шаг будет выполнен следующим.Результативность (или конечность) алгоритма предполагает, что его исполнение сводится к выполнению конечного числа действий и всегда приводит к некоторому результату. В качестве одного из возможных результатов является установление того факта, что задача не имеет решений.Под массовостью понимается, что алгоритм решения задачи разрабатывается в общем виде так, чтобы его можно было применить для целого класса задач, различающихся лишь наборами исходных данных. В этом свойстве и заключена основная практическая ценность алгоритма.2. Формы представления алгоритмовСуществуют различные формы представления алгоритмов:словесное описание алгоритма на естественном языке (вербальная форма);построчная запись алгоритма;схема алгоритма;запись на каком-либо языке программирования.Рассмотрим особенности первых двух форм на примере алгоритма Евклида - нахождения наибольшего общего делителя (НОД) для двух целых положительных чисел.Словесное описание имеет минимум ограничений и является наименее формализованным. Однако при этом алгоритм получается и наименее строгим, допускающим появление неопределенностей. Также в этой форме алгоритм может оказаться очень объемным и трудным для восприятия человеком.Например, если числа равны, НОД равен одному из них. В противном случае надо из большего числа вычесть меньшее, полученную разность запомнить вместо значения большего числа и повторить все сначала.Построчная запись алгоритма - это запись на естественном языке, но с соблюдением некоторых дополнительных правил:шаги (предписания) нумеруются;исполнение шагов происходит в порядке возрастания номеров шагов, начиная с первого (если не встречается никаких специальных указаний);типичными шагами являются чтение (ввод) данных; обработка данных (вычисления) по формулам; сообщение (вывод) результата; проверка условия; переход к шагу с номером N; конец вычислений.Пример: [1] Чтение А, В [2] Если А=В, идти к [8] [3] Если А>В, идти к [6] [4] В=В-А [5] Идти к [2] [6] А=А-В [7] Идти к [2] [8] НОД=А [9] Запись НОД [10] КонецПострочная запись алгоритма позволяет избежать неопределенностей в алгоритме, не требует, по существу, никаких специальных знаний и в то же время обеспечивает отработку навыков логически строгого изложения хода решения задачи (последовательность вычислений, возможных вариантов перехода к различным шагам алгоритма и т.д.) и облегчает последующее изучение алгоритмических языков. Однако построчная запись алгоритма воспринимается человеком очень тяжело и требует большого внимания при записи.Наиболее наглядный способ представления алгоритмов - их изображение в виде схем - последовательности блоков (рис.14), предписывающих выполнение определенных функци...