Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы по инфе.docx
Скачиваний:
1
Добавлен:
14.04.2019
Размер:
132.58 Кб
Скачать

14) Этапы решения задачи на эвм

Программирование (programming) - теоретическая и практическая деятельность, связанная с созданием программ. Решение задач на компьютере включает в себя следующие основные этапы, часть из которых осуществляется без участия компьютера.

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

•   сбор информации о задаче;

•   формулировка условия задачи;

•   определение конечных целей решения задачи;

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

•   описание данных (их типов, диапазонов величин, структуры и т. п.).

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

•   анализ существующих аналогов;

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

•   разработка математической модели;

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

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

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

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

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

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

4. Программирование:

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

•   уточнение способов организации данных;

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

программирования.

5. Тестирование и отладка:

•   синтаксическая отладка;

•   отладка семантики и логической структуры;

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

•   совершенствование программы.

6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5.

7. Сопровождение программы:

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

•   составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию

15) Логическая структура алгоритма

Логическая структура алгоритма в этом случае как бы копирует традиционные действия проектировщика и предусматривает соблюдение многих требований, которые выполняются при "ручном" проектировании. Причем появляется возможность использования также перспективных приемов эвристического программирования (моделирования), подразумевающего программирование логики действий проектировщика, который ищет оптимальный ответ, не зная точного алгоритма решения. На основе существующего опыта архитектурного моделирования можно сформулировать некоторые общие выводы. 1. С помощью кибернетического моделирования в архитектурную деятельность можно ввести частичную автоматизацию творческого процесса, что значительно ускорит достижение цели. 2. Разрабатывая новые, все более совершенные методы количественной оценки произведений архитектуры, постепенно можно формировать основы архитектурного анализа, а затем — более объективной количественной оценки архитектурно-художественных решений произведений. Это будет иметь важное значение как для моделирования произведения, так и для отбора полученных решений. 3. В настоящее время моделируются в основном произведения архитектуры, а не творческий процесс, но, как мы полагаем, познание закономерностей процесса формирования композиционной структуры произведений позволит со временем перейти к моделированию творческого процесса. 4. Применение кибернетических методов в архитектуре как средства, усиливающего процесс мышления, возможно, приведет к способам установления основ и критериев образования гармонических структур с помощью моделирования, с учетом развития архитектуры во времени и пространстве.

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

К основным структурам относятся следующие:

    • линейные

    • разветвляющиеся

    • циклические

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

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

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

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

    Циклическим называется алгоритм, в котором некоторая часть операций (тело цикла — последовательность команд) выполняется многократно. Однако слово «многократно» не значит «до бесконечности». Организация циклов, никогда не приводящая к остановке в выполнении алгоритма, является нарушением требования его результативности — получения результата за конечное число шагов.

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

    • блок проверки условия

    • блок, называемый телом цикла

Существуют три типа циклов:

  • Цикл с предусловием

  • Цикл с постусловием

  • Цикл с параметром (разновидность цикла с предусловием)

    Если тело цикла расположено после проверки условий , то может случиться, что при определенных условиях тело цикла не выполнится ни разу. Такой вариант организации цикла, управляемый предусловием, называетсяциклом c предусловием.

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

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

16) В любом языке программирования программа - это нa6оp понятных компилятору команд. Для создания программ надо знать синтаксис языка, т.е. правила записи команд и использования лексических единиц языка. Знакомство с языком начнем с алфавита.

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

Алфавит языка Pascal состоит из символов кодовой таблицы ASCII (American Standard Code for Information Interchange - Американский типичный код обмена информацией). Каждому такому символу соответствует числовой код от  0 до 255. Часть символов кодовой таблицы ASCII с кодами от 0 до 127 идентична для всех IBM- совместимых компьютеров. Символы алфавита языка Pascal можно разделить на такие категории:

• символы, используемые для составления идентификаторов (малые латинские литеры с кодами ASCII от 97 до 122, большие латинские литеры с кодами ASCII от 65 до 90, десятичные цифры от 0 до 9, с кодами ASCII от 48 до 57, символ подчеркивания (_) с кодом ASCII 95);

• разделяющий символ пробела, код ASCII 32;

• специальные символы, которые используются в процессе построения фразы

 языка (+ - * /=> <.,;:'( ) [ ] { } ^@$#);

• управляющие символы, имеющие ASCII-коды от 0 до 31

.