Какво правим тук
Този урок е практикум. Елементите на UML диаграмите ги знаеш от Модул 1; сега трябва да ги четеш и да ги пишеш. Първото е по-трудно и по-полезно: диаграма, която не си рисувал ти, се разбира само чрез трасиране.
Задача 1 — прочети чужда диаграма
За диаграмата на фиг. 1 определи какъв ще бъде изведеният резултат при следните стойности на входните променливи: а) A = −5, B = 2; б) A = 7, B = 7; в) A = 5, B = 12.
Трасираме честно, без да предполагаме какво е искал авторът:
| Вход | Първа проверка B > A | Резултат |
|---|---|---|
| A = −5, B = 2 | 2 > −5 → ДА | Извежда A, т.е. −5 |
| A = 7, B = 7 | 7 > 7 → НЕ | Втора проверка: пак НЕ → извежда „=“ |
| A = 5, B = 12 | 12 > 5 → ДА | Извежда A, т.е. 5 |
Това не е загубено време. Точно така се чете чужд код: изпълняваш го на хартия и сравняваш какво прави с това, което трябва да прави.
Задача 2 — циклична диаграма
Втората диаграма от учебника (фиг. 2) е с цикъл. В ограничен естествен език тя изглежда така:
1. Въведи N
2. i = 0, S = 0
3. S = S + i
4. i = i + 1
5. Ако i > N — премини към 6, иначе към 3
6. Изведи S и iОпредели какъв ще е изведеният резултат при: а) N = 5; б) N = 100.
Задачи за рисуване
Линейни
- Задача 3. Диаграма за намиране на лицето и периметъра на правоъгълник със страни A и B.
- Задача 6. Диаграма на алгоритъм, който разменя стойностите на две променливи X и Y. Упътване: използвай трета променлива Z, като първо преместиш стойността на X в Z.
Разклонени
- Задача 4. Диаграма за намиране на решенията на квадратното уравнение ax² + bx + c = 0. Упътване: за случая a = 0 използвай блок, в който ще стои диаграмата за линейното уравнение.
- Задача 5. Диаграма за проверка дали три зададени числа A, B и C са страни на триъгълник. Упътване: сумата на всеки две от тях трябва да е по-голяма от третото.
Циклични
- Задача 7. Диаграма, която въвежда цяло число в N и след това N цели числа в променливите A₁ … Aₙ.
- Задача 9. Диаграма за намиране на най-малкото от числата A₁ … Aₙ. Упътване: в началото постави в
minчислото A₁. - Задача 8. Диаграма за сравняване по големина на две цели числа, представени в p-ична позиционна бройна система. Упътване: разгледай два случая — с различен и с равен брой цифри.
Какво трябва да запомниш
- Диаграма се чете с трасиране — с конкретни числа и записани междинни стойности.
- Две еднакви проверки една след друга правят втория клон недостижим.
- Цикълът излиза, когато условието е изпълнено — затова крайното i е с единица повече от очакваното.
- Когато цикълът е дълъг, не го трасирай — опиши математически какво прави.
- Линейната диаграма няма ромб; разклонената има; цикличната има стрелка назад.