Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Правила застосування блоків




Практична робота №1

Тема Лінійні обчислювальні структури

Теоретичні матеріали

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

Для представлення алгоритмів використовують такі способи:

· описовий (словесний опис);

· аналітичний;

· графічний;

· псевдокод;

· алгоритмічна мова.

Словесний опис алгоритму використовується в повсякденному житті у вигляді рецептів готування блюд, інструкцій до різних технічних і побутових приладів і пристроїв і т.п. Такому способу опису часто властива відсутність визначеності й неоднозначність дій внаслідок неоднозначності слів і визначень. Наприклад, «додайте трохи солі» (скільки, куди і як додати?), «за 10 хвилин до готовності вимкніть цибулю» ( як визначити готовність?) і т.д. Крім цього недоліку, словесний опис часто приводить до громіздких текстів, тому він застосовується лише для найпростіших алгоритмів.

Аналітичний спосіб представлення алгоритму використовується при розв'язку наукових і інженерних задач. Тут алгоритми описуються послідовністю розрахунків за математичними формулами.

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

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

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

Схеми алгоритмів

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

1) блоки даних, які можуть також вказувати вид носія даних;

2) блоки процесу, який слід виконати над даними;

3) лінії, що вказують потоки даних між процесами й (або) носіями даних;

4) спеціальні символи, використовувані для полегшення написання й читання схеми.

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

Правила застосування блоків

1.  Блок призначений для графічної ідентифікації функції, яку він відображає, незалежно від тексту усередині цього блоку.

2.  Блоки в схемі повинні бути розташовані рівномірно. Слід дотримуватися розумної довжини з'єднань і мінімального числа довгих ліній.

3. Кути й інші параметри, що впливають на відповідну форму символів не повинні змінюватися. Блоки повинні бути, по можливості, одного розміру.

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

5.  У схемах може використовуватися ідентифікатор (номер, ім'я) блоків (блоків), який повинен розташовуватися ліворуч над блоком.

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

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

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

Блок зі смугою Розгорнуте представлення
 

Правила виконання з'єднань

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

2. У схемах слід уникати перетинання ліній. Лінії, що перетинаються, не мають логічного зв'язку між собою, тому зміни напрямку в точках перетину не допускаються.

3. Дві або більше вхідних ліній можуть поєднуватися в одну вихідну лінію. Якщо дві або більше ліній поєднуються в одну лінію, то місце об'єднання повинне бути зміщене.

 

4. Лінії в схемах повинні підходити до блоку або зліва, або зверху, а виходити або справа, або знизу. Лінії повинні бути спрямовані до центру блоку.

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

Зовнішній з'єднувач Внутрішній з'єднувач

6. Кілька виходів із блоку Розв'язок слід показувати:

¨ декількома лініями від даного блоку до інших блоків;

¨ однієї лінією від даного блоку, яка розгалужується у відповідне число ліній.

  

 

Довжину блоку треба вибирати з ряду 10, 15, 20 мм і можна збільшувати на число, кратне 5. Висота блоку в півтора раза більше довжини, крім блоків 1, 9, 10, у яких висота дорівнює половині довжини.


Таблиця 1


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

Найменування блоку Графічне зображення Функція блоку
1.Термінатор  
 

Блок відображає вихід у зовнішнє середовище й вхід із зовнішнього середовища (початок або кінець схеми)
2. Дані   Блок відображає дані, носій даних не визначений  
3.Процес Блок відображає функцію обробки даних будь-якого виду (виконання певної операції або групи операцій, що приводить до зміни значення, форми або розміщення інформації)  
4.Розв'язок Блок відображає розв'язок або функцію комутаціного типу, що має один вхід і ряд альтернативних виходів, один і тільки один з яких може бути активізований після обчислення умов, визначених усередині цього блоку. Відповідні результати обчислення можуть бути записані по сусідству з лініями, що відображають ці шляхи.
5.Визначений процес Блок відображає визначений процес, що складається з однієї або декількох операцій або кроків програми, які визначені в іншому місці
6. Підготовка   Блок відображає модифікацію команди або групи команд із метою впливу на деяку наступну функцію (установка перемикача, модифікація індексного регістру або ініціалізація програми)
7.Коментар   Блок використовують для додавання описових коментарів або пояснювальних записів з метою пояснення або приміток. Пунктирні лінії в блоці коментаря пов'язані з відповідним блоком або можуть обводити групу блоків. Текст коментарів або приміток повинен бути поміщений біля обмежуючої фігури.
8. Лінія   Блок відображає потік даних або керування
9.З'єднувач   Блок відображає вихід у частину схеми й вхід з іншої частини цієї схеми й використовується для обриву лінії й продовження її в іншому місці. Відповідні блоки-з'єднувачі повинні містити одне і те ж саме унікальне позначення.

 

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

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

Блок Дані будемо використовувати для позначення послідовного введення або виводу даних, носій яких не визначений. Для конкретизації функції усередині блоку будемо записувати слово Введення або Вивід, нижче якого будемо записувати список введення або виводу відповідно. Список введення або виводу складається з елементів, що розділяються друг від друга блоком кома. Елементом списку введення може бути:

· ім'я простої змінної;

· ім'я змінної з індексом (елемент масиву).

Елементом списку виводу може бути:

· ім'я простої змінної;

· ім'я змінної з індексом (елемент масиву);

· апостроф (послідовність блоків, взята в лапки «»).

 Під простою змінною, або просто змінною будемо розуміти деяку комірку пам'яті, тобто окреме місце для зберігання однієї константи. В окремій комірці за час роботи алгоритму може побувати безліч різних констант (звідси назва – змінна). Такими комірками (електронними, магнітними, оптичними) оснащений комп'ютер. Змінні мають буквено-символьне позначення, наприклад, S, ABA, F, n, a1, b, B2. Водночас позначення змінної є адресою (номером, індексом) комірки, у якій будуть записуватися константи. Кожна з таких констант називається значенням змінної. Наприклад, S є змінною й адресою комірки S одночасно. З алгоритмічної точки зору поняття «змінна» і «адреса комірки» пам'яті є ідентичними.

Іншим різновидом змінних є так звані змінні з індексом або елемент масиву. Масив – це деяка сукупність комірок, об'єднана одним позначенням (іменем). Всякий масив обов'язково має розмірність. Масиви бувають одномірними, двовимірними, тривимірними і т.д. Для того щоб можна було відрізнити одну комірку масиву від іншої комірки цього ж масиву, їх нумерують. Нумерація комірок звичайно починається з 1 (необов'язково). Номер комірки масиву називається його індексом, а константа в комірці – елементом масиву.

 

 При введенні функцію блоку Дані можна визначити наступними ключовими словами: прочитати дані з невизначеного носія інформації й записати

(запам'ятати) у комірках запам'ятовувального пристрою.

Наведений блок у схемі пропонує прочитати з носія дані в кількості трьох (нехай, наприклад, дані являють собою числові значення 11; 22; 33), причому, перше дане (11) записати (запам'ятати) у комірку з адресою S, друге (22) – у комірку з адресою ABA, третє (33) – у комірку з адресою F9. Або іншими словами: прочитати з носія дані в кількості трьох, причому, перше дане (11) запам'ятати під іменем S, друге (22) – під іменем ABA, третє (33) – під іменем F9. Тут F9 – дев'ятий елемент одномірного масиву з іменем F.

 

 При виводі функцію блоку Дані можна визначити наступними ключовими словами: прочитати (витягнути) дані із комірок із зазначеними адресами запам'ятовувального пристрою й відобразити їх на невизначений носій інформації.

Наведений блок пропонує прочитати (витягнути) із комірки з адресою S перше дане (11), із комірки з адресою ABA – друге дане (22), із комірки з адресою F9 – третє дане (33) і відобразити їх на незазначеному носії інформації в зазначеному порядку разом з текстовими константами (у блоці виводу вони взяті в лапки). Або іншими словами: прочитати вміст комірок із адресою S, ABA, F9 і відобразити його на невизначеному носії інформації в зазначеному порядку разом з текстовими константами. Або так: значення змінних S, ABA, F9 відобразити на невизначеному носії інформації в зазначеному порядку разом з текстовими константами.

У тому випадку, якщо наведений блок виводу іде в тій же схемі за попереднім блоком введення даних, результатом виконання зазначених дій є наступний запис: 11+22=33.

 Не зайво нагадати, що запис усередині блоку Дані констант, покажчиків функцій, імен функцій і підпрограм, арифметичних і логічних виражень (наприклад, Х = А, 10, X+Yj+Zi, SIN(X), Y<5) буде трактуватися як помилка.

Блок Процес будемо використовувати для позначення виконання операції або групи операцій, у результаті яких змінюються значення. Функцію цього блоку можна трактувати ключовими словами: обчислити значення вираження, записаного праворуч від знака присвоювання (=), і записати обчислене значення в комірку, адреса якої зазначена ліворуч від знака присвоювання (=). Або іншими словами: обчислити значення вираження, записаного праворуч від знака присвоювання (=), ізапам'ятатипід іменем змінної (простої або з індексом), зазначеної ліворуч від знака присвоювання (=). Виходячи із цього, запис ліворуч від знака присвоювання замість імені змінної (простої або з індексом) яких-небудь констант, покажчиків функцій, арифметичних і логічних виражень буде трактуватися як помилка.

Запис виду Y = 5,5 слід розуміти так: записати константу 5,5 у комірку з адресою Y (якщо до цієї операції в комірку вже була записана константа, то вона буде затерта константою 5,5). Розуміти й читати цей запис можна й так: змінній Y присвоїти значення 5,5.

 

Запис виду L = M слід розуміти так: прочитати константу, розташовану за адресою M, і скопіювати її в комірку з адресою L ( при цьому константа із комірки M не видаляється й залишається такою ж, якою вона була до читання). Читати цей запис можна й так: змінній L присвоїти значення змінної M (або просто: L присвоїти M).

Наприклад, при заданому значенні K= -1 блок, зображений вище, наказує значення змінної K збільшити на одиницю (-1+1=0) і отриманим значенням (0) замінити попереднє значення (-1), тобто в комірці з адресою K тепер зберігається значення 0. Другий оператор присвоювання наказує обчислити 0+Cos(0)=1 і отриманим значенням (1) замінити попереднє значення п'ятого елемента масиву з іменем А.

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

 

 

 


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

 

 


Блок Розв'язок використовується для позначення зміни напрямку виконання процесу залежно від деякої умови, записаної усередині блоку.

Усі обчислювальні процеси можна представити у вигляді комбінації трьох основних складових:

¨ Лінійні.

У записі алгоритму підряд один за одним написано кілька дій, які будуть виконуватися послідовно в такому ж порядку. Така конструкція в структурному програмуванні називається ПРОХОДЖЕННЯ.

¨ Структури, що розгалужуються.

Умовна конструкція структурного програмування, що визначає розгалуження в порядку виконання дій. Називається ЯКЩО-ТО-ІНАКШЕ (дослівний англійський переклад IF-THEN-ELSЕ).

¨ Циклічні.

У структурному програмуванні передбачені циклічні конструкції трьох видів:

1. Цикл із передумовою ПОКИ-РОБИ (дослівний англійський переклад WHILE): поки істина деяка умова, роби певні дії.

2. Цикл із післяумовою ПОВТОРЮЙ-ПОКИ (дослівний англійський переклад DO-WHILE). Відрізняється від попереднього циклу тим, що тіло циклу повторюється не менш одного разу.

3. Цикл із заздалегідь заданим числом повторень (FOR).










Последнее изменение этой страницы: 2018-04-12; просмотров: 197.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...