Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

ТЕМА 41 ОСНОВЫ АЛГОРИТМИЗАЦИИ

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 9.11.2024

ТЕМА  4.1.   ОСНОВЫ АЛГОРИТМИЗАЦИИ.

  1.  Основные сведения.
  2.  Подготовка задач для решения на ЭВМ
  3.  Свойства алгоритма.
  4.  Способы описания алгоритма.
  5.  Базовые структуры алгоритмов
  6.  Языки программирования.
  7.  Среда программирования.
    1.  Основные сведения.

Термин алгоритм возник задолго до появления компьютеров, в IX веке. Первые правила

(алгоритмы) описывали сложение, вычитание, умножение, деление многозначных чисел. Этими правилами мы пользуемся и сегодня.

 Алгоритм – это законченная последовательность команд, которые необходимо выполнить над исходными данными, чтобы получить результат.

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

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

  1.  Подготовка задач для решения на ЭВМ

является достаточно сложным и трудоемким. Он включает несколько последовательных этапов:

1) формулировка задачи;

2) математическая постановка задачи;

3) выбор метода решения и численный анализ;

4) разработка алгоритма;

5) выбор структуры данных;

6) программирование;

7) тестирование и отладка программы.

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

На втором этапе задача представляется в виде уравнений, соотношений, ограничений, необходимых для её решения.

На третьем этапе выбирается метод, наиболее приемлемый для решения данной задачи. Подбираются формулы, по которым выполняются вычисления. Для простых задач численные методы не нужны. Численный анализ проводится с целью выявления возможности возникновения некорректных арифметических операций (деление на 0 и т.п.).

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

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

На шестом этапе разрабатывается программа – запись алгоритма на языке, понятном ЭВМ.

На седьмом этапе проверяется правильность работы программы на конкретном примере, исправляются обнаруженные ошибки, т.е. производится отладка программы.

  1.  Свойства алгоритма.

Полученный алгоритм должен обладать следующими свойствами:

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

  1.  Способы описания алгоритма.

Разработанный алгоритм можно описать несколькими способами:

  •  устно;
  •  словесно-формульным способом (в виде плана действий – распоряжений);
  •  операторным способом (при помощи специального алгоритмического языка);
  •  графическим способом (в виде блок-схем).

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

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

Наиболее часто алгоритмы вычислительных процессов описываются в виде блок-схем, где каждый шаг алгоритма представляется специальным блоком, который условно показывает действие, которое необходимо выполнить. Использование графического способа позволяет отобразить алгоритм решения задачи в наглядной форме. Основные графические конфигурации блоков и их функции  приведены в табл.1. (ГОСТ 19.701-90).

 В соответствии с правилами  построения, каждая  схема  должна иметь начало и окончание, обозначаемые в виде овалов. Блоки в схеме располагаются в последовательности сверху вниз, слева направо и соединяются линиями потока.  Нормальным направлением линий потока, т.е. следования этапов процесса переработки данных считается  направление сверху  вниз и слева направо и стрелками не обозначается. Во всех других случаях обозначение  направления  стрелками  обязательно. Линии,  связывающие  элементы  схемы,  должны  проводиться только по вертикали или горизонтали и подводиться к середине  символа. Расстояние  между  отдельными символами схемы не должно быть менее 10 мм. Внутри блоков указывается информация,  характеризующая выполняемые ими функции,  которые записываются словесно или  с  помощью формул и обозначений.  Записи внутри символа должны быть представлены так,  чтобы их можно было читать слева направо и сверху вниз, независимо от  направления потока.  Содержание записей должно быть кратким и точным. Для удобства нахождения символа на схеме задают их координаты в виде цифр, которые проставляются сверху слева в разрыве его контура. Между удаленными друг от друга символами линию  потока  можно обрывать. В  этом случае в конце и начале отрыва должен быть помещен символ "соединитель",  поименованный буквой или цифрой. Наименованием соединителя является номер приемника управления.

Табл.1.

Условные графические обозначения в схемах алгоритмов

ОБОЗНАЧЕНИЕ

НАИМЕНОВАНИЕ

НАЗНАЧЕНИЕ

Пуск, останов

Начало, конец алгоритма

Процесс

Отображает функцию обработки данных любого вида. Внутри записывается содержание операции (элементарные действия, из которых состоит алгоритм; при решении математических задач это могут быть арифметические действия, например,
A := B + C – переменной А присвоить значение суммы чисел В и С).

Предопределённый процесс

Отображает предопределённый процесс, состоящий из одной или нескольких операций .

Данные

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

Условие

Отображает решение или функцию переключательного типа, имеющую один вход и несколько альтернативных выходов, лишь один из них может быть активизирован после вычисления условий, определённых внутри этого символа. Если внутри этого блока записывается условие в виде вопроса, то ответом  на этот вопрос может быть только ДА и НЕТ. После выполнения этого действия возможны два пути дальнейшего решения задачи: если условие выполняется, то идем по ветке ДА, если не выполняется, то по ветке НЕТ.

Подготовка

Отображает модификацию команды или группы команд. Применяется для реализации цикла “Для” (For). Внутри пишутся параметры цикла: начальное и конечное значения переменной цикла, шаг изменения.

Соединитель

Указывает связь прерываемых линий потока. Внутри указывается наименование соединителя (номер символа, к которому следует перейти).

Граница цикла

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

Коментарий

Применяется для пояснения связи, содержания программы, для написания длинной формулы, которая не помещается внутри символа ”процесс”.

  1.  
    Базовые структуры алгоритмов

Основные структуры  алгоритмов - ограниченный набор стандартных способов соединения блоков алгоритма для  выполнения  типичных последовательностей действий.  Структурный подход к разработке алгоритмов предполагает  использование  только  нескольких  основных структур, комбинация  которых дает все многообразие алгоритмов.  К основным структурам относятся:

следование

ветвление

обход

цикл «ДО»

цикл «ПОКА»

цикл «ДЛЯ»

Рис.1. Типовые структуры вычислительных процессов.


"СЛЕДОВАНИЕ" - последовательное  размещение  блоков  и  групп блоков

"ВЕТВЛЕНИЕ" применяется, когда в зависимости от условия нужно выполнить либо одно, либо другое действие.

"ОБХОД" - частный случай "ВЕТВЛЕНИЯ",  когда одна ветвь не содержит никаких действий.

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

Цикл "ПОКА" отличается от "ДО" тем, что здесь проверка условия проводится до выполнения цикла. Если при первой проверке условие выхода из цикла выполняется, то тело цикла не выполняется ни разу.

Цикл «ДЛЯ» применяется, когда переменная цикла изменяется с известным шагом или цикл повторяется заданное количество раз.

  1.  Языки программирования.

Программа – запись алгоритма на языке, понятном ЭВМ. Такие языки называются языками программирования.

Языки программирования принято делить на 5 поколений:

  1.  начало 50х годов ХХ века – первый язык ассемблера (принцип: одна инструкция – одна строка);
  2.  конец 50х – начало 60х годов ХХ века – символический ассемблер с понятием переменной (FORTRAN);
  3.  конец  60х годов ХХ века – универсальные языки высокого уровня (используются для небольших программ инженерных или экономических расчетов и сейчас) (COBOL, ALGOL);
  4.  начало 70х годов ХХ века – языки, предназначенные для реализации крупных проектов в специализированных областях – проблемно-ориентированные языки (PASCAL, BASIC, C);
  5.  середина 90х годов ХХ века – объектно-ориентированные языки и системы автоматического создания прикладных программ с помощью визуальных средств разработки без знания программирования. Языки программирования высокого уровня (C++, CLIPPER, DELPHI, PARADOX, JAVA и т.д.) универсальны и подходят ко всем типам ЭВМ.
  6.  Среда программирования.

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

Среда программирования – это программа, которая имеет способы автоматизации процессов подготовки и выполнения программ пользователя, а именно:

  •  Редактор текстов программ;
  •  Справочно-информационную систему о языке программирования и среду;
  •  Библиотеки с полезными процедурами и функциями;
  •  Компилятор или интерпретатор, который не только указывает факт ошибки в программе, но и место и тип ошибки, а иногда и исправляет их;
  •  Способы выполнения всей программы или шаг за шагом с целью выявления и устранения ошибок.

Благодаря этим возможностям среды программирования часто называют интегрированными или дружественными средами.

Примеры интегрированных сред:

Turbo Basic, Turbo Pascal 7.0, Borland Pascal for Windows, Delphi, Visual Basic и много других.

 

 Контрольные вопросы:

  1.  Что обозначает термин «алгоритм»?
    1.  В чем смысл метода структурного проектирования алгоритма?
    2.  Перечислите этапы подготовки задачи для решения на ЭВМ?
    3.  Для чего нужны этапы формулировки и математической подготовки задачи, и почему без них нельзя обойтись?
    4.  Что происходит на этапе разработки алгоритма?
    5.  В чем суть последнего этапа?
    6.  Перечислите и кратко охарактеризуйте свойства алгоритма?
    7.  Какими способами можно описать алгоритм?
    8.  Какой способ применяется наиболее часто и почему?
    9.  Какие блоки применяются при построении блок-схем алгоритмов, их назначение?
    10.  Перечислите базовые структуры алгоритма, охарактеризуйте их?
    11.  Каковы этапы развития языков программирования?
    12.  В чем преимущество интегрированных сред?

PAGE  3


действие  1

действие  2

Да

Нет

Условие

действие  1

действие  2

ачальные присвоения

Тело цикла

Условие

Да

Нет

действие  1

Да

Нет

Условие

Начальные присвоения

Тело цикла

Условие

Да

Нет

Параметры цикла

Тело цикла

  1.  



1. 1213 Ev да а что есть предложения - 11-11-33
2. это комплекс личностных качеств педагога его профессиональные знания и умения обеспечивающий высокий уров.
3. История театра и кино Вопросы к экзамену Происхождение древнегреческой драмы и театра.html
4. Туристичні ресурси Київської області
5. Спутнике авторы постарались кратко ответить на эти вопросы.
6. ЛАБОРАТОРНАЯ РАБОТА 1 ИСПОЛЬЗОВАНИЕ ПАКЕТА NONLINER CONTROL DESIGN - MTLB ДЛЯ ПРОЕКТИРОВАНИЯ СИСТЕМ УПРАВЛЕН
7. Тема 3. Занятие 1. Основные принципы определения местоположения абонентов в GSM и UMTS 1
8. Проблема виховання в педагогічній та літературній спадщині Сухомлинського і Ушинського
9. Реферат- Абсолютная религия
10. Тема- Гистограммы Цель работы- закрепление знаний умений и навыков по статистической обработке множества д
11. Тема- Управление цветами в программе Photoshop 1 Открываем изображение Islnd girl.html
12. Аристотель как родоначальник науки о политике
13. Вариант 1 Длина реки Лена 4480 км
14. Ведучий- Доброго настрою всім на ввесь вечір
15. русской археологии
16. Реферат- Получение витаминов микробиологическим путем
17. вариант Хакерлер дегеніміз ~те ~ауыпті за~ б~зушылар а~паратты са~таушылар а~паратты жинаушыл
18. ЗАТВЕРДЖУЮ Заступник директора з навчальної роботиО
19. Инфекции вызываемые возбудителями рода PROTEUS
20. тема общества или политическая организация общества организованная на единой нормативноценностной осно