
- •Лабораторна робота №1. Структури слідування. Мета: вивчення алгоритмів та операторів, які використовуються для вирішення задач зі структурою слідування
- •Додаток а. Теоретичний матеріал
- •4) Може бути відсутнім (за замовчанням)
- •Додаток в. Форма звіту
- •Мета: вивчення основ побудови алгоритмів та операторів, які використовуються для вирішення задач, що мають структуру слідування
- •Додаток г. Індивідуальні завдання до самостійної роботи №1. Структури слідування
- •Дані для самоперевірки
4) Може бути відсутнім (за замовчанням)
2 – Введення вхідних даних виконується відповідно схеми алгоритму.
Програмні засоби визначення вхідних даних:
а) введення з клавіатури - використовується для введення в задачу змінних величин. Розглянемо оператор введення з клавіатури INPUT.
Формат оператора INPUT: |
ІNPUT ["<текстовий вираз>";/,] <список_введення> |
де < текстовий вираз > - текстовий рядок, який використовується для виведення на екран повідомлень про інформацію, яка вводиться; |
крапка з комою (;) - введення значень безпосередньо після текстового виразу; |
кома (,) - введення значень на початку нової зони; |
<список_введення> - ідентифікатори змінних (вводяться через ",") у яких будуть розміщені значення; |
Наприклад, для тестової задачі оператор INPUT може мати вигляд:
1) INPUT b
2) INPUT “b=“, b
3) INPUT “b=“; b
б) введення з тексту програми - використовується для введення в задачу постійних величин або для введення змінних на етапі тестування програми. Розглянемо оператор конструкцію введення з тексту програми DATA READ.
Формат оператора DATA READ: |
DATA <список констант> |
READ <список змінних> |
RESTORE [ <n> ] |
де DATA <список констант> - для утворення блоку значення (вводяться через ",") для змінних; |
READ <список змінних> - для зчитування значень із блоку даних у процесі виконання програми (вводяться через ","); |
RESTORE [ <n> ] - дозволяє операторові READ ще раз прочитати значення в зазначеному операторі DATA. |
Наприклад, для тестової задачі конструкція DATA READ може мати вигляд:
DATA 2
DATA 3.45
READ а
READ b
2) DATA 2, 3.45
READ а,b
в) введення з тексту програми за допомогою оператора присвоювання - використовується для визначення сталих величин. Розглянемо оператор введення з тексту програми за допомогою оператора присвоювання.
Формат оператора присвоювання: |
ідентифікатор = <вираз> |
де <вираз> - арифметичний, символьний або логічний вираз |
Наприклад, для тестової задачі оператор присвоювання може мати вигляд:
а = 3.45
г) формування випадкових чисел (функція RND) - використовується для генерації псевдовипадкових чисел від 0 до 1 при моделюванні. Для генерації псевдовипадкових чисел за рівномірним законом розподілу чисел в діапазоні від b1=-9999,9 до b2=9999,9 використовується формула:
значення = (b2 - b1)* RND + b1
Наприклад, для тестової задачі оператор RND може мати вигляд:
RANDOMIZE TIME
b = RND*(9999-(-9999))+ (-9999)
3 – Розрахунки проміжних та вихідних даних
Виконуються відповідно схеми алгоритму.
Арифметичний вираз – послідовність сталих та змінних значень, результатів виконання функцій, поєднаних знаками арифметичних операцій.
Знаки арифметичних операцій:
* - множення, / ділення (прямий слеш), ^ піднесення до ступеня, + додавання, - віднімання, MOD – залишок від цілочисельного ділення чисел,
\ цілочисельне ділення (зворотній слеш) – повертає кількість входжень другого цілого числа в перше.
Порядок операцій3:
1) обчислення числових функцій;
2) унарний мінус;
3) піднесення до ступеня;
4) множення / ділення;
5) ділення націло;
6) обчислення залишку;
7) додавання / віднімання.
Н
априклад,
для тестової
задачі
оператор присвоювання:
x=(a+b)/b^2
а порядок обчислень проміжної змінної x буде таким:
1 – додавання, дія проводиться в дужках;
2 – піднесення до ступеня; 3 – ділення.
Стандартні математичні функції:
запис на Basic |
назва функції |
приклад |
SIN(X) |
синус Х |
sinX, аргумент в радіанах |
COS(X) |
косинус Х |
CosX, аргумент в радіанах |
TAN(X) |
тангенс Х |
tgX, аргумент в радіанах |
ATN(X) |
арктангенс Х |
ArctgX, -/2<X</2, |
ABS(X) |
модуль Х |
|Х| |
SQR(X) |
квадратний корінь Х |
X, X>0 |
EXP(X) |
експонента Х |
eX |
LOG(X) |
натуральний логарифм Х |
lnX, X>0 |
CINT(Х) CLNG(Х) |
округлення до цілого (довгого цілого) значення |
CINT(15.5)=16 CINT(-6.7)=-7 CINT(-6.2)=-6 |
FIX(X) |
Усікання до цілого (відкидання цілої частини) |
FIX(-5.6)=-5 FIX(24.07)=24.00 |
INT(X)
|
Знаходження найбільшого цілого , що не перевищує Х |
INT(15.5)=15 INT(-6.2)=-7 INT(-6.7)=-7 |
SGN(X) |
Знак числа Х |
SGN(X) = -1, якщо Х < 0 SGN(0) = 0, якщо Х = 0 SGN(X) = +1, якщо Х > 0 |
4 – Виведення результатів розрахунків. Виконується відповідно схеми алгоритму.
Програмні засоби визначення вихідних даних:
4.1 ) виведення на екран. Розглянемо оператор виведення на екран PRINT.
Формат оператора PRINT: |
PRІNT [<список_виведення>] |
де <список_виведення> - вираз будь-якого типу. |
Наприклад, для тестової задачі оператор PRINT може мати вигляд:
1) PRINT y
2) PRINT “y=“, y
3) PRINT “y=“; y
4.2) виведення на екран з форматуванням. Розглянемо оператор виведення на екран з форматуванням PRINT USING.
Формат оператора PRINT USING: |
PRINT USING "<список_форматів>"; <список_ виведення >, |
де <список_форматів> - один або кілька визначників_формату: # (виведення числового значення); крапка (десятковий розподілювач). |
<список_виведення> - числові або символьні вирази, розділені крапкою з комою (проміжок і кома автоматично перетворяться в крапку з комою) |
Наприклад, для тестової задачі оператор PRINT USING може мати вигляд:
1) PRINT USING “В тестовій задачі ви отримали у=“; y
2) PRINT USING “Якщо b=####.# a=#.## тоді х= #.#### і у=###.###“; b, a, х, y
ІV етап – тестування (формування програмного коду, тестування й налагодження програми).
При введенні програмного коду користувач може допустити синтаксичні або семантичні помилки, які виявляє транслятор. При виявленні помилки видається відповідне повідомлення на екран монітора, відбувається підсвічування місця її знаходження в тексті і зупинка програми.
Синтаксичні помилки виникають при порушенні правил запису операторів та функцій. Вірно записаний оператор або функція при введенні (натисканні ENTER) відображаються на екрані великими літерами.
Наприклад, синтаксичною помилкою для тестової задачі може бути невірно записаний оператор INPUT:
було набрано: 1) imput b 2) INPUT b
при введенні (натисненні ENTER)
отримали: 1) imput b 2) INPUT b
В першому випадку була допущена помилка – замість букви n написана m – тому оператор записаний невірно.
Крім того, на етапі безпосереднього виконання відслідковуються деякі помилкові ситуації: ділення на нуль, обчислення квадратного кореня з від'ємного числа, переповнення (вихід за праву межу діапазону типу числа) і ряд інших. У цих випадках виконання програми або припиняється, або продовжується з видачею повідомлення про помилку.
Наприклад, семантичною помилкою для тестової задачі може бути невірне визначення типу даних при введенні.
було набрано: DIM a AS INTEGER
отримали: а=3 (ціле значення замість дійсного а=3.45)
Логічні помилки виникають при порушенні користувачем структури програми, послідовності операторів, та ін. Вони не призводять до зупинки програми. Виявити їх вдається лише аналізом проміжних і остаточних результатів. Для покрокового аналізу проміжних результатів в текст рекомендується включати друк таких результатів, практикувати вилучення фрагментів програми з її роботи шляхом перетворення їх в коментар, використовуючи апостроф.
Переглянути результати можна, натиснувши F4.
Зупинити виконання програми можна, натиснувши Ctrl + Break, а продовжити - F5. Можна в необхідному місці поставити оператор STOP.
Значно легше виявити логічні помилки, використовуючи спеціальні клавіші або опцію головного меню Отладка.
Буває корисно виконати програму до рядка, вказаного курсором - F7. Аналогічні результати досягаються установкою в опції Отладка. Контрольной точки зупину програми - F9 (вона ж - зняття).
При натисканні F8 або F10 (команди Шаг, Процедура на шаг) - реалізується виконання одного оператора, що дозволяє виконувати програму крок за кроком.
Команда Трассировка дозволяє відстежити послідовність виконання операторів програми.
Команда Установить следующее выражение використовується для зміни послідовності виконання програми так, що наступним виконується оператор, на якому встановлений курсор.
Наприклад, логічною помилкою для тестової задачі може бути порушення порядку розрахунків.
V етап – аналіз результатів (аналіз отриманих результатів і видача рекомендацій з удосконалювання процесу).
ДОДАТОК Б. ЗНАКОМСТВО С QBASIC.
Quick Basic – DOS-приложение, т.е. он работает в MS-DOS’е. Хотя на данный момент существуют версии, которые нормально работают под Windows.
После запуска программы qb.exe на экране появится такая картинка
Панель меню
Рабочая область
Окно немедленного выполнения
Строка сообщений
Основное поле (как правило, оно голубого цвета) называется Рабочая область, в этом окне набираются тексты программ. На панели Главное меню располагаются 8 кнопок вызывающих соответствующие меню:
Меню “ФАЙЛ” используется для:
Создания новой программы;
Загрузка и сохранение программ или их частей;
Печать файлов или частей файлов;
Выход из QBASIC.
Меню “РЕДАКТИРОВАНИЕ” используется для:
Стирание (или удаление в буфер) текста
Копирование текста
Передвижение (удаление и вставка через буфер) текста
Стирание текста без запоминания в буфер
Создание новой процедуры или функции
Меню “ПРОСМОТР” используется для:
Просмотр процедур и функций
Просмотр выходного экрана
Меню “ПОИСК” используется для:
Поиск текста в:
активном окне
текущем модуле
во всех загруженных модулях
Меню “ЗАПУСК” используется для:
Исполнение загруженной программы -
Перезапуск программы -
Продолжение прерванной программы
Меню “ОТЛАДКА” используется для:
Устанавливаются точки прерывания, которые прерывают выполнение
программы с целью просмотра
значений переменных.
Меню “ПАРАМЕТРЫ” используется для:
Настройка цветов экрана
Переопределение правой кнопки мыши
Установка путей поиска служебных файлов
Проверка синтаксиса

Меню “СПРАВКА” используется для:
Справки по ключевым словам BASIC-
Получения информации по языку програмирования -BASIC
Предоставление контекстно-зависимой помощи, основанной на месторасположении курсора
Для упрощения многих операция существует множество сочетаний клавиш, полезных пользователю. С ними можно ознакомиться на панели сообщений программы или на полной таблице сочетаний клавиш QBasic (справочный раздел)
F1 |
Виведення підказки для того елемента програми, на який указує курсор |
F2 |
Виведення списку підпрограм. Розбивка екрана на дві частини для одночасного перегляду більших програм. |
F3 |
Пошук у тексті |
F4 |
Перегляд екрана виведення |
F5 |
Продовження виконання програми з поточного оператора |
F6 |
Переміщення у вікно швидкого виконання (Іmmedіate) |
F7 |
Виконання програми до поточного положення курсору |
F8 |
Виконання наступного оператора програми (покрокове виконання) |
F9 |
Установка або видалення контрольної точки |
F10 |
Виконання наступного оператора програми (пропускаючи процедуру) |
Shіft+F1 |
Перехід у режим допомоги |
Shіft+F2 |
Перехід до наступної процедури |
Shіft+F5 |
Виконання програми з початку |
Shіft+F6 |
Перемикання у вікно перегляду |
Ctrl+F1 |
Перегляд наступної теми в режимі допомоги |
Ctrl+F2 |
Перехід до попередньої процедури |
Ctrl+F10 |
Перемикання між багатовіконним і повноекранним режимами |
Ctrl +Y |
Вырезание строки программы |
Alt+F1 |
Перегляд попередньої теми в режимі допомоги |
Отладка программ
Транслятор языка выявляет ошибки двух типов:
синтаксические, возникающие в результате нарушения правил написания предложений QBASIC;
семантические, связанные с недопустимыми значениями параметров, недопустимыми действиями над параметрами и т.д.
При обнаружении ошибки выдается соответствующее сообщение на экран монитора, и происходит подсветка места ее нахождения в тексте.
Кроме того, на этапе непосредственного выполнения отслеживаются некоторые ошибочные ситуации: деление на нуль, вычисление квадратного корня из отрицательного числа, переполнение ( выход за правую границу диапазона типа числа) и ряд других. В этих случаях выполнение программы либо прекращается, либо продолжается с выдачей сообщения об ошибке.
Ошибки в логике работы алгоритма не приводят к остановке программы. Обнаружить их удается только анализом промежуточных и окончательных результатов. Для пошагового анализа промежуточных результатов в текст рекомендуется включать печать таких результатов, практиковать исключение фрагментов программы из ее работы путем превращения их в комментарий, используя апостроф.
Просмотреть результаты можно, нажав F4.
Остановить выполнение программы можно, нажав Ctrl+Break, а продолжить - F5. Можно в требуемом месте поставить оператор STOP.
Значительно легче обнаружить логические ошибки, используя специальные клавиши или опцию Главного меню Отладка.
Бывает полезно выполнить программу до строки, указанной курсором – F7. Аналогичные результаты достигаются установкой в опции Отладка Контрольной точки останова программы – F9 (она же – снятие).
По нажатию F8 или F10 (команды Шаг, Процедура на шаг) - реализуется выполнение одного оператора, что позволяет выполнять программу шаг за шагом.
Команда Трассировка позволяет отследить последовательность выполнения операторов программы.
Команда Установить следующее значение используется для изменения последовательности выполнения программы так, что следующим выполняется оператор, на котором установлен курсор.
Для зберігання набраної програми на диску у вигляді файлу:
Файл команда Сохранить клавіша Enter
Якщо програма ще не має імені, то вона в середовищі QBasic буде позначена як Untіtled. Введіть ім'я файлу, з яким ви бажаєте зберегти свою програму, і натисніть клавішу Enter. Ім'я файлу повинне бути унікальним, рекомендується використати для цієї мети послідовність літер та цифр, довжиною до 8 символів. Розширення файлу .bas буде записано автоматично.
Для виходу із середовища QBASІC:
Файл команда Выход клавіша Enter.