90922

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

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

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

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

Украинкский

2015-07-10

189.79 KB

15 чел.

Лабораторна робота 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.


 

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

57746. Застосування різних способів розкладання многочленів на множники 163 KB
  Систематизувати і узагальнити знання і вміння про різні способи розкладання многочленів на множники; сформулювати загальний алгоритм виконання дій під час розкладання многочленів на множники декількома способами...
57747. Інтегрований урок з математики та біології. Математичні моделі в біології. Відсоткові розрахунки 313.5 KB
  Мета: Систематизувати знання учнів про види задач на відсоткові розрахунки і доповнити їх алгоритмом цих задач за допомогою пропорцій, вчити бачити красу природи в поєднанні з красою математики...
57748. Разнообразие моллюсков 56.5 KB
  Цели урока: сегодня на уроке мы с вами: установим взаимосвязь особенностей строения и способа жизни моллюсков; выясним в чем проявляется приспособленность разных классов моллюсков к условиям обитания; сравним организацию разных классов моллюсков...
57749. Загальна характеристика молюсків. Клас Черевоногі молюски 59 KB
  Мета: почати формувати знання учнів про тип Молюски; дати загальну характеристику представникам; розкрити особливості зовнішньої і внутрішньої будови тіла молюсків на прикладі Черевоногих...
57750. Якими є моральні норми українського народу? 54 KB
  Основні поняття: моральні норми Батьківщина патріот рідна мова працелюбність. Найважливіші моральні цінності українського народу. Найважливіші моральні цінності українського народу.
57751. Як виникають і зберігаються моральні цінності суспільства 66 KB
  Очікувані результати: Після уроку учні зможуть: Витлумачувати поняття «загальнолюдські цінності»; Пояснювати як виникла мораль; Характеризувати поняття «любов», «милосердя», «добро», «правда» тощо як загальнолюдські цінності...
57752. Неспокій хвиль морських. Симфонічні акварелі. Марина 43.5 KB
  Мета: закріпити знання про програмну музику, формувати уявлення про симфонічну картину та ескіз як про жанри симфонічної музики, знайомити з творчим портретом К. Дебюссі та І. Айвазовського; підвести дітей до висновку, що кожен митець використовує свої засоби виразності для власного відтворення морської стихії...
57753. Мозок. Векторна графіка, багатошарові зображення, керуванням розміщенням об’єктів за шарами 1.62 MB
  Яку функцію виконує головний мозок в організмі ссавців Які відділи має головний мозок ссавців До якої частини нервової системи належить головний мозок Що таке біла речовина Що таке сіра речовина Таким чином головний мозок - важлива частина людського організму.
57754. Выпаривательная установка 2.09 MB
  Приведено обоснование технологической схемы производства электролитических щелоков, предложена новизна к конструкции выпарного аппарата. Приведены теоретические основы процесса выпаривания, выполнены технологические расчеты производства...