Перенос блок-схемы на следующую страницу

Введение

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

Как правильно произвести перенос блок-схемы алгоритма на другую страницу

Если вы совсем новичок в сфере визуализации различных диаграмм, то рекомендую вам в первую очередь ознакомиться с тем, что такое блок-схема, а также «под микроскопом» рассмотреть фундаментальные элементы блок-схем.

Давайте рассмотрим следующую задачу.
Дан целочисленный массив, состоящий из 10 элементов. Значениями элементов массива являются случайно сгенерированные числа от -20 до +30.
Необходимо:

  1. Заполнить массив случайными числами и вывести его на экран пользователя.

  2. Найти минимальный и максимальный элемент массива и вывести найденные значения на экран.

  3. Найденный минимальный элемент поменять с последним элементом массива, а найденный максимальный элемент поменять с первым элементом массива.

  4. Вывести преобразованный массив на дисплей пользователя.

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

Приведем код программы на языке программирования Pascal, а также детальное комментирование практически каждой строки кода.

{заголовок программы}
program Example;
{раздел объявления констант}
const
{данная константа отвечает за количество элементов в массиве}
    N = 10;
{раздел объявления переменных}
var
    v    : array[1..N] of integer;      {одномерный целочисленный массив}
    i    : integer;                     {переменная типа счетчик циклов}
    imin : integer;                     {хранит индекс минимального элемента}
    imax : integer;                     {хранит индекс максимального элемента}
    tmp  : integer;                     {временная переменная для обмена двух значений}
{начало главного блока программы}
begin
{диалог пользователю о выводе значений элемента массива на экран}
    write('Исходный массив имеет вид: ');
{цикл, в котором просматриваются все элементы массива от 1 до 10}
    for i := 1 to N do
    begin
        v[i] := -20 + random(51);       {генерируем случайное число от -20 до +30}
        write(v[i]:4);                  {вывод на экран значения элемента массива с шириной в 4 знака}
    end;
{делаем предположение, что самый первый элемент массива является минимальным}    
    imin := 1;
{делаем предположение, что самый первый элемент массива является максимальным}        
    imax := 1;
{циклически просматриваем все элементы массива, начиная со второго}    
    for i := 2 to N do
    begin
{если текущий элемент меньше минимального, то}    
        if(v[i] < v[imin]) then
            imin := i;                  {запоминаем новый минимальный элемент}
{если текущий элемент больше максимального, то}            
        if(v[i] > v[imax]) then
            imax := i;                  {запоминаем новый максимальный элемент}
    end;
    writeln;                            {вставка пустой строки для повышения читабельности}
{выводим на экран минимальный и максимальный элемент массива}    
    writeln('Минимальный элемент массива [', imin, '] = ', v[imin]);
    writeln('Максимальный элемент массива [', imax, '] = ', v[imax]);
{меняем местами последний элемент массива и только что найденный минимальный элемент}    
    tmp := v[N];
    v[N] := v[imin];
    v[imin] := tmp;
{меняем местами первый элемент массива и только что найденный максимальный элемент}        
    tmp := v[1];
    v[1] := v[imax];
    v[imax] := tmp;
{вставка пустой строки для повышения читабельности}    
    writeln;
{диалог пользователю о предстоящем выводе}
    write('Преобразованный массив имеет вид: ');
{циклически просматриваем все элементы массива}    
    for i := 1 to N do
        write(v[i]:4);                  {печатаем на экран текущее значение элемента массива}
end.                                    {официальный конец программы}

Как видите, получилась программа средней степени «тяжести», состоящая из 57 строк кода. Давайте изобразим блок-схему решеной задачи. Да, я понимаю, что блок-схема создается до написания кода, но в данном случае код программы у нас уже написан, готов.

В процессе создания блок-схемы становится очевидно, что на один лист документа MS Word данная блок-схема не поместится! Что делать? Выход есть – использовать специальный элемент блок-схемы, который позволяет «рвать» блок-схему на составные части. Данный блок называется блоком-соединителем. В начале данной публикации я давал ссылку на статью, описывающую ключевые элементы блок-схем.

Первая часть блок-схемы

Первая часть блок-схемы

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

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

Вторая часть блок-схемы

Вторая часть блок-схемы

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

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

 
 
 
 
Авторизация на сайте
 
 
 
Обнаружили
ошибку на сайте?
Занятия по информатике