Опарин-практическая работа
.pdfМинистерство образования и науки Российской Федерации
ГОУ ВПО «Уральский государственный технический университет – УПИ имени первого Президента России Б.Н. Ельцина»
Д.В. Опарин
ПРАКТИКУМ ПО АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЮ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ QBASIC (часть I)
Учебное электронное текстовое издание Подготовлено кафедрой «Интеллектуальные информационные технологии»
Научный редактор: доцент, канд. техн. наук В.Г. Томашевич
Практикум по дисциплине «Информатика» для студентов всех форм обучения всех специальностей.
Практикум дополняет конспект лекций «Алгоритмизация и программирование на языке высокого уровня QBasic» (2009 г.). Включает семь лабораторных работ, рассматривающих основные вопросы раздела дисциплины «Информатика» «Программирование вычислительных задач с использованием алгоритмического языка высокого уровня». Приведены задания для самостоятельной подготовки и варианты заданий к работе.
ГОУ ВПО УГТУ-УПИ, 2010
Екатеринбург
2010
Содержание |
|
|
Лабораторная работа 1. |
Первые программы на QBasic................................ |
3 |
Лабораторная работа 2. |
Организация работы пользователя в |
|
среде системы программирования QBasic ........................................... |
6 |
|
Лабораторная работа 3. |
Программирование алгоритмов |
|
разветвляющейся и циклической структур.......................................... |
8 |
|
Лабораторная работа 4. Обработка одномерных массивов ....................... |
12 |
|
Библиографический список ........................................................................... |
16 |
2
Лабораторная работа 1
Первые программы на QBasic
Цель работы: первоначальное знакомство с работой программ, написан-
ных на языке QBasic.
Задание для самостоятельной подготовки
1.Получить представление о программах, написанных на языке QBasic.
2.Познакомиться с простейшими приѐмами работы в среде системы программирования QBasic (вход в среду, вход в меню, загрузка файла, сохра-
нение изменений в файле, запуск программы на выполнение, пользование
справкой).
Задание к работе
Запустить на выполнение и ознакомиться с работой программ, написан-
ных на языке QBasic (см. Приложение, файлы prim0001.bas – prim0012.bas). На основе программы, рисующей Российский флаг (файл prim0009.bas), создать программу, позволяющую в соответствии с вариантом задания (см. таблицу 1)
получить изображение флага одной из шестнадцати стран.
Таблица 1
Варианты заданий к лабораторной работе 1
|
№ |
Страна |
Флаг |
Цвета |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
1. |
Бельгия |
|
чёрный, жёлтый, |
|
|
|
|
красный |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
2. |
Дания |
|
красный, белый |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3
|
|
|
|
Продолжение табл. 1 |
||
|
|
|
|
|
|
|
|
№ |
Страна |
Флаг |
Цвета |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
3. |
Франция |
|
голубой, белый, |
|
|
|
|
красный |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
4. |
Финляндия |
|
белый, светло-голубой |
|
|
|
|
|
|
|
|
|
|
5. |
Мадагаскар |
|
белый, красный, |
|
|
|
|
зелёный |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
6. |
Италия |
|
зелёный, белый, |
|
|
|
|
красный |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
7. |
Исландия |
|
голубой, белый, |
|
|
|
|
красный |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
8. |
Чад |
|
голубой, жёлтый, |
|
|
|
|
красный |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
9. |
Норвегия |
|
красный, белый, |
|
|
|
|
голубой |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
10. |
Гвинея |
|
красный, жёлтый, |
|
|
|
|
зелёный |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
11. |
Швейцария |
|
красный, белый |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4
Окончание табл. 1
|
№ |
Страна |
Флаг |
Цвета |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
12. |
Нигерия |
|
зелёный, белый, |
|
|
|
|
зелёный |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
13. |
Швеция |
|
светло-голубой, |
|
|
|
|
жёлтый |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
14. |
Румыния |
|
голубой, жёлтый, |
|
|
|
|
красный |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
15. |
Мали |
|
зелёный, жёлтый, |
|
|
|
|
красный |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
16. |
ОАЭ |
|
красный, зелёный, |
|
|
|
|
белый, чёрный |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5
Лабораторная работа 2
Организация работы пользователя в среде системы
программирования QBasic
Цель работы: освоение порядка работы в среде системы программиро-
вания QBasic, овладение практическими навыками разработки и программиро-
вания вычислительного процесса линейной и разветвляющейся структур.
Задание для самостоятельной подготовки
1. Детально ознакомиться с порядком работы в среде системы програм-
мирования QBasic.
2. Изучить по конспекту лекций стандартные типы данных; правила за-
писи арифметических выражений; работу оператора присваивания; операторов ввода и вывода, условных операторов, правила записи логических выражений.
3. Ознакомиться с программой вычисления площади треугольника.
Задание к работе
Набрать программу вычисления площади треугольника s по формуле Ге-
рона:
|
|
|
s |
p( p a)( p b)( p c) , где p (a b c) / 2 . |
Вычислить площадь треугольника при тестовом (a = 3; b = 4; c = 5; s = 6)
и произвольном вариантах исходных данных.
Видоизменить программу, чтобы она учитывала то, что стороны тре-
угольника не могут быть отрицательными и сумма двух любых его сторон не может быть меньше третьей стороны (например, путѐм выдачи сообщения: «Неверные исходные данные. Повторите ввод» и организации повторного вво-
да исходных данных).
6
Программа вычисления площади треугольника на языке
QBasic
'Лабораторная работа 2
'Иванов Иван Иванович
'Группа Мт-190000
CLS
INPUT "Введите сторону треугольника a"; a
INPUT "Введите сторону треугольника b"; b
INPUT "Введите сторону треугольника c"; c p = (a + b + c) / 2
s = SQR(p * (p - a) * (p - b) * (p - c)) PRINT USING "Площадь треугольника #####.##"; s END
7
Лабораторная работа 3
Программирование алгоритмов разветвляющейся и
циклической структур
Цель работы: овладение практическими навыками разработки и про-
граммирования вычислительного процесса разветвляющейся и циклической
структур.
Задание для самостоятельной подготовки
1. Изучить возможности языка программирования QBasic для реализа-
ции:
1.1.условной и безусловной передачи управления;
1.2.вычислительного процесса разветвляющейся и циклической структур;
1.3.приѐма программирования – табулирования функции (вычисле-
ния значений функции при изменении значений аргумента в за-
данном диапазоне с шагом x).
2.Разработать алгоритм решения задачи в соответствии с заданием.
3.Составить программу табулирования функции.
4.Подготовить тесты (число тестов должно быть равно числу ветвей вы-
числительного процесса) для проверки правильности работы программы.
Задание к работе
Протабулировать функцию в соответствии с вариантом задания (см. таб-
лицу 2) путѐм многократного вычисления еѐ значения при изменении аргумен-
та в заданном диапазоне с заданным шагом (параметры, диапазон (начальное и конечное значения) и шаг изменения аргумента ввести с клавиатуры). Исполь-
зовать один из трѐх операторов цикла for – next, while – wend, do – loop (по ука-
занию преподавателя). Проверить правильность работы программы, протести-
8
ровав все три ветви алгоритма. Организовать вывод значений аргумента и вы-
численных значений функции в виде таблицы:
ТАБЛИЦА ФУНКЦИИ Y(X)
X Y
………………
………………
Таблица 2
Варианты заданий к лабораторной работе 3
|
№ |
Функция |
|
|
|
|
|
|
|
|
|
|
|
Пара- |
Диапазон |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
метры |
и шаг |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
1, |
|
|
|
|
|
|
|
|
|
|
|
|
|
если |
x 1; |
a = –0,5; |
x [0; 3]; |
|
||||
|
1. |
|
|
|
|
2 |
ln( x), |
|
|
|
|
|
|
если |
1 x 2; |
|
||||||||
|
y a x |
|
|
|
|
|
|
|
|
x = 0,15 |
|
|||||||||||||
|
|
|
|
a x |
cos(b x), |
|
|
|
если |
x 2 |
b = 2 |
|
||||||||||||
|
|
e |
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
x2 |
7 / x2 , |
|
|
|
если x 1,2; |
|
x [0,8; 2]; |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
2. |
y a x3 |
7 |
|
x, |
|
|
|
если |
1,2 x 1,4; |
a = 1,5 |
x = 0,1 |
|
|||||||||||
|
|
ln( x 7 |
|
|
|
|
|
|
|
|
|
если x 1,4 |
|
|
||||||||||
|
|
x ), |
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
a x2 |
b x c, |
|
|
|
если x 1,1; |
a = 2,8; |
x [1; 2]; |
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
3. |
|
|
|
|
|
x |
2 |
|
1, |
|
|
|
если 1,1 x 1,3; |
b = –0,3; |
|
|
|
||||||
|
y a / x |
|
|
|
|
|
|
x = 0,05 |
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
x2 1, |
|
x 1,3 |
|
|
||||||||
|
|
(a b x) / |
|
|
|
если |
c = 4 |
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x 2 |
7 / x 2 , |
|
|
|
если |
x 1,3; |
|
x [0,7; 2]; |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
4. |
y a x3 |
7 |
|
x, |
|
|
|
если |
1,3 x 1,5; |
a = 1,65 |
x = 0,1 |
|
|||||||||||
|
|
ln( x 7 |
|
|
|
|
|
|
||||||||||||||||
|
|
| x a |), |
если |
x 1,5 |
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1,5 a x cos |
2 |
(x), |
|
|
|
если |
x 1; |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
x [0,2; 3]; |
|
||||||||||||||
|
5. |
y |
1,8 a x (x 2)2 |
6 a x, |
если 1 x 2; |
a = 2,3 |
x = 0,2 |
|
||||||||||||||||
|
|
3 a x tg(x), |
|
|
|
|
|
|
если |
x 2 |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
e a x |
cos(a x), |
|
|
|
если x a 0,25; |
|
x [1; 5]; |
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
6. |
y x sin(a x), |
|
|
|
|
|
|
|
|
если |
a 0,25 x a 0,25; |
a = 2,5 |
x = 0,5 |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
3 |
|
x |
a, |
|
|
|
|
|
|
|
|
|
если |
x a 0,25 |
|
|
|||||
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
Продолжение табл. 2
№ |
Функция |
|
Пара- |
Диапазон |
|
метры |
и шаг |
||
|
|
|
||
|
|
|
|
|
|
b x ln(b x), |
если b x 0,9; |
|
x [0,1; 1]; |
|
|
|
|
|
7. |
y 1, |
если 0,9 b x 1,1; |
b = 1,5 |
x = 0,1 |
|
b x ln(b x), |
если b x 1,1 |
|
|
|
|
|
|
|
|
a cos2 (b x), |
если x 3,3; |
8. |
|
если 3,3 x 3,7; |
y a b c 1, |
||
|
a sin(b x) ln(| c x |), |
если x 3,7 |
|
|
|
a = 1;
x [2; 5];
b = 2;
x = 0,25
c = 3
|
sin 2 |
|
|
если x 0,85; |
|
|
| a x |, |
x [0,5; 2]; |
|||
|
|
|
|
|
|
9. |
y a 1, |
|
|
если 0,85 x 1,15; |
a = 20,3 |
|
ln( x 1), |
если x 1,15 |
x = 0,1 |
||
|
|
|
|
|
|
(ln 3 | x | x2 ) / | x t |,
10. y x t 1/ x,
cos(x) t sin 2 (x),
если x 0,5; |
x [0,2; 2]; |
||
если |
0,5 x 0,9; |
||
t = 2,2 |
|||
если |
x 0,9 |
x = 0,2 |
|
|
|
|
(a b) /(ex cos(x)), |
если x 2,8; |
a = 2,6; |
x [0; 7]; |
|||||
|
|
|
|
|
|
|
|
|
||
11. |
y |
(a b) /(x 1), |
если |
2,8 x 6; |
|
x = 0,5 |
||||
|
|
|
x |
sin( x), |
если |
x 6 |
b = –0,39 |
|||
|
e |
|
|
|
||||||
|
|
2 a cos(x) 3 x2 , |
если x 1; |
|
x [0,8; 2]; |
|||||
|
|
|
|
|
|
|
|
|
|
|
12. |
y 1, |
|
|
|
если |
1 x 1,3; |
a = 0,9 |
x = 0,1 |
||
|
|
|
|
|
|
|
|
x 1,3 |
|
|
|
|
|
|
|
|
|
|
|||
|
a ln( x) 3 | x |, |
если |
|
|
|
a / x b x2 c, |
если x 4; |
||
13. |
|
|
|
если 4 x 6; |
y x, |
|
|
||
|
|
3 |
, |
если x 6 |
|
a x b x |
|
a = 2,1;
x [1; 13];
b = 1,8;
x = 1
c = –20,5
|
a sin((x2 |
1) / n), |
если x 5; |
a = 0,3; |
x [1; 10]; |
|
|
|
|
||
14. |
y x, |
|
если 5 x 8; |
|
x = 1 |
|
a cos(x 1/ n), |
если x 8 |
n = 10 |
||
|
|
|
|
|
|
10