Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Интегрированная инструментальная оболочка языка программирования Турбо Паскаль





ВВЕДЕНИЕ

Данные методические указания к лабораторным работам являются первой частью по курсу "Основы алгоритмизации и программирование". Они имеют цель дать обучающимся основные навыки по поэтапному решению задач на ЭВМ с использованием инструментальной системы программирования: составление алгоритма, составление программы, ввод и отладка программы с получением конечного результата.

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

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

Методические указания предназначены для студентов факультета автоматиза­ции и вычислительной техники, и могут быть использованы студентами других специальностей для выполнения лабораторных работ по курсу "Основы алгоритмизации и программирование".

 

 

Общие положения

Решение задачи на ЭВМ состоит из четырех этапов:

 

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

2. Составление алгоритма.

3. Составление программы.

4. Ввод и отладка программы.

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

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

Блок-схемы представляют собой набор элементов, называемых блоками, соеди­ненных линиями или стрелками. Они отражают последовательность выполнения действий, определяемых каждым блоком. В этом случае выполнение схем алгоритмов строго регламентировано и должно соответствовать международным стандартам.

Линии, указывающие последовательность перехода от блока к блоку, называемые линиями потока, и линии контуров блоков должны иметь одинаковую толщину. Основное направление потока информации идет сверху вниз и слева направо, здесь стрелки на линиях не указывают. В остальных случаях наличие стрелок обязательно.

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

Для представления широкого класса алгоритмов достаточно следующих основных типов блоков.

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

Рис.1.1. Пример блоков Пуск-останов.

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

Рис.1.2. Пример блоков Процесс.

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

Рис.1.3 Пример блоков Ввод-вывод.

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

рис.1.4 Пример блоков Решение.

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

Рис.1.5. Пример блоков Модификация.

6. Если модуль или подпрограмма составлены и описаны отдельно, то используется блок Предопределенный процесс. В нем указывается название подпрограммы или программного модуля.

Рис.1.6. Пример блоков Предопределенный процесс.

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

Рис.1.7. Пример комментария.

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

Рис.1.8. Пример соединителей.

Использование этих блоков позволяет наглядно представить алгоритм вычислений. Всего же ГОСТ 19002-80 и ГОСТ 19003-80 устанавливает для изображения схем алгоритмов и программ 42 символа. Из них 30 обязательных, а 12 рекомендуемых.

В качестве примера приведем блок-схему алгоритма определения максимального элемента из матрицы размером 20x30.

После того, как составлена блок-схема алгоритма, можно писать программу на любом языке программирования, подходящем для данной области. Для научно-технических задач это такие языки, как Паскаль, Фортран, ПЛ/1, Модула-2, Бейсик и другие. В данном курсе используется язык программирования Турбо Паскаль для IBM-совместимых компьютеров.

Рис.1.8. Пример алгоритма.

ЛАБОРАТОРНАЯ работа № 1

Программирование формул

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

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

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

 


Варианты заданий

Номер вари­анта Вычислить выражение При заданных значениях
 
 
 
 
 
 
 
 
 
 
 

 

Номер вари­анта Вычислить выражение При заданных значениях
 
 
 
 
 
 
 
 
 
 
 
 
Номер вари­анта Вычислить выражение При заданных значениях
 
 
 
 
 
 
 

 


ЛабораторнаЯ работа № 2

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

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

Логические выражения состоят из логических констант, переменных и отно­шений, соединенных логическими операциями. В простейших случаях в операторах используют отношения: два выражения, соединенных знаком отношения (<, >, >=, <=, =, <>), например I>20. Но иногда возникают условия, требующие использования более сложных логических выражений.

Пример. На плоскости задана фигура (рис.2.1.): усеченный круг. Вводится точка с координатами X,Y. Определить, принадлежит введенная точка фигуре или нет. В результате выводится: "Введенная точка принадлежит фигуре" или "Введенная точка фигуре не принадлежит".

Рис.2.1.

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

Соответственно изменив знак = на < получим условие вхождения точки в круг c координатами центра (3,3) и радиусом 3:

 

Кроме этого область, занятая треугольником, так же не входит в закрашенную область, то есть полуплоскость над прямой Y= -X+ 7 фигуре не принадлежит. Условия нахождения точки внутри круга и под прямой должны выполняться одновременно. Для этого необходимо использовать логическую операцию AND.

Таким образом логическое выражение

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

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

 

 

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

 

Варианты заданий.

1. 2.

 

3. 4.

 

5. 6.

 

7. 8.

 

9. 10.

 

11. 12.

 

13. 14.

 

15. 16.

 

17. 18.

 

19. 20.

 

21. 22.

 

23. 24.

 

25. 26.

 

27. 28.

 

29. 30.

 


ЛабораторнаЯ работа № 3

Варианты заданий

Номер вари­анта Вычислить сумму Номер вари­анта Вычислить сумму
   
   
   
   
   
   
   
   
   
   

 

 

Номер вари­анта Вычислить сумму Номер вари­анта Вычислить сумму
   
   
   
   
   

ЛабораторнаЯ работа № 4

Варианты заданий

Номер вари­анта Вычислить При Х, равном Точность вычислений
  0,149
  5,99
  3,1
  1,91
  1,42
  0,99
  1,51
  3,48
  7,55
  2,15
  0,81

 

Номер вари­анта Вычислить При Х, равном Точность вычислений
  0,77
  3,95
  1,62
  4,14
  1,24
  3,3
  2,8
  0,95
  4,5
  0,85
  2,4

 

Номер вари­анта Вычислить При Х, равном Точность вычислений
  1,7
  4,2
  2,2
  3,1
   
  8,5
  0,15
  2,9

 


ЛабораторнаЯ работа № 5

Средства вывода. Таблицы

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

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

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

Далее следует обычный циклический процесс с выводом в каждом цикле строки таблицы с рассчитанными значениями величин. Здесь оператор вывода наряду с текстовой информацией (вертикальная черта и пробелы), будет содержать и числовые значения.

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

Пример. Вывести таблицу значений функции с точностью 7 знаков после запятой, причем Х изменяется от 2 до 10 с шагом 1.

Блок-схема алгоритма представлена на рис 5.1, полученный результат на рис.5.2.

Рис.5.1. Блок-схема алгоритма для примера.

- - - - - - - - - - - - - - - - -

I X I S Q R T (X) I

- - - - - - - - - - - - - - - - -

I 2 I 1. 4 1 4 2 1 3 2 I

I 3 I 1. 7 3 2 0 5 0 9 I

I 4 I 2. 0 0 0 0 0 0 0 I

I 5 I 2. 2 3 6 0 6 7 8 I

I 6 I 2. 4 4 9 4 8 9 6 I

I 7 I 2. 6 4 5 7 5 1 0 I

I 8 I 2. 8 2 8 4 2 7 3 I

I 9 I 3. 0 0 0 0 0 0 0 I

I 1 0 I 3. 1 6 2 2 7 7 2 I

- - - - - - - - - - - - - - - - -

Рис.5.2.Распечатка результата счета по программе для вывода таблиц.


Варианты заданий

Номер вари­анта Функции Началь­ное значе­ние х Конеч­ное значе­ние х Шаг измене­ния х
  0,2 1,7 0,1
       
      0,05
       
      0,05
      0,5
      0,5
  0,1   0,1
      0,2
  0,1   0,05
  0,1   0,1
  0,05   0,05
  0,05   0,05
      0,05
      0,5

 

Номер вари­анта Функции Началь­ное значе­ние х Конеч­ное значе­ние х Шаг измене­ния х
      0,05
  -1   0,1
  -2   0,2
       
      0,2
      0,05
      0,05
  0,1   0,05
      0,1
      0,1
  0,1 1,5 0,1
      0,1
  0,5   0,25
      0,5
  1,05   0,05

ЛабораторнаЯ работа № 6

Двойные и кратные циклы

Целью работы является освоение программирования алгоритмов с двумя вложенными циклами.

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

Пример: вычислить с точностью до 0.001.

Здесь внешней суммой является сумма по i, а внутренней сумма по j. Можно рассматривать вычисление этих сумм отдельно, учитывая что вычисление внутренней суммы является частью вычисления внешней суммы, то есть телом внешнего цикла.

Рис.6.1. Укрупненная блок-схема алгоритма вычисления двойной суммы.

Варианты заданий

Номер вари­анта Вычислить Точность вычислений
 
 
 
 
 
 
 
 
 
 
Номер вари­анта Вычислить Точность вычислений
 
 
 
 
 
 
 
 
 
 

 

Номер вари­анта Вычислить Точность вычислений
 
 
 
 
 
 
 
 
 
 

 


ЛабораторнаЯ работа № 7

Варианты заданий

Номер вари­анта Функции Началь­ное значе­ние х Конеч­ное значе­ние х Шаг измене­ния х
       
  0,05   0,05
      0,2
       
      0,05
  0,6 1,5 0,05
      0,05
      0,5
  0,2   0,2
  0,1   0,1
  1,05   0,05
  0,1   0,05
  0,2   0,1
  0,5   0,25
  0,05   0,05

 

Номер вари­анта Функции Началь­ное значе­ние х Конеч­ное значе­ние х Шаг измене­ния х
  0,05   0,05
  Прокрутить вверх





ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.