На головну

Засоби програмування алгоритмів лінійної структури

  1. I. Бюрократичні структури управління
  2. I. Гіполіпідемічні засоби.
  3. I. Елементи лінійної алгебри та аналітичної геометрії.
  4. II-2.6. Рішення задач методом динамічного програмування
  5. II. Адаптивні (органічні) структури управління

При вирішенні завдань лінійної структури слід пам'ятати, що:

· Програми з лінійною структурою є простими і використовуються, як правило, для виконання простих розрахунків за формулами;

· В програмах з лінійною структурою всі розпорядження виконуються послідовно, одна за одною;

· Алгоритм програми з лінійною структурою може бути представлений у вигляді схеми, показаної на рис.9.

У мові QB відсутня оператор, відповідний дії початку алгоритму, однак є оператор END, який повинен розташовуватися в останньому рядку програми, що означає кінець програми. Цей оператор є необов'язковим і може бути відсутнім, тоді кінцем програми служить останній оператор тексту програми. Однак, якщо вставити оператор END після логічно завершеного ділянки програми, то виконання відбувається тільки до цього оператора. На практиці цей прийом часто використовується для налагодження ділянок програми.

Рис.9 Блок-схема алгоритму лінійної структури

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

 [LET] змінна = вираз,

дезмінна - Ім'я змінної будь-якого типу;

=це знак операції привласнення;

вираз- Вираз будь-якого допустимого типу. Ключове слово LET зазвичай опускається.

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

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

k = 1 - Присвоювання змінної k значення константи 1;

x = -0.5 - Присвоювання змінної x значення константи -0.5;

y = SIN (x) +1 -присвоювання змінної yзначення обчисленого виразу;

z = y -присвоювання змінної z значення змінної y;

k = k + 2 - Збільшення змінної k на2.

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

У табл. 6 наведені приклади перетворення типу даних при виконанні операторів присвоювання.

Таблиця 6

 оператор  результат  пояснення
 a% = 12.44  Матеріальна константа перетворена в ціле значення
 a% = 12.77  Округлення при перетворенні до цілого типу
 a # = 6 # / 7  0.8571428571428571  Дії і результат з подвійною точністю
 a = 6 # / 7  0.8571429  Результат зі звичайною точністю (заокруглений)

Для введення вихідних даних з клавіатури використовується оператор INPUT. Він має такий вигляд:

 INPUT [;] [підказка {; | ,}] Спісок_переменних,

депідказка - Строкова константа, що виводиться на екран для пояснення - що потрібно ввести;

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

Після підказки повинен слідувати символ крапка з комою (після підказки на екран виводиться знак питання) або кома (знак питання не виводиться). Якщо після слова INPUT вказати крапку з комою, то після введення даних курсор залишається в поточній позиції. При виконанні програми оператор INPUT виводить на екран підказку, а користувач повинен ввести з клавіатури дані в порядку і кількості, зазначеній в операторі INPUT, Відокремлюючи одне дане від іншого запитом, а після закінчення введення натиснути клавішу Enter. Якщо підказка відсутня (це допустимо), то часто складно зрозуміти, що і в якому порядку слід вводити. Якщо Ви зробите помилку, то на екрані з'являється повідомлення "? Redofromstart"(Повторити спочатку).

наприклад,

 INPUT "Введіть коефіцієнти рівняння a, b, c", a #, b #, c # INPUT; "Радіус кола"; r!

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

Якщо набір даних не змінюється від одного виконання програми до іншого, то для його введення можуть бути використані оператори READ,DATA і RESTORE. При цьому оператор DATA є не виконує, той оператором, і може знаходитися в будь-якому місці програми. Виняток становить оператор циклу, всередині якого DATA розташовуватися не може. Він містить список значень, що вводяться, розділених комами. оператор READ є виконуваним оператором. Він містить список змінних, розділених комами, яким присвоюються відповідні їм значення зі списку оператора DATA. Після виконання оператора RESTORE оператор READпочинає читання даних з першого елемента поточного оператора DATA, Якщо немає номера рядка в операторі RESTORE, Або того оператора DATA, На який вказує номер рядкав операторіRESTORE. Оператори мають такі формати:

 DATA спісок_значенійREAD спісок_переменнихRESTORE [номер рядка]

Кількість і типи змінних в операторі READ повинні строго відповідати кількості і типам даних відповідного оператора DATA. наприклад,

 READ ff, stroke $, t1% DATA 2.5, "Quick BASIC", 10000

один оператор READ може працювати не з одним, а з декількома операторами DATA, В цьому випадку зчитування даних проводиться в порядку проходження операторів DATA. наприклад,

 DATA 10,20DATA 30,40READ A, BRESTOREREAD C, D

Результат виконання програми:

A, B, C, Dполучаютзначенія10,20,10, 20.

Для виведення даних на екран монітора служить оператор PRINT, Який при введенні з клавіатури може бути замінений символом?. Оператор має такий вигляд:

PRINT [список] [{, |;}]

Вирази, зазначені в списку, можуть бути як арифметичними, так і строковими, розділеними комами або крапками з комою. Позиція кожного виведеного на екран елемента визначається символом-роздільником. QB ділить рядок на п'ять зон по 14 символів. Якщо роздільник - кома, то черговий елемент списку виводиться на початку наступного зони, якщо - крапка з комою, то елемент списку виводиться безпосередньо в наступну символьну позицію, причому числові дані доповнюються в кінці одним пропуском, а для позитивних чисел перед числом (замість знака + ) додається пробіл. Наприклад, оператор

 PRINT "k ="; k, "a ="; a

при k = 25 і a = -2.25 виведе на екран, починаючи з першої позиції, наступний рядок:

k = 25 a = -2.25.

Якщо | k | > 9999999, то значення k виводиться у вигляді чисел з плаваючою точкою. якщо в кінці списку стоїть кома або крапка з комою, то наступний оператор PRINT виробляє висновок в тій же самій рядку. Якщо в операторі PRINT відсутня список даних, то виводиться один порожній рядок. Це використовується для пропуску рядка або для переходу на наступний рядок.

В операторі PRINT для управління позицією виведення чергового елемента списку можуть бути використані функції SPC (n) и TAB (n),де n - Арифметичний вираз цілого типу. функція SPC (n) розміщує n прогалин після поточної позиції курсору, а функція TAB (n) поміщає курсор в позицію n. При цьому, якщо номер позиції n менше поточної позиції курсора, то курсор поміщається в наступному рядку позиції n. Наприклад, оператор

 PRINT TAB (10); "Quick"; SPC (5); "BASIC"

виведе на екран рядок

Quick BASIC

Для виведення на принтер використовується оператор LPRINT, Формат і порядок виконання якого аналогічні розглянутому вище оператору PRINT.

Для переміщення курсору в потрібну позицію екрану використовується оператор LOCATE, Що має такий вигляд:

 LOCATE [рядок], [колонка]

де рядок - Номер рядка екрана в діапазоні від 1 до 25, а колонка - Номер горизонтальній позиції символу в діапазоні від 1 до 80.

оператор PRINT, Наступний за оператором LOCATE, Виводить символи на екран, починаючи з вказаної позиції. Щоб вивести на друк рядок з однакових символів, часто використовують функцію STRING $ (n, символ),яка формує рядок з nсімволов.

Виконання будь-якої програми рекомендується починати з оператора CLS, Що виконує очищення екрана від результатів виконання попередньої програми.

Контрольні питання для самопідготовки студентів

1. Чим характеризується лінійний алгоритм?

2. Як можна визначити початкові значення змінних?

3. Який пріоритет виконання операцій в арифметичному виразі?

4. Які типи даних (констант і змінних) можна використовувати в програмах на QB?

5. У чому полягає відмінність змінної від константи?

6. Пояснити призначення оператора CLS.

7. Які стандартні функції використовуються в QB?

8. Які особливості виконання оператора присвоювання?

9. Як оголосити тип змінної в програмі?

10. Як оголосити в програмі іменовану константу?

11. Пояснити призначення операторів READ, DATA, RESTORE?

12. Який оператор використовується в програмі для виведення результатів на екран?



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

Дії над числами в природному стані | Етапи виконання завдання за допомогою комп'ютера | Поняття алгоритму, властивості алгоритму, засоби запису алгоритму | Структурний підхід до програмування | Мови програмування | Функціональне (аплікативного) програмування | логічне програмування | поняття транслятора | алфавіт мови | Типи даних і способи їх визначення |

© um.co.ua - учбові матеріали та реферати