|
|||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Краткие теоретические сведения. Лабораторная работа №1 Разработка алгоритмовЛабораторная работа №1 Разработка алгоритмов Цель работы: Составление алгоритма на естественном языке и в виде блок-схем для поставленной задачи.
Краткие теоретические сведения Структуры данных и алгоритмы служат теми материалами, из которых строятся программы. Встроенные структуры данных представлены теми регистрами и словами памяти, где хранятся двоичные величины. Заложенные в конструкцию аппаратуры алгоритмы - это воплощенные в электронных логических цепях жесткие правила, по которым занесенные в память данные интерпретируются как команды, подлежащие исполнению. Программирование – это не только автоматизация умственной деятельности, но и предмет научного изучения. Процесс создания программы для решения какой-либо практической задачи состоит из нескольких этапов: 1. Постановка задачи (создание технического задания на исходную задачу); 2. Формализация (математическая постановка задачи); 3. Выбор (или разработка) метода решения; 4. Разработка алгоритма (алгоритмизация); 5. Составление программы (программирование); 6. Тестирование и отладка программы; 7. Вычисление и обработка результатов и документирование программы; Процесс программирования может быть схематически представлен следующим образом:
На первом этапе создается модель исходной задачи, для чего привлекаются соответствующие математические модели (такие, например, как теория графов). На следующем этапе алгоритм записывается на псевдоязыке – композиции (смеси) конструкций языка Паскаль и менее формальных и обобщенных операторов на простом человеческом языке. Продолжением этого этапа является замена неформальных операторов. Третий этап процесса программирования обеспечивает реализацию каждого абстрактного типа данных и создание процедур для выполнения различных операторов над данными этих типов. На этом этапе также заменяются все неформальные операторы псевдоязыка на код языка Паскаль. Результатом этапа должна быть выполняемая программа. Алгоритмом называется четкое описание последовательности действий, которое необходимо выполнить для решения задачи. Этап, в результате которого получен алгоритм решения задачи, носит название алгоритмизация. В широком смысле это понятие включает в себя выбор метода решения задачи, формы представления исходных данных с учетом специфики ЭВМ. Алгоритм может быть представлен следующими способами: -на естественном языке; -в виде блок-схемы; -на специальном языке для записи алгоритмов (алгоритмическом языке). Запись алгоритма на естественном языке не требует детальных разъяснений и полной формализации. Например, алгоритм решения квадратного уравнения ax2 + bx + c =0 в данном случае будет иметь вид: 1. Задаться значениями переменных a, b, c. 2. Вычислить D = b2 – 4ac. 3. Сравнить D с нулем. Если D<0, то необходимо перейти к пункту 4. В противном случае вычислить
и .
4. Выдать результат расчета. 5. Закончить вычисления. Разработка алгоритмов в виде блок-схем
Основные структуры алгоритмов это ограниченный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий. К основным структурам относятся: 1. Следование. Последовательное размещение блоков и групп блоков. В программе реализуется последовательным размещением операторов. 2. Цикл До (рис.1.1). Применяется при необходимости выполнить какие-либо вычисления несколько раз до выполнения некоторого условия. Особенность этого цикла в том, что он всегда выполняется хотя бы один раз, т.к. первая проверка условия выхода из цикла происходит после того, как тело цикла выполнено. Тело цикла это последовательность действий, которая выполняется многократно (в цикле). Начальные присваивания - это задание начальных значений переменным, которые используются в теле цикла. На естественном языке циклу До соответствует последовательность операторов: 1. Операторы начальных присваиваний. 2. Операторы тела циклов. 3. Если условие не выполняется идти к 2, иначе – идти к 4. 4. Выход. 3.Цикл Пока. Цикл Пока отличается от цикла До тем, что проверка условия проводится (рисунок 1.2) до выполнения тела цикла. При истинности условия выполняется оператор или группа операторов (тело цикла), в противном случае тело цикла не выполнится ни разу. На естественном языке циклу Пока соответствует последовательность операторов: 1. Операторы начальных присваиваний. 2. Если условие выполняется идти к 3, иначе – идти к 4. 3. Операторы тела цикла. 4. Выход. 4. Разветвление. Применяется когда в зависимости от условия нужно выполнить либо одно, либо другое действие (рисунок 1.3). Действие 1 или действие 2 могут в свою очередь содержать несколько этапов. На естественном языке разветвлению соответствует последовательность операторов:
1.Если условие выполняется идти к 4. 2. Выполняются операторы действия 1. 3. Идти к 5. 4. Выполняются операторы действия 2. 5. Выход. 5. Обход. Частный случай разветвления, когда одна ветвь не содержит никаких действий (рисунок 1.4). На естественном языке обходу соответствует последовательность операторов: 1.Если условие выполняется идти к 3. 2. Выполняются операторы действия. 3. Выход. 6. Множественный выбор. Является обобщением разветвления, когда в зависимости от значения переменной (I) выполняется одно из нескольких действий. Например, при I=1 выполняется действие S1, при I=2 – S2 и т.д. (рисунок 1.5). Особенностью всех приведенных структур является то, что они имеют один вход и один выход, и их можно соединять друг с другом в любой последовательности. В частности, каждая структура может содержать любую другую структуру в качестве одного из блоков.
Как правило, при составлении схемы блоки размещаются друг под другом в порядке их выполнения. Возврат назад осуществляется только в циклах. Это дает простую и наглядную структуру алгоритма, по которой далее несложно составить программу на алгоритмическом языке. В некоторых случаях стремление, во что бы то ни было, остаться в рамках структурного подхода приводит к необоснованному усложнению программы и потере ее наглядности и естественности. Поскольку, структурное программирование имеет целью не подчинить программы каким-либо правилам, а сделать их более удобными для восприятия, то иногда оказывается целесообразным отдать предпочтение ясности и естественности программы. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.008 сек.) |