Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Reshenie_zadachi_na_EVM_Algoritm.doc
Скачиваний:
22
Добавлен:
11.04.2015
Размер:
343.04 Кб
Скачать

Лабораторная работа №12 (4 ч) Тема: Составление алгоритмов решения задач.

Цель работы: Приобретение навыков в составлении алгоритмов решения задач, их визуализации и использования при разработке проектов на языке Visual Basic .

Решение задачи на ЭВМ должно включать:

  1. Постановка задачи;

  2. Анализ и исследование задачи, модели;

  3. Разработка и анализ алгоритма (структурная схема);

  4. Условные обозначения;

  5. Написание и эксплуатация программы;

  6. Тестирование и отладка;

  7. Анализ результатов решения задачи;

  8. Сопровождение программы;

  9. Список использованной литературы.

Постановка задачи:

- формулировка условия задачи; - определение конечных целей решения задачи;

- определение формы выдачи результатов;

-описание данных (их типов, диапазонов величин и т.п. сводится в таблицу).

Анализ и исследование задачи, модели:

  • анализ технических и программных средств; • разработка математической модели;

• разработка структур данных.

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

Разработка и анализ алгоритма:

  • выбор метода проектирования алгоритма;

  • выбор формы записи алгоритма (блок-схема, псевдокод и др.);

  • выбор тестов и метода тестирования;

  • проектирование алгоритма.

После того как построена модель решения задачи, можно приступить к разработке алгоритма её решения.

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

Данные в алгоритме - имена величин или идентификаторы, которые при исполнении алгоритма заменяются конкретными для данной задачи числовыми значениями.

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

Словесный способ содержит тщательно отобранный набор фраз, который не допускает лишних слов, повторений, неоднозначностей.

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

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

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

Выбор продолжения процесса в зависимости от определенных условий.

Имеет один вход и два альтернативных выхода (логический блок).

Цикл – повторение участка программного кода в зависимости от определенных условий

Использование подпрограммы

Подготовка данных для ввода или вывода

Вывод документа

Линии потока, определяющего связанность программных модулей

Межстраничный указатель

Узел пересечения потоков

Начало или завершение программы

Рис. 1 Символы в схемах алгоритмов.

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

  1. Базовая структура  "следование". Образуется последовательностью действий, следующих одно за другим:

2. Базовая структура  "ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:

  • если—то; если—то—иначе; выбор; выбор—иначе.

1. если—то 2. если—то—иначе

Если условие то действия если условие   то действия 1

иначе действия 2

  1. выбор 4. выбор—иначе

Выбор переменная Выбор переменная

при условие 1: действия 1 при условие 1: действия 1

при условие 2: действия 2 при условие 2: действия 2

  . . . . . . . . . . . . . . . . . . . . . . . .

  при условие N: действия N при условие N: действия N

иначе действия N+1

Примеры структуры ветвление

алгоритмический язык

Язык блок-схем

если x > 0

  то y := sin(x)

все

если a > b

  то a := 2*a; b := 1

  иначе b := 2*b

все

выбор

  при n = 1: y := sin(x)

  при n = 2: y := cos(x)

  при n = 3: y := 0

все

выбор

  при a > 5: i := i+1

  при a = 0: j := j+1

  иначе i := 10; j:=0

все

  3. Базовая структура  "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Основные разновидности циклов представлены в таблице:

алгоритмический язык

Язык блок-схем

Цикл типа пока. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.

нц пока условие

  тело цикла

  (последовательность действий)

кц

Цикл типа для. Предписывает выполнять тело цикла для всех значений       некоторой переменной (параметра цикла) в заданном диапазоне.     

нц для i от i1 до i2

  тело цикла

  (последовательность действий)

кц

Примеры структуры цикл

      алгоритмический язык      

           Язык блок-схем            

нц пока i <= 5

  S := S+A[i]

  i := i+1

кц

нц для i от 1 до 5

  X[i] := i*i*i

  Y[i] := X[i]/2

кц

Программирование, тестирование и отладка:

  • выбор языка программирования;

  • запись алгоритма на выбранном языке программирования;

  • тестовые расчёты и анализ результатов тестирования.

После того как алгоритм разработан, его необходимо реализовать по­средством языка программирования, то есть теперь можно определить обозначение исходных, промежуточных и выходных данных в про­грамме, сформировать эскиз приложения (форму с отображением различных элементов управления) и приступить к написанию программы на языке Visual Basic.

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

Например. Задание 1. 1. Постановка задачи. Даны пять попарно различных целых чисел: a,b,c,d,e. Упорядочить их по возрастанию, используя для этого не более 7 сравнений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]