Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Oparin

.pdf
Скачиваний:
9
Добавлен:
23.02.2015
Размер:
433.77 Кб
Скачать

Министерство образования и науки Российской Федерации ФГАОУ ВПО «УрФУ имени первого Президента России Б.Н.Ельцина»

Д.В. Опарин

ПРАКТИКУМ ПО АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЮ

НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ QBASIC

Учебное электронное текстовое издание Подготовлено кафедрой

«Интеллектуальные информационные технологии» Научный редактор: доцент, канд. техн. наук В.Г. Томашевич

Практикум по дисциплине «Информатика» для студентов всех форм обучения всех специальностей.

Дополняет конспект лекций «Алгоритмизация и программирование на языке высокого уровня QBasic» (2009 г.). Включает 7 лабораторных работ, рассматривающих основные вопросы раздела дисциплины «Информатика» «Программирование вычислительных задач с использованием алгоритмического языка высокого уровня». Приведены задания для самостоятельной подготовки и варианты заданий к работе.

© УрФУ, 2010

Екатеринбург

Содержание

 

Лабораторная работа 1. Первые программы на QBasic ................................

3

Лабораторная работа 2. Организация работы пользователя в

 

среде системы программирования QBasic ...........................................

6

Лабораторная работа 3. Программирование алгоритмов

 

разветвляющейся и циклической структур..........................................

8

Лабораторная работа 4. Обработка одномерных массивов........................

12

Лабораторная работа 5. Обработка матриц..................................................

16

Лабораторная работа 6. Знакомство с подпрограммами.............................

20

Лабораторная работа 7. Программирование с использованием

 

подпрограмм пользователя..................................................................

21

Библиографический список ...........................................................................

26

Приложение. Примеры программ на языке QBasic (файлы

 

prim0001.bas – prim0012.bas). ..............................................................

27

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 для реализации:

условной и безусловной передачи управления;

вычислительного процесса разветвляющейся и циклической структур;

приёма программирования – табулирования функции (вычисления значений функции при изменении значений аргумента в заданном

диапазоне с шагом 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.

 

 

 

 

 

 

 

 

 

 

 

 

 

если 1 x 2;

 

 

y = a x2 ln(x),

 

 

 

 

b = 2

x = 0,15

 

 

 

 

 

 

a x

 

cos(b x),

 

 

если

x > 2

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

π x

2

7 / x

2

,

если x <1,2;

 

x [0,8; 2];

 

 

2.

 

 

 

 

a = 1,5

 

 

y = a x3 + 7

 

x,

 

 

если 1,2 x 1,4;

x = 0,1

 

 

 

 

ln(x + 7

 

x ),

 

если x >1,4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a x2

+b x +c,

если x <1,1;

a = 2,8;

x [1; 2];

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

 

 

 

 

 

 

+

x2 +1,

если 1,1 x 1,3;

b = –0,3;

 

 

 

 

y = a / x

x = 0,05

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 +1,

если x >1,3

c = 4

 

 

 

 

(a +b x) /

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

π x

2

7 / x

2

,

если

x <1,3;

 

x [0,7; 2];

 

 

4.

 

 

 

 

a = 1,65

 

 

y = a x3

+ 7

 

x,

 

если 1,3 x 1,5;

x = 0,1

 

 

 

 

ln(x + 7

| x + a |),

если

x >1,5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,5 a x cos

2

(x),

если

x <1;

 

 

 

 

 

 

 

 

 

 

 

 

 

5.

 

 

a = 2,3

x [0,2; 3];

 

 

y =

1,8 a x (x 2)2 + 6 a x,

если 1 x 2;

x = 0,2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если

x > 2

 

 

 

 

 

3 a x tg(x),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a x

 

 

 

 

 

 

 

если x <a 0,25;

 

 

 

 

 

6.

e

 

 

 

cos(a x),

a = 2,5

x [1; 5];

 

 

y = x sin(a x),

 

 

 

 

 

если a 0,25 x a +0,25;

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.

 

если

0,9 b x 1,1;

b = 1,5

y = 1,

x = 0,1

 

 

если

b x >1,1

 

 

b x + ln(b x),

 

 

 

2

 

если

 

 

a cos

(b x),

x <3,3;

8.

 

y = a + b + c +1,

если 3,3 x 3,7;

 

a sin(b x) ln(| c x |),

если

x >3,7

 

 

 

 

 

 

a = 1;

x [2; 5];

b = 2;

x = 0,25

c = 3

 

sin 2 | a x |,

 

если x <0,85;

 

 

x [0,5; 2];

9.

 

 

 

 

 

 

 

 

 

если 0,85 x 1,15;

a = 20,3

y = a +1,

 

 

 

 

 

x = 0,1

 

 

 

 

 

 

 

 

 

 

если x >1,15

 

 

 

ln(x +1),

 

 

 

 

 

 

 

 

 

 

(ln3 | x | +x2 ) / | x +t |,

если x <0,5;

 

 

x [0,2; 2];

10.

 

 

x +t +1/ x,

если 0,5 x 0,9;

t = 2,2

 

y =

 

 

x = 0,2

 

cos(x) +t sin 2 (x),

если x >0,9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(a + b) /(e

x

+ cos( x)),

если

x < 2,8;

a = 2,6;

x [0; 7];

 

 

11.

 

 

y =

(a + b) /(x +1),

если 2,8 x 6;

b = –0,39

x = 0,5

 

 

 

x

+ sin( x),

 

если

x > 6

 

e

 

 

 

 

 

 

 

 

2 a cos(x) +3 x2 ,

если x <1;

 

 

x [0,8; 2];

12.

 

1,

 

 

 

 

 

 

если 1 x 1,3;

a = 0,9

 

y =

 

 

 

 

 

 

 

x = 0,1

 

 

 

 

 

 

 

 

 

 

если x >1,3

 

 

 

a ln(x) + 3 | x |,

 

 

 

 

 

 

 

 

 

2

 

если

 

a = 2,1;

 

 

 

a / x + b x

+ c,

x < 4;

 

 

x [1; 13];

13.

 

 

b = 1,8;

y = x,

 

 

 

 

 

 

если 4 x 6;

x = 1

 

 

 

 

 

 

 

 

 

 

если

x > 6

c = –20,5

 

a x + b x3 ,

 

 

 

 

 

 

 

2

 

 

 

 

если

 

 

 

 

 

 

a sin(( x

+1) / n),

x <5;

a = 0,3;

x [1; 10];

14.

 

y = x,

 

 

 

 

 

 

если 5 x 8;

n = 10

Окончание табл. 2

 

 

 

 

 

 

 

 

 

 

 

 

a cos( x +1/ n),

если

x >8

 

x = 1

 

 

 

 

 

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]