Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Команди




Оператор присвоювання. Служить для обчислення виразів і присвоювання їхніх значень змінним. Загальний вид: А:= У, де знак ":=" означає команду замінити колишнє значення змінної, що стоїть в лівій частині, на обчислене значення виразу, що стоїть в правій частині.

Наприклад,

a:=(b+c)*sin(Pi/4); i:=i+1.

Для введення і виведення даних використовують команди

введення імена змінних

виведення імена змінних, вирази, тексти.

Для розгалуження застосовують команди якщо і вибір, для організації циклів — команди для і поки.

Приклад запису алгоритму

алг Сума квадратів (арг цілий n, рез цілий S)
дано
| n > 0
треба
| S = 1*1 + 2*2 + 3*3 +... + n*n
поч цілий
i
введення
n; S:=0
пц для
i від 1 до n
S:=S+i*i
кц
виведення
"S = ", S
кін

Базові алгоритмічні структури

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

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

Характерною рисою базових структур є наявність у них одного входу й одного виходу.

1. Базова структура проходження. Утворюється з послідовності дій, які виконуються одна за одною:

Псевдокод Мова блок-схем
дія 1 дія 2......... дія n

2. Базова структура розгалуження. Забезпечує, в залежності від результату перевірки умови (так чи ні), вибір одного з альтернативних шляхів роботи алгоритму. Кожен із шляхів веде до загального виходу так, що робота алгоритму буде продовжуватися незалежно від того, який шлях буде обраний.

Структура розгалуження існує в чотирьох основних варіантах:

якщо-то;

якщо-то інакше;

вибір;

вибір - інакше.

Псевдокод Мова блок-схем
1. якщо-то
якщо умова то дія все
2. якщо-то інакше
якщо умова то дія 1 інакше дія 2 все
3. вибір
вибір при умова 1: дії 1 при умова 2: дії 2 .......... при умова N: дії N все
4. вибір інакше
вибір при умова 1: дії 1 при умова 2: дії 2 .......... при умова N: дії N інакше дії N+1 все

Приклади команди якщо

Псевдокод Мова блок-схем
якщо x > 0 то y:= sin(x) все
якщо a > b то a:= 2*a; b:= 1 інакше b:= 2*b все
вибір при n = 1 y:= sin(x) при n = 2 y:= cos(x) при n = 3 y:= 0 все
вибір при a > 5: i:= i+1 при a = 0: j:= j-1 інакше i:= 10; j:=0 все

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

Псевдокод Мова блок-схем
Цикл типу поки. Наказує виконувати тіло циклу доти, поки виконується умова, яка записана після слова поки.
пц поки умова тіло циклу(послідовність дій) кц
Цикл типу для. Наказує виконувати тіло циклу для всіх значень деякої змінної (параметра циклу) у заданому діапазоні.
пц для i від i1 до i2 тіло циклу(послідовність дій) кц

Приклади команд поки і для

Псевдокод Мова блок-схем
пц поки i <= 5 S:= S+A[i] i:= i+1 кц
пц для i від 1 до 5 X[i]:= i*i*i Y[i]:= X[i]/2 кц

Ітераційні цикли

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

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

Приклад. Скласти алгоритм обчислення суми ряду

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

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

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

Вирішуючи цю задачу "в лоб" шляхом обчислення на кожному i -ому кроці часткової суми

S:=S+(-1)**(і-1)*x**i/i,

ми одержимо дуже неефективний алгоритм, що вимагає виконання великого числа операцій. Набагато краще організувати обчислення в такий спосіб: якщо позначити чисельник якого-небудь доданка літерою Р, то у наступного чисельника, що складається, буде дорівнювати - Р * Х (знак мінус забезпечує черегування знаків доданків), а сам доданок m буде дорівнювати p/І, де І - номер доданка.

Порівняєте ці два підходи за числом операцій.

Псевдокод Блок-схема алгоритму
алг Сума (арг дійсне x, Eps, рез дійсне S) дано | 0 < x < 1 треба | S = x - x**2/2 + x**3/3 -... поч ціле i, дійсне m, p введення x, Eps S:=0; i:=1 | початкові значення m:=1; p:=-1 пц поки abs(m) > Eps p:=-p*x | p - чисельник | чергового доданка m:=p/i | m - черговий доданок S:=S+m | S - часткова сума i:=i+1 | i - номер чергового доданка кц виведення S кін

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

В ітераційних алгоритмах необхідно забезпечити обов'язкове досягнення умови виходу з циклу (збіжність ітераційного процесу). У протилежному випадку відбудеться зациклення алгоритму, тобто не буде виконуватися основна властивість алгоритму —результативність.




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 521; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.