14724

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

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

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

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

Русский

2013-06-09

76 KB

25 чел.

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

Цель работы

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

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

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

  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

да


 

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

79920. КЛАССНЫЙ ЧАС ДЛЯ СТАРШЕКЛАССНИКОВ: «СЕМЬЯ — КЛЮЧ К СЧАСТЬЮ» 36.5 KB
  А что же должно быть между двумя молодыми людьми чтобы они захотели создать семью Правильно любовь А что же такое любовь Лично для меня любовь это любовь к моим родителям их я люблю дочерней любовью. Это любовь к моим детям их я люблю материнской любовью. Это любовь к моему мужу его я люблю женской любовью.
79921. Вивчення проблеми сенсу буття та призначення людини на Землі за творами Річарда Баха «Чайка Джонатан Лівінгстон» та Пауло Коельо «Алхімік» 185.5 KB
  Ніколи людині не було байдужим питання про сутність її призначення, місію на Землі. Пошук істини виправдовував зміст життя, приводив до відкриттів, які окриляли, запевняли: не дарма, не дарма... Складався досвід, життєстверджуючий, ґрунтовний. Здавалось би, повтори, доповни своїм.
79922. Гра «Щасливий випадок» 46 KB
  Мета: Показати учням красу та багатство української мови, викликати навички бажання вивчати її, збагачувати її, збагачувати свій словниковий запас; розвивати навички виразного читання, усне мовлення учнів, кмітливість. Виховувати любов і повагу до своєї Батьківщини, свого народу, рідної мови
79923. Початкова школо, прощавай! 60 KB
  Свято відбувається у шкільній залі. Учні четвертих класів вишикувались біля актової зали. Звучить запис фанфар. На середину зали вибігають глашатаї: 1-й глашатай: Слухайте! Слухайте! 2-й глашатай: І не кажіть, що ви не чули! 1-й глашатай: І не кажіть, що ви не бачили!
79924. Обряд щедрування «Маланка та Василь» 57 KB
  Ознайомити школярів з культурною спадщиною рідного краю, традиціями, звичками, обрядами. Формувати пізнавальний інтерес учнів. Сприяти розвиткові творчих здібностей дітей, бажанню примножувати родинні традиції. Виховувати любов до народної творчості, прагнення вивчати й зберігати народні скарби...
79926. Ток-шоу «Твоє життя – твій вибір» 70 KB
  Ведуча Вітаю всіх присутніх і зацікавлених в проблемі що обговорюватиметься сьогодні. В зеленому секторі – їхні опоненти які вважають що алкоголь тютюн і наркотики неприємлимі в будьякій кількості за будьяких обставин ведуча представляє учасників та проблеми над якими вони працювали.
79927. Тренинг личностного роста «Я – реальный» и «Я - идеальный» 56 KB
  Цель. Помочь участникам тренинга лучше узнать себя, осознать важность позитивного принятия своего «Я», свои сильные стороны, способствовать развитию чувства собственного достоинства, умений и навыков делать самоанализ, преодолевать психологические барьеры, мешающие полноценному самовыражению.
79928. Славу человеку создает труд 44 KB
  Дом не построить без топора. Стену не покрасить без кисти. Дорогу в заснеженной тайге не проложить без могучего бульдозера. И всё-таки не одно дело не обходиться без умелых и крепких рабочих рук. Игла лишь тогда заскользит по шитью, когда она в руках мастерицы.