90922

Графічне представлення алгоритмів за допомогою блок-схем

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

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

Алгоритм - це точна кінцева система правил, яка визначає зміст і порядок дій виконавця над деякими обєктами (вихідними і проміжними даними) для отримання після кінцевого числа кроків шуканого результату.

Украинкский

2015-07-10

189.79 KB

8 чел.

Лабораторна робота 1

Тема: Графічне представлення алгоритмів за допомогою блок-схем.

Мета: Ознайомитися з поняттям алгоритму, навчитися складати алгоритми та представляти їх у вигляді блок-схем.

  1.  Теоретичні відомості

Розв’язання будь-якої задачі на ЕОМ можна розбити на наступні етапи:

1. розробка алгоритму розв'язання задачі,

  1.  складання програми розв'язання задачі на алгоритмічній мові,
  2.  введення програми в ЕОМ,
  3.  налагодження програми (виправлення помилок),
  4.  виконання програми на ПК,
  5.  аналіз отриманих результатів.

Перший етап рішення задачі полягає в розробці алгоритму.

Алгоритм - це точна кінцева система правил, яка визначає зміст і порядок дій виконавця над деякими об'єктами (вихідними і проміжними даними) для отримання після кінцевого числа кроків шуканого результату.

Алгоритм може бути описаний одним з трьох способів:

  1.  словесним (приклад на початку розділу);
  2.  графічним (вигляді спеціальної блок-схеми);
  3.  за допомогою спеціальних мов програмування.

Блок-схема - поширений тип схем, що описує алгоритми або процеси, зображуючи кроки у вигляді блоків різної форми, з'єднаних між собою стрілками.

Поняття алгоритму в програмуванні є фундаментальним. Для алгоритму важливий не тільки набір певних дій, але і те, як вони організовані, тобто в якому порядку вони виконуються. Це одна із загальних властивостей алгоритму. Інша загальна властивість алгоритму полягає в тому, що кожна наступна дія виконується лише після завершення попередньої.

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

Рисунок 1 – Блок-схема алгоритму

Властивості алгоритму

При складанні і запису алгоритму необхідно забезпечити, щоб він мав ряд властивостей. Розглянемо ці властивості на наступному прикладі: нехай потрібно обчислити суму двох цілих чисел і вивести на екран результат.

Однозначність алгоритму, під якою розуміється одиничність тлумачення виконавцем правил виконання дій та порядку їх виконання. Щоб алгоритм володів цією властивістю, він повинен бути записаний командами з системи команд виконавця.

Для нашого прикладу виконавець алгоритму повинен розуміти такий запис дій, як додати числа А і В.

Скінченність алгоритму - обов'язковість завершення кожної складової дії  алгоритму, і завершуваність виконання алгоритму в цілому, тобто алгоритм повинен закінчуватися після кінцевого числа кроків.

Результативність алгоритму, передбачає, що виконання алгоритму має завершитися отриманням певних результатів. Алгоритм в нашому прикладі володіє цією властивістю, так як для цілих чисел А і В завжди буде обчислена сума.

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

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

Визначеність алгоритму. Кожен крок алгоритму повинен бути визначений.

Вхідні дані алгоритму. Алгоритм повинен мати деяке (може бути рівне 0) число вхідних даних.

Вихідні дані алгоритму. Результатом виконання алгоритму повинна бути одна або кілька вихідних величин, що залежать від вхідних даних.

Ефективність алгоритму. Алгоритм повинен бути ефективним, тобто результат повинен бути отриманий найменшим числом найпростіших операцій.

Типи обчислювальних процесів

Обчислювальні процеси можуть бути: лінійні, такі що розгалужуються і циклічні.

Лінійний алгоритм - це алгоритм, в якому всі його дії виконуються одна за одною, тобто послідовно.

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

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

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

Рисунок 2 – Типи обчислювальних процесів

Блок-схеми алгоритмів

Блок схема - це графічне представлення алгоритму за допомогою стандартних позначень. Блок схеми складаються відповідно до ГОСТами. ГОСТи алгоритмів: ГОСТ 19.002-80, ГОСТ 19.003-80. На схемах алгоритмів виконувані дії зображуються у вигляді окремих блоків, які з'єднуються між собою лініями зв'язку у порядку виконання дій. На лініях зв'язку можуть ставитися стрілки, причому, якщо напрямок зв'язку зліва направо або зверху вниз, то стрілки не ставляться. Блоки нумеруються. Усередині блоку дається інформація про виконувані дії.

Таблиця 1 - Основні елементи, використовувані при складанні алгоритмів

Найменування

Позначення

Функція

Термінатор

Елемент відображає вхід із зовнішнього середовища або вихід з нього (найчастіше застосування - початок і кінець програми). Всередині фігури записується відповідна дія.

Процес

Виконання однієї або кількох операцій, обробка даних будь-якого виду (зміна значення даних, форми подання, розташування). Всередині фігури записують безпосередньо самі операції.

Рішення

Показує рішення або функцію перемикального типу з одним входом і двома або більше альтернативними виходами, з яких тільки один може бути обраний після обчислення умов, визначених всередині цього елементу. Вхід в елемент позначається лінією, що входить зазвичай у верхню вершину елементу. Якщо виходів два чи три то зазвичай кожен вихід позначається лінією, що виходить з решти вершин (бічних і нижньої). Якщо виходів більше трьох, то їх слід показувати однією лінією, що виходить з вершини (найчастіше нижньої) елемента, яка потім розгалужується. Відповідні результати обчислень можуть записуватися поруч з лініями, що відображають ці шляхи.

Зумовлений процес

Символ відображає виконання процесу, що складається з однієї або кількох операцій, що визначені в іншому місці програми (у підпрограмі, модулі). Всередині символу записується назва процесу і передані в нього дані.

Дані

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

Межа циклу

Символ складається з двох частин - відповідно, початок і кінець циклу - операції, що виконуються всередині циклу, розміщуються між ними. Умови циклу і збільшення записуються всередині символу початку або кінця циклу - в залежності від типу організації циклу. Часто для зображення на блок-схемі циклу замість цього символу використовують символ рішення, вказуючи в ньому умову, а одну з ліній виходу замикають вище в блок-схемі (перед операціями циклу).

З'єднувач

Символ відображає вихід в частину схеми і вхід з іншої частини цієї схеми. Використовується для обриву лінії та продовження її в іншому місці (приклад: поділ блок-схеми, що не поміщається на листі). Відповідні сполучні символи повинні мати одне (при тому унікальне) позначення.

Коментар

Використовується для детальнішої інформації про кроки, процесу або групи процесів. Опис поміщається з боку квадратної дужки і охоплюється нею по всій висоті. Пунктирна лінія йде до описуваного елементу, або групи елементів (при цьому група виділяється замкнутою пунктирною лінією). Також символ коментаря слід використовувати в тих випадках, коли обсяг тексту в будь-якому іншому символі (наприклад, символ процесу, символ даних та ін) перевищує його обсяг.

Приклади складання блок-схеми алгоритму

Приклад 1. Лінійний алгоритм

Визначити площу трапеції за введеними значеннями основ a,b і висоти h.

Складемо алгоритм:

  1.  Початок
  2.  Ввести значення a,b,h
  3.  Обчислити площу трапеції S
  4.  Вивести обчислену площу S
  5.  Кінець

Зобразимо алгоритм у вигляді блок-схеми:

Рисунок 3 – Блок-схема лінійного алгоритму

Приклад 2. Алгоритм розгалуження

Визначити середнє арифметичне двох чисел a та b, якщо a додатнє і добуток чисел a та b, якщо a – від’ємне.

Складемо алгоритм:

  1.  Початок
  2.  Ввести числа а та b
  3.  Перевірити чи додатнє число а
  4.  Обчислити c =
  5.  Вивести результат c
  6.  Кінець

Зобразимо алгоритм у вигляді блок-схеми:

Рисунок 4 – Блок-схема алгоритму розгалуження

Приклад 3. Циклічний алгоритм

Визначити суму цілих чисел у діапазоні від 1 до 10.

Складемо алгоритм:

  1.  Початок
  2.  Встановити початкову суму S = 0
  3.  Початок циклу B з умовою i = 1(1)10, де

1початок,

  1.  крок,

10 – крайня межа

  1.  Кінець циклу B
  2.  Вивести S

6. Кінець

Зобразимо алгоритм у вигляді блок-схеми:

Рисунок 5 – Блок-схема циклічного алгоритму

2. Структура звіту лабораторної роботи.

  1.  Титульна сторінка.
  2.  Блок-схема алгоритму згідно варіанту.
  3.  Відповіді на контрольні запитання.
  4.  Висновки.

3. Контрольні запитання

  1.  На які етапи можна розбити процес розв’язання задачі на ЕОМ?
  2.  Що таке алгоритм?
  3.  Якими способами можна описати алгоритм?
  4.  Які є основні властивості алгоритмів?
  5.  Що розуміється під однозначністю алгоритму?
  6.  Що таке блок-схема?
  7.  Які існують типи обчислювальних процесів?
  8.  Що являє собою лінійний алгоритм?
  9.  Що являє собою алгоритм розгалуження?
  10.   Що являють собою циклічні алгоритми?
  11.   Як графічно зображаються лінійні обчислювальні процеси?
  12.   Як графічно зображаються розгалужені обчислювальні процеси?
  13.   Як графічно зображаються циклічні обчислювальні процеси?

4. Варіанти індивідуальних завдань

Користуючись засобами програми Microsoft Office Visio побудувувати просту блок-схему на основі заданого алгоритму та відповісти на контрольні питання згідно варіанту.

Варіант

Завдання (алгоритм для блок-схеми та контрольні питання)

1

Алгоритм знаходження середнього арифметичного чисел a,b,c.

Дати відповіді на контрольні питання 1, 13.

2

Алгоритм знаходження площі паралелограма.

Дати відповіді на контрольні питання 2, 12.

3

Алгоритм знаходження об’єму прямокутного паралелепіпеда.

Дати відповіді на контрольні питання 3, 11.

4

Алгоритм знаходження суми цілих чисел від 1 до 5.

Дати відповіді на контрольні питання 4, 10.

5

Алгоритм знаходження площі круга.

Дати відповіді на контрольні питання 5, 9.

6

Алгоритм знаходження середнього арифметичного чисел с,d,e.

Дати відповіді на контрольні питання 6, 8.

7

Алгоритм знаходження суми цілих чисел від 2 до 7.

Дати відповіді на контрольні питання 7, 5.

8

Алгоритм знаходження об’єму кулі.

Дати відповіді на контрольні питання 8, 4.

9

Алгоритм суми чисел a та b при a > 5 або різниці, якщо a < 5.

Дати відповіді на контрольні питання 9, 3.

10

Алгоритм знаходження об’єму куба.

Дати відповіді на контрольні питання 10, 2.

11

Алгоритм знаходження суми цілих чисел від 5 до 8.

Дати відповіді на контрольні питання 11, 1.

12

Алгоритм знаходження середнього арифметичного чисел f,g,h.

Дати відповіді на контрольні питання 12, 2.

13

Алгоритм добутку чисел a та b при b < 0 або частки, якщо b > 0.

Дати відповіді на контрольні питання 13, 3.


 

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

24990. Фотоэффект и его законы. Уравнение Эйнштейна для фотоэффекта и постоянная Планка. Применение фотоэффекта в технике 28.5 KB
  Уравнение Эйнштейна для фотоэффекта и постоянная Планка. Применение фотоэффекта в технике Плав ответа 1. Законы фотоэффекта. Применение фотоэффекта.
24991. Состав ядра атома. Изотопы. Энергия связи ядра атома. Цепная ядерная реакция, условия ее осуществления. Термоядерные реакции 26 KB
  Энергия связи ядра атома. Состав ядра атома. Энергия связи атомного ядра.
24992. Механическое движение Относительность движения, Система отсчета, Материальная точка, Траектория. Путь и перемещение. Мгновенная скорость. Ускорение. Равномерное и равноускоренное движение 33 KB
  Мгновенная скорость. Скорость векторная физическая величина характеризующая быстроту перемещения тела численно равная отношению перемещения за малый промежуток времени к величине этого промежутка. Промежуток времени считается достаточно малым если скорость в течении этого промежутка не менялась. Измеряют скорость спидометром.
24993. Взаимодействие тел. Сила. Второй закон Ньютона 39 KB
  Сила. Сила. В простейших случаях взаимодействия количественной характеристикой является сила. Сила причина ускорения тел по отношению к инерциальной системе отсчета или их деформации.
24994. Импульс тела. Закон сохранения импульса в природе и технике 137.5 KB
  Импульс тела. Простые наблюдения и опыты доказывают что покой и движение относительны скорость тела зависит от выбора системы отсчета; по второму закону Ньютона независимо от того находилось ли тело в покое или двигалось изменение скорости его движения может происходить только при действии силы т. в результате взаимодействия с другими телами.
24995. Закон всемирного тяготения. Сила тяжести. Вес тела. Невесомость 52.5 KB
  Вес тела. Вес тела перегрузки. Исаак Ньютон выдвинул предположение что между любыми телами в природе существуют силы взаимного притяжения. гравитационная постоянная равна силе с которой притягиваются два тела по 1 кг на расстоянии 1 м.
24996. Превращение энергии при механических колебаниях. Свободные и вынужденные колебания. Резонанс 38.5 KB
  Свободные и вынужденные колебания. Свободные колебания. Вынужденные колебания.
24997. Основные этапы становления информационного общества. Информационные ресурсы государства, их структура. Образовательные информационные ресурсы 75.5 KB
  Информационные ресурсы государства их структура. Образовательные информационные ресурсы. Развитие новых информационных технологий и их быстрое проникновение во все сферы жизни породило новое направление в современной информатике социальная информатика включающее в себя следующую проблематику: информационные ресурсы как фактор социальноэкономического и культурного развития общества; закономерности и проблемы становления информационного общества; развитие личности в информационном обществе; информационная культура; информационная...
24998. Клавиатура (Keyboard) 31.69 KB
  Принцип действия клавиатуры Основным элементом клавиатуры являются клавиши. Сигнал при нажатии клавиши регистрируется контроллером клавиатуры и передается в виде так называемого скэнкода на материнскую плату. На материнской плате ПК для подключения клавиатуры также используется специальный контроллер. Когда скэнкод поступает в контроллер клавиатуры инициализируется аппаратное прерывание процессор прекращает свою работу и выполняет процедуру анализирующую скэнкод.