Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Псевдокод

У псевдокоді для подання дій використовуються слова (дієслова), змішані зі словами природної мови. Зазвичай для подання дій у псевдокодах використовуються такі слова:

– ПРИСВОЇТИ, УСТАНОВИТИ, ОБЧИСЛИТИ, УВЕСТИ і т.д. – для перетворювальних дій;

– ЯКЩО-ТО-ІНАКШЕ, ЯКЩО–ТО – для управляючої дії чергування;

– ПОВТОРЮВАТИ – для управляючої дії повторення.

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

Зазвичай специфікація у псевдокоді записується між словами ПОЧАТОК і КІНЕЦЬ. Слова, що описують дію, деталізовувану на наступному кроці, на даному кроці підкреслюються.

Наведемо приклад специфікації записаної за допомогою псевдокоду.

Задано два значення А та В. Поміняти місцями А та В.

1. Визначимо основні дії:

початок

обмін А з В

кінець

2. Деталізуємо дію обміну:

початок

зберегти значення А

помістити значення B в А

відновити значення А в В

кінець

3. Деталізуємо дію обміну:

початок

Temp := A

A:= B

B:= Temp

Кінець,

де Temp, не позначення місця де тимчасово зберігається значення А.

 

3.2.2. Графічні форми. Блок-схеми

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

Рис. 3.2. Схема перетворювальної дії

 

Для опису поєднання дій використовується послідовність сполучених лінями прямокутників (рис. 3.3.).

Рис. 3.3. Схема поєднання дій

 

Для опису чергування дій застосовуються дві схеми – основну та похідну (рис. 3.4, 3.5).

 

Рис. 3.4. Основна схема чергування дій

 

 

Рис. 3.5. Похідна схема чергування дій

 

Тут у ромбі розміщується умова чергування С а в прямокутниках дії А, В, що чергуються.

Для опису повторення дій також використовують дві схеми – основну і похідну (рис. 3.6, 3.7).

 

Рис. 3.6. Основна схема повторення дій

Рис. 3.7. Похідна схема повторення дій

 

Тут у ромбі розміщується умова закінчення повторення С, а у прямокутнику – повторювана на кожному кроці дія А.

Спільним для зазначених схем є таке:

– кожна зі схем використовується у специфікації і має сенс лише цілком;

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

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

Розглянемо специфікування кількох задач.

Задача 1. Задано два не рівні між собою значення А і В. Знайти серед них максимальне значення.

1. Визначимо основні дії – сформулюємо задачу.

Псевдокод:

 

Початок

Пошук максимального

Кінець

Графічну схему розглянуто на рис. 3.8.

 

Рис. 3.8. Формулювання задачі

 

2. Деталізуємо дію за допомогою основної схеми чергування (рис. 3.8).

Псевдокод:

Початок

Якщо А >В

то

max : = A

інакше

max : = В

Кінець

Графічну схему зображено на рис. 3.9.

 

Рис. 3.9. Деталізація дії за допомогою основної схеми

чергування дій

 

Подальша деталізація не потрібна.

Задача 2. Задано два значення А та В. Знайти максимальне значення серед їхньої суми S і добутку М.

1. Визначимо основну дію

Псевдокод:

Початок

Знайти максимальне значення mах серед суми S і добутку М

Кінець

Графічну схему зображено на рис. 3.10.

Рис. 3.10. Формування задачі

 

2. Деталізуємо перетворювальну дію (рис. 3.10).

Псевдокод:

Початок

Обчислення суми S і добутку М;

Знаходження mах;

Кінець

Графічну схему зображено на рис.3.11.

Рис. 3.11. Деталізація перетворювальної дії за допомогою

двох перетворювальних дій

 

Деталізуємо дії зі знаходження суми та добутку.

Псевдокод:

Початок

S : = А + В;

М : = А * В;

Знаходження max;

Кінець

Графічну схему зображено на рис. 3.12.

 

Рис. 3.12. Деталізація дій зі знаходження суми та добутку

 

3. Деталізуємо дії зі знаходження max (рис. 3.12).

Псевдокод:

Початок

S : = А + В;

М : = А * В;

ЯкщоS > М

то

mах : = S

інакше

перевірка на рівність S і М

все якщо

Кінець

Графічну схему зображено на рис. 3.13.

 

Рис. 3.13. Деталізація дії зі знаходження max

 

Деталізуємо дію з перевірки на рівність (рис. 3.13).

Псевдокод:

Початок

S : = А + В;

М : = А * В;

ЯкщоS > М

то

max : = S

інакше

FLAG : = 0

Якщо S : = М,

то

FLAG : = 1

Інакше

max : = М

все якщо

Кінець

Графічну схему зображено на рис. 3.14.

 

 

Рис. 3.14. Деталізація дій із перевірки на рівність

 

Зауважимо, що на кожному кроці схема деталізації перемальовується повністю.

 

3.3. Прагматичні рекомендації

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

– якщо виявлено перетворювальну дію, то у специфікації слід застосовувати відповідні дієслова (псевдокод), прямокутник (графічна форма);

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

– якщо виявлено чергування дій, то у специфікації слід застосовувати ЯКЩО-ТО-ІНАКШЕ або ЯКЩО-ТО (псевдокод), основну чи додаткові схеми чергування (графічна форма);

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

Щодо використання управляючих дій у специфікації можна подати такі рекомендації.

Для дії поєднання:

– поєднання дій у специфікації має бути використано так, щоб процес її виконання був цілеспрямованим. Якщо специфікація це поєднання дій А0, А1, … Аk де А0 і Аk – відповідно початкова і кінцева дія, то для будь-якої дії Аі, такої що Y = Ai(X), 0 < i < k, має виконуватись Y /= X.

Чергування дій у специфікації має бути використано в той спосіб, щоб виконувалось таке:

– чергування необхідне;

– забезпечено виконання при наймі однієї з альтернативних дій у чергуванні;

– кожна дія в чергуванні досяжна;

– у чергуванні немає дубльованих дій.

Повторення дій у специфікації має бути використано в той спосіб, щоб виконувалось таке:

– повторення не можна замінити неповторюваною дією; наприклад, псевдокод

і=0

ДОКИ i /= N;

ПОВТОРЮВАТИ

i = i + 1;

ВСЕ ПОВТОРЮВАТИ;

можна замінити такою неповторюваною дією:

i = N;

– повторення не можна замінити чергуванням дій, наприклад, псевдокод

І=0;

доки i /= N;

ПОВТОРЮВАТИ

i = i + 1;

a = F(b);

ВСЕ ПОВТОРЮВАТИ;

можна замінити таким чергуванням дій:

ЯКЩО i /= N

ТО

i = N;

a = F(b);

ВСЕ ЯКЩО;

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

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

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

– безпосередня вкладеність повторень має підтверджуватись взаємовпливом умов усіх повторень.

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

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

– не повинно бути повернення до вихідного стану значень;

– не повинно бути „переплутаних” обчислень тобто інформаційно пов’язані дії не повинні перемежовуватися з іншими – такими, що не стосуються значень, оброблюваним у даному місці специфікації.

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

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

Деталізація дій може супроводжуватись деталізацією значень.

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

 

3.4. Питання для самоперевірки

1. Назвіть фази, з яких складається проектування.

2. У чому полягає сутність методу проектування „згори-вниз”, чому він називається аналітичним?

3. Якими принципами слід керуватись при виконанні процесу деталізації.

4. Що таке специфікація?

5. Які дії можуть виконуватись у специфікації?

6. Що таке специфікування?

7. Назвіть типи мов специфікацій?

8. Поясніть особливість псевдокоду.

9. Поясність особливість графічних форм.

10. Поясніть загальні праграматичні рекомендації щодо проектування.

11. Поясніть рекомендації щодо використання управляючих дій.

12. Поясніть рекомендації щодо використання перетворювальних дій.

13. Поясніть рекомендації щодо організації потоків даних та обчислень.

 

3.5. Завдання для самостійного виконання

1. Назвіть помилки, яких припустилися при складанні наведених далі схем.

       
   
 
 


а) в)

 

г)

б)

3. Визначне умову та запишіть псевдокод задачі.

а) б)

1.

2. Задано два значення А и В. Знайдіть максимальне значення серед їхньої суми S та добутку М.

3. Задано два значення. Знайдіть суму максимального значення та середнього арифметичного цих значень.

4. Задано послідовність значень А1, …, Ап і деяке значення В. Знайдіть входження цього значення В в послідовність.

5. Задано послідовність значень. Знайдіть суму індексів (номерів) додаткових значень у послідовності.

6. Задано послідовність значень і деяке значення А. Знайдіть суму значень послідовності, рівну значенню А.

7. Задана послідовність значень і деяке значення. Знайдіть нову послідовність, яку дістанемо, поділивши задане значення на кожний елемент заданої послідовності.

8. Задана послідовність значень Р і деяке значення а. Знайдіть у Р значення, що є максимальним у послідовності значень, менших за а.

9. Задано дві послідовності Р1 и Р2. Замінити в другій послідовності входження значень із Р1 в Р2 на частку від ділення суми підпослідовності з Р1 на кількість елементів підпослідовності.

10. Задано послідовність значень. Перемістіть значення в такому порядку: перший елемент – на останню позицію послідовності (т), останній елемент – на першу позицію (1) в послідовності, другий елемент – на передостанню позицію (т – 1) в послідовності, передостанній елемент – на другу (2) позицію і т.д.

11. Задано множину послідовностей. A[m, n] (задано послідовність значень А1, …, Ап). Знайдіть середнє арифметичне всіх значень у послідовності, якщо m – номер послідовності, а n – кількість елементів у в m- йпослідовності. Знайдіть максимальне за абсолютною величиною значення з усієї множини послідовностей.

12. Задано множину послідовностей A[m, n] (задано послідовність значень А1, …, Ап. Знайдіть середнє арифметичне всіх значень у послідовності, якщо m – номер послідовності, а n – кількість елементів у m-ійпослідовності. Знайдіть номер мінімального значення у множині.

 

3.6. Задачі для досліджень

1. Дослідити, як блок-схеми реалізовано в стандартах.

2. Дослідити недоліки і переваги псевдокоду і графічних сїем для представлення специфікацій.

 

3.7. Практичні заняття

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

Матеріал кожного практичного заняття містить завдання та приклади їх виконання.




Переглядів: 1022

<== попередня сторінка | наступна сторінка ==>
Ресурс. Метод | Практичне заняття 1

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.014 сек.