14724

Схемы алгоритмов

Лабораторная работа

Информатика, кибернетика и программирование

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

Русский

2013-06-09

76 KB

24 чел.

Контрольная работа. Схемы алгоритмов

Цель работы

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

Содержание отчета

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

  1.  Титульный лист.
  2.  Цель работы.
  3.  Текст задания (Вариант задания соответствует порядковому номеру по списку группы).
  4.  Решение задачи, представленное с помощью схемы.
  5.  Выводы.

Теоретические сведения

Для спецификации процессов используют различные средства, в том числе граф-схемы (блок-схемы или просто схемы) алгоритмов, каждая из которых представляет собой граф. Элементарный граф дополнен надстройкой, которая задает вычисления, каждому из которых соответствует путь в этом графе и последовательность меток узлов, лежащих на этом пути. Узлы графа, с помощью введения типизации, интерпретируются как действия, а дуги задают порядок передачи управления. Для каждого алгоритма существует одна начальная дуга и одна или множество конечных.  представлены типы узлов граф-схемы алгоритма в соответствии с ГОСТ 19.701-90 «Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения».

Таблица .

Символ

название

интерпретация

данные

данные, носитель данных неопределен

процесс

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

предопределенный процесс

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

Подготовка

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

Решение

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

граница цикла

начало и конец цикла; обе части имеют один и тот же идентификатор; условия инициализации, приращения, завершения, и т.д. помещаются внутри символа в начале или в конце в зависимости от расположения операции, проверяющей условие

соединитель

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

терминатор

выход во внешнюю среду и вход из внешней среды (начало и конец программы)

линия

поток данных или управления; для направлений справа-налево и снизу-вверх добавляются стрелки

пунктирная линия

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

комментарий

пояснительные записи и примечания

пропуск

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

Приведем основные свойства граф-схем.

  1.  Графическое представление.
  2.  Поддержка описания управляющей части алгоритма.
  3.  Возможность реализации синтаксического контроля.
  4.  Возможность проверки управляющей части алгоритма.
  5.  Отсутствие возможности верификации информационной части.

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

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

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

В состав языка входят следующие основные символы:

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

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

Пример представления алгоритма с помощью схемы

Текст задания

Пусть необходимо определить k – количество трехзначных натуральных чисел, сумма цифр которых равна n (1 <= n <= 27 ). При этом операции деления ( /, div, mod ) не использовать.

Решение

Организуем три цикла – по одному на каждую из цифр числа. Задача – перебрать все возможные комбинации из трех цифр. Каждая цифра может принимать значение от 0 до 9 – ти, что позволяет в качестве управляющих конструкций для организации трех итерационных процессов воспользоваться циклом с параметром. Будем складывать счетчики этих циклов и сравнивать с заранее введенным n. В случае равенства, будем инкриминировать счетчик k – количества трехзначных чисел. На  изображена граф-схема алгоритма данной задачи.

Рис. . Граф-схема алгоритма.

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

  1.  Дан текст из 80 литер. Вывести сначала все цифры, входящие в него, а затем все остальные литеры, сохраняя при этом взаимное расположение литер в каждой из этих двух групп.
  2.  Даны две последовательности по 30 целых чисел в каждой. Найти наименьшее среди тех чисел первой последовательности, которые не входят во вторую последовательность (считая, что хотя бы одно такое число есть).
  3.  Дана непустая последовательность слов из строчных латинских букв; между соседними словами - запятая, за последним словом - точка. Вывести все буквы, которые входят в наибольшее количество слов этой последовательности.
  4.  Напечатать заданный текст из 100 литер, удалив из него повторные вхождения каждой литеры.
  5.  Определить, сколько различных литер входит в заданный текст, содержащий более 100 литер и оканчивающийся точкой (сама точка в текст не входит).
  6.  Дан текст из строчных латинских букв, за которым следует точка. Вывести в алфавитном порядке все буквы, которые входят в этот текст по одному разу.
  7.  Дан непустой текст из цифр, за которыми следует точка. Напечатать цифру, наиболее часто встречающуюся в этом тексте.
  8.  Дано 100 вещественных чисел. Распечатать их в обратном порядке по 6 чисел в строке.
  9.  Дан текст, содержащий от 1 до 70 букв, за которым следует точка. Вывести текст в обратном порядке.
  10.  Дан текст из 80 литер. Определить, симметричен ли он, т.е. читается ли он одинаково слева направо и справа налево.
  11.  Дана последовательность из 100 различных целых чисел. Найти сумму чисел этой последовательности, расположенных между максимальным и минимальным числами (в сумму включить оба этих числа).
  12.  Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят хотя бы в одно слово.
  13.  Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все глухие согласные буквы, которые входят в каждое нечетное слово, и не входят хотя бы в одно четное слово.
  14.  Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все согласные буквы, которые входят только в одно слово.
  15.  Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят хотя бы в одно слово.
  16.  Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят только в одно слово.
  17.  Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят более чем в одно слово.
  18.  Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят в каждое нечетное слово, и не входят ни в одно четное слово.
  19.  Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все гласные буквы, которые не входят более чем в одно слово.
  20.  Дан текст, за которым следует точка. В алфавитном порядке вывести (по разу) все строчные русские гласные буквы, входящие в этот текст.
  21.  Дан текст из строчных латинских букв, за которым следует точка. Вывести все буквы, входящие в текст не менее двух раз.
  22.  Дан текст из строчных латинских букв, за которым следует точка. Вывести все буквы, входящие в текст по одному разу.
  23.  Дан текст из цифр и строчных латинских букв, за которым следует точка. Определить, каких букв – гласных (a, e, i, o, u) или согласных – больше в этом тексте.
  24.  Описать функцию count( s ), подсчитывающую общее количество цифр, входящих в строку s.
  25.  Имеется текстовый файл, разбитый на строки. Вывести первую из самых коротких его строк.
  26.  В 1-ом текстовом файле записана последовательность целых чисел, разделенных пробелами. Записать все положительные числа из этой последовательности во 2-ой текстовый файл.
  27.  В 1-ом текстовом файле записана последовательность целых чисел, разделенных пробелами. Записать квадраты чисел этой последовательности во 2-ой текстовый файл.
  28.  Вывести картинку, изображающую умножение «столбиков» двух заданных натуральных чисел.
  29.  Дана непустая последовательность слов, содержащих от 1 до 8 букв; между соседними словами – запятая, за последним словом – точка. Вывести все слова, отличные от последнего слова.
  30.  Дана непустая последовательность слов, содержащих от 1 до 8 букв; между соседними словами – запятая, за последним словом – точка. Вывести все слова, наименьшей длины.


[

начало

конец

введите N

K

K:= 0

K:= K + 1

A1

Digit1= 1, 9

A2

Digit2= 0, 9

A3

Digit3= 0, 9

Digit1 + Digit2 + Digit3= N

A1

A2

3

да


 

А также другие работы, которые могут Вас заинтересовать

41346. Произвести градуировку термопары медь – константан 126 KB
  Для точного определения напряжения на краях необходимо скомпенсировать напряжение поданное с элемента Вестона на и . При этом напряжение от источника питания будет поделено таким образом что напряжение на будет равно напряжению от элемента Вестона что позволит рассчитать напряжение на . = 1156 ом = 600 ом Рассчет : Длина L =100мм тогда при положении ползунка в точке l снимаемое напряжение будет равно: Вычисление э.
41347. Определение коэффициента поверхностного натяжения жидкости 418 KB
  Измерив кпв двумя методами можно сказать,что значения кпв водных растворов спирта соответственно совпали, с точностью до погрешности. Большое значение погрешности объясняется низкой точностью измерений, особенно в определении разности.
41349. Исследование дросселя. Феррорезонанс 418.85 KB
  Цель работы: экспериментально исследовать поведение катушки с железом в качестве дросселя изучить явление феррорезонанса и работу простейших феррорезонансных стабилизаторов напряжения.