Войти на сайт

или
Регистрация

Навигация


РЕФЕРАТ

ПО ИНФОРМАТИКЕ

Современные технологии программирования


СОДЕРЖАНИЕ

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), предписывающих выполнение определенных функций, и связей между ними [6]. Внутри блоков указывается поясняющая информация, характеризующая выполняемые ими действия. Конфигурацию и размер блоков, а также порядок построения схем определяет ГОСТ 19002 и 19003.

Выполнение алгоритма всегда начинается с блока начала и оканчивается при попадании на блок конца. Порядок вычисление определяется стрелками.

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

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

Внутри блока ввода перечисляются переменные, значения которых должны быть введены в данном месте схемы.

Внутри блока вывода перечисляются переменные, значения которых должны быть выведены в данном месте схемы, или напечатан результат.

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

Нередко возникает необходимость применения уже имеющихся (может разработанных кем-то) алгоритмов. В этом случае можно использовать блок «предопределенный процесс».

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

Блок модификация задает условия для выполнения одной и той же последовательности шагов с изменяемой информацией.


3.Основные алгоритмические структуры

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

·   Линейный вычислительный процесс - это процесс, блоки которого выполняются последовательно один за другим (порядок выполнения блоков естественный).

Например, составить структурную схему алгоритма для вычисления по формуле:

 

Вычисление по формуле представляет собой линейный вычислительный процесс. Исходные данные a, b, c, x. Cтруктурная схема алгоритма представлена на рис. 15.

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

·   Циклическая структура. Очень часто встречаются процессы, когда решение задачи сводится к многократному вычислению по одним и тем же математическим зависимостям при различных входящих в них величинах. Многократно повторяющиеся участки этого вычислительного процесса называют циклами, а сам процесс - циклическим.

Схема циклического процесса в общем виде приведена на рис.17.

В данной схеме блоки имеют следующее назначение:

1 - блок задания начального значения параметра цикла;

2 - тело цикла, то есть участок вычислительного процесса, который многократно повторяется;

3 - блок изменения параметра цикла;

4 - блок проверки условия выхода из цикла.

·   Циклическая разветвляющаяся структура

Схема алгоритма циклического разветвляющегося процесса представлена на рис.19.



Информация о работе «Современные технологии программирования»
Раздел: Информатика, программирование
Количество знаков с пробелами: 22592
Количество таблиц: 0
Количество изображений: 4

Похожие работы

Скачать
231244
5
6

... По теореме 9.3 в силу результатов шагов 3 и 8. (Шаг 10). Имеет место свойство (9.4) по теореме 9.5 в силу результатов шагов 1 и 9. Литература к лекции 9. 9.1. С.А. Абрамов. Элементы программирования. - М.: Наука, 1982. С. 85-94. 9.2. М. Зелковец, А. Шоу, Дж. Гэннон. Принципы разработки программного обеспечения. - М.: Мир, 1982. С. 98-105. Лекция 10. ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММНОГО ...

Скачать
89611
3
4

... не зависимый от языка способ создания кода и привязки его к запросам Web-страниц, — .NET Web Forms — управляемую событиями программную модель взаимодействия с элементами управления. Она дела­ет программирование Web-страниц аналогичным программи­рованию форм Visual Basic. ASP.NET содержит развитые сред­ства управления сеансами и функции защиты. Она надежнее, и производительность ее значительно выше ...

Скачать
112819
0
0

... . Объясните, для чего служат разрешения и привилегии в Windows NT. Зав. кафедрой --------------------------------------------------   Экзаменационный билет по предмету СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Билет № 22 Перечислите возможности и инструменты системы программирования Microsoft Developer Studio. Укажите для чего предназначается буфер в системах ввода-вывода, ...

Скачать
10866
0
0

... повышают уровень требований к массовой алгоритмической культуре. Практически все диалоговые системы являются программируемыми. Методика конструирования программ легко переносится на другие процедурные языки программирования, в том числе и объектно-ориентированные.[2] В соответствии с технологией конструирования программ построена программа тестового редактора. Я разделил ее на этапы: Создание ...

0 комментариев


Наверх