Блок-схема декомпозиции алгоритма

Под декомпозицией алгоритма понимают разложение его o6щeй алгоритмической схемы на вспомогательные алгоритмы (процедуры и функции) и головной алгоритм. Напомним, такая задача ставится перед студентом при выполнении курсовой или контрольной работы. Одним из условий, которое должно быть обязательно выполнено, является наличие в работе хотя бы одной процедуры или функции (кроме того, работа должна содержать текст описания всех процедур и головного алгоритма). Метод, при помощи которого обычно выполняется декомпозиция, достаточно прост. Сначала вычленяют основные этапы предстоящей работы. Наиболее сложные этапы оформляет в процедуры или функции верхнего уровня. Затем, если необходимо, такие этапы…

Read More

Блок-схема вспомогательного алгоритма

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

Read More

Блок-схема алгоритмов со структурами вложенных циклов

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

Read More

Блок-схема и ее элементы

Блок-схема – это последовательность блоков, предписывающих выполнение определенных операций, и связей между этими блоками. Внутри блоков указывается информация об операциях, подлежащих выполнению. Конфигурация и размеры блоков, а также порядок графического оформления блок-схем регламентированы ГОСТ 19002-80 и ГОСТ 19003-80 «Схемы алгоритмов и программ». В табл. 1 приведены наиболее часто используемые блоки, изображены элементы связей между ними и дано краткое пояснение к ним. Блоки и элементы связей называют элементами блок-схем. Представленных в таблице элементов вполне достаточно для изображения алгоритмов, которые необходимы при выполнении студенческих работ. При соединении блоков следует использовать только вертикальные…

Read More

Домино — Pascal(Паскаль)

Берутся случайных N костяшек из одного набора домино (1<=N<=28). Задача состоит в том, чтобы образовать из этих N костяшек самую длинную цепочку, состыковывая их по правилам домино частями с равным количеством точек.Входные данные: Входной файл с именем «D.IN» содержит информацию о наборе костяшек. 1-я строка — количество костяшек.2-я и последующие строки — парные наборы точек (числа разделены пробелом). В каждой строке записана пара точек, указанной на одной костяшке. Количество пар соответствует числу из первой строки.Выходные данные: результаты работы программы записываются в файл «D.OUT».1-я строка содержит длину максимальной цепочки костяшек.2-я строка…

Read More

Проход по лабиринту — Pascal(Паскаль)

Есть матрица n:m, состоящая из 0 и 1. 1 — это стенка, 0 — проход. Надо найти оптимальный проход из точки is,js (нчаало) в точку ie, je (конец).Входной файл LAB.IN содержит:1-я строка — размер поля2-я строка — координаты начальной позиции (row,col)3-я строка — координаты конечной позиции (row,col)4-я строка и далее — схему лабиринта из 0 и 1 Выходной файл LAB.OUT содержит маршрут прохода (i1:j1 … in:jn):1:102:103:10….

Read More

Бэк-трекинг: Города (А.Н. Никитин) — Pascal(Паскаль)

Широко известна  игра «Города» (А.Н. Никитин). Называется какой-нибудь город, допустим, «Саратов». Кончается на «в», значит требуется назвать другой город, у которого в названии первая буква «в». Это может быть «Воронеж». Следующий город должен начинаться на «ж» и т.д. Запрещено повторять название городов. Надо написать программу, которая из набора названий городов (все названия разные) строит цепочку максимальной длины. Входные данные: файл TOWN.IN в 1-й строке содержит  количество слов в наборе. Начиная  со второй строки (по одному в строке) следуют названия городов (все буквы в названиях — заглавные). Выходные данные: 1-я строка…

Read More