Разработка алгоритмов различной структуры с помощью программных средств

Автор: Пользователь скрыл имя, 18 Января 2012 в 15:30, курсовая работа

Описание работы

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

Содержание

Введение.......................................................................................................................
Разработка алгоритмов...........................................................................................
Понятие алгоритма и его свойства..................................................................
Виды представления алгоритмов....................................................................
Линейные алгоритмы.......................................................................................
Ветвящиеся алгоритмы....................................................................................
Циклические алгоритмы..................................................................................
Используемые программные средства..................................................................
Pascal..................................................................................................................
Excel...................................................................................................................
Система MathCad..............................................................................................
Решение задач.........................................................................................................
Задание № 1.......................................................................................................
Задание № 2.......................................................................................................
Задание № 3.......................................................................................................
Задание № 4.......................................................................................................
Задание № 5.......................................................................................................
Задание № 6.......................................................................................................
Задание № 7.......................................................................................................
Задание № 8.......................................................................................................
Задание № 9.......................................................................................................
Задание № 10..................................................................................................
Задание № 11..................................................................................................
Задание № 12..................................................................................................
Заключение...................................................................................................................
Список литературы.................................

Работа содержит 1 файл

Курсовая1.docx

— 454.90 Кб (Скачать)

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

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

      

  • 1.2 Виды представления  алгоритмов
  •     Алгоритмы можно представить в разных формах. Различают:

    • Словесное представление алгоритмов.

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

          Словесный способ не имеет широкого распространения  по следующим причинам:  такие  описания строго не формализуемы;  страдают многословностью записей;  допускают  неоднозначность толкования отдельных  предписаний. 
     

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

            В дальнейшем для записи алгоритмов  будем использовать алгоритмический  язык Pascal.

    • Представление алгоритма в виде блок-схемы.

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

    Таблица 1. Основные графические обозначения блоков программ.

          
    Наименование Обозначение Функции
    Процесс
    Выполнение  операции или группы операций, в  результате которых изменяется значение, форма представления или расположение данных
    Вход-выход
    Преобразование  данных в форму, пригодную для  обработки (ввод) или отображения  результатов обработки (вывод)
    Решение
    Выбор направления  выполнения алгоритма в зависимости  от некоторых перемененных условий 
    Предопределенный  процесс
    Использование ранее созданных и отдельно написанных программ (подпрограмм)
    Документ
    Вывод данных на бумажный носитель
    Магнитный диск
    Ввод-вывод данных, носителем которых служит магнитный  диск
    Пуск-останов
    Начало, конец, прерывание процесса обработки данных
    Соединитель
    Указание связи  между прерванными линиями, соединяющими блоки
    Межстраничный соединитель
    Указание связи  между прерванными линиями, соединяющими блоки, расположенные на разных листах
    Комментарий
    Связи между  элементом схемы и пояснениями
     
    • Псевдокод.

          Представляет  собой систему обозначений и  правил, предназначенную для единообразной  записи алгоритмов.

          Он  занимает промежуточное место между  естественным и формальным языками.

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

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

          Примером  псевдокода является школьный алгоритмический  язык в русской нотации (школьный АЯ), описанный в учебнике А.Г. Кушниренко и др. "Основы информатики и вычислительной техники", 1991.

          

  • 1.3 Линейные алгоритмы
  •  

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

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

        - read(список скалярных  переменных);

        - readln(список скалярных  переменных);

        - readln.

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

         По  окончании ввода в буфере клавиатуры останется признак нажатия клавиши Enter. Чтобы его убрать из буфера, в  операторе используется суффикс ln.

         Оператор  ввода readln заставит компьютер ожидать  до тех пор, пока в буфере клавиатуры не появится признак нажатия клавиши Enter.

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

      - write(список  выражений);

      - writeln(список  выражений);

      - writeln .

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

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

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

         Исполняется оператор в два этапа:

         1) вычисляется значение выражения,  записанное справа;

         2) вычисленное значение пересылается  в переменную слева. 

          

  • 1.4 Ветвящиеся алгоритмы
  •  

         Ветвящимся  называется алгоритм, в котором в  зависимости от выполнения некоторого условия выполняется та или иная группа действий. Условие задается логическим выражением и принимает  два значения: false (ложь) или true (истина). В Pascal ветвящиеся алгоритмы записываются с помощью условных операторов. Полный условный оператор записывается так:

                if условие

                then оператор1

                else оператор2.

         Выполняется данный оператор следующим образом: если условие принимает значение «истина», то управление передается на оператор1, если же нет, то на оператор2.

         Компилятор  Паскаля всегда выбирает первый из приведенных вариантов – каждому  else соответствует ближайший предшествующий if. Если требуется реализация второго варианта, можно использовать операторные скобки begin…end. В общем случае, чтобы четко определить, что чему подчинено, используйте begin…end аналогично круглым скобкам в арифметических выражениях.

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

         Структура ветвление существует в четырех  основных вариантах (см. таблицу 2). 
     
     
     
     
     

       Таблица 2. Виды структуры ветвления.

      Школьный  алгоритмический язык Язык блок-схем
      1. если-то
            если условие

            то действия

            Все

      2. если-то-иначе
            если условие

            то действия 1

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

            Все

      3. выбор
            Выбор

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

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

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

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

            Все

      4. выбор-иначе
            Выбор

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

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

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

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

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

            Все

          

  • 1.5 Циклические алгоритмы
  •  

         Циклическим называется такой алгоритм, в котором некоторая группа действий повторяется неоднократно. Группа действий, повторяемая в цикле, называется его телом. Однократное выполнение тела цикла называется шагом.

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

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

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