90922

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

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

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

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

Украинкский

2015-07-10

189.79 KB

6 чел.

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


 

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

82526. Развитие мышления на уроках русского языка 96.5 KB
  Ход проведения: детям были даны карточки с нижеприведёнными упражнениями. Ход проведения: на уроке идёт беседа об известных модельерах анализируются модели одежды созданные ими. Ход проведения: детям говорится что им сейчас будут зачитываться слова и они должны в уме переставить буквы наоборот и тут же записать в тетрадь получившийся результат. Ход проведения: на доске зарисовывается схема.
82527. Развитие памяти и мышления у детей с ОВЗ на занятиях по дополнительной образовательной программе «Я все умею делать сам, что не умею, научусь!» 38 KB
  Ведущий: Дети сейчас я прочитаю вам стихотворение Корнея Чуковского Путаница. Ведущий перед игрой проводит короткую беседу уточняя понимание детьми слов профессия действия. Ведущий. Ведущий.
82531. Память. Виды памяти 72.5 KB
  Виды памяти Память – психический познавательный процесс направленный на запечатление сохранение воспроизведение и забывание той или иной информации. В структуре памяти можно выделить четыре относительно самостоятельных процесса: запоминание воспроизведение сохранение и забывание усвоенной ранее информации. Запоминание процесс памяти обеспечивающий удержание материала путём связывания новой информации с прошлым опытом. Запоминание Механическое зубрёжка Осмысленное логическое...
82532. Особенности памяти у детей с задержкой психического развития (ЗПР) 25.5 KB
  У детей с психофизическим инфантилизмом наблюдаются: уменьшение объема и скорости запоминания; неумение рационально организовать и контролировать свою работу; преобладание зрительной памяти над слуховой; У детей с ЗПР соматогенного генеза отмечается недоразвитие кратковременной памяти проявляющееся в снижении скорости запоминания в медленном нарастании продуктивности запоминания снижении объема памяти. У детей с ЗПР церебральноорганического генеза наблюдаются разнообразные нарушения памяти: повышенная тормозимость следов под...
82534. Особенности памяти у детей с нарушениями слуха 36 KB
  Образный материал глухие школьники непосредственно запоминают более успешнее чем слышащие так как у них зрительный опыт богаче. Но в то же время можно встретить в литературе данные что в дошкольном возрасте глухие хуже запоминают места расположения предметов в младшем школьном возрасте – путают места расположения предметов сходных по изображению или реальному функциональному назначению. Глухие школьники младших классов применяют вспомогательные средства для запоминания. При запоминании ряда сходных предметов глухие плохо умеют...