Вы находитесь на странице: 1из 32

Московский Государственный Университет Технологий и

Управления
Филиал в г. Ростове-на-Дону

Отделение: «Информационные технологии»

Методические указания к лабораторным работам


по дисциплине

ИНФОРМАТИКА

Ростов-на-Дону - 2006 г.
2

Метод. указания к лабораторным работам по дисциплине


"Информатика" для студентов специальностей всех форм обучения.
/ МГУТУ; Сост. Евсин Н.Ф., Ростов-на-Дону, 2006.

Данные Методические указания предназначены для студентов


всех форм обучения Московского государственного университета
технологий и управления.
К моменту начала изучения дисциплине "Информатика"
студенты должны владеть базовыми навыками работы в
операционной системе компьютера Microsoft Windows XP.
Лабораторные работы выполняются на базе программного
продукта QBASIC. В каждой работе необходимо получить решение
задачи средствами алгоритмического языка BASIC, выполнив
следующие этапы:
1. Физическая постановка задачи
2. Математическое описание
3. Разработка алгоритма решения задачи
4. Программирование
5. Отладка программы
6. Выполнение расчета по исходным данным задачи

ЛАБОРАТОРНАЯ РАБОТА № 1
3

ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ

1.ЦЕЛЬ РАБОТЫ:
Освоить приемы постановки задачи, разработки алгоритмов линейной
структуры, их описания в виде блок-схем, написания программ на
алгоритмическом языке BASIC и получения результатов на
компьютере.

2.ПОРЯДОК ВЫПОЛНЕНИЯ:
Рассмотрим порядок выполнения на примере решения задачи о
вычислении объема цилиндра с основанием радиуса R и высотой H.
Как отмечалось выше, решение любой задачи на компьютере
содержит 6 этапов:

Этап 1.Физическая постановка задачи

 Вводимые данные: R, H – вещественные числа.


 Выводимые данные: V– объем цилиндра

Этап 2.Математическое описание

 Объем цилиндра:

3.14 (2R)2

V = --------------- H

Этап 3.Описание алгоритма решения задачи

Описание алгоритма вычисления объема цилиндра выполнено с


использованием графических объектов (блоков) по ГОСТ 19003 – 80:

BEGIN

Ввод R, H
4

Вычисление V

Вывод V

END

Этап 4.Программирование на алгоритмическом языке BASIC:

REM Вычисление объема цилиндра


CLS
INPUT “Ввод R, H”, R, H
LET V=3.14*(2*R)^2*H/4
PRINT “R=”, R, “H=”, H, “V=”, V
END

Этап 5.Отладка программы:

 Запустить приложение QBASIC с помощью ярлыка на Рабочем


столе персонального компьютера.
 Набрать текст программы (Этап 4) в открывшемся окне
редактора QBASIC. В процессе набора текста редактор
контролирует правильность написания операторов. В случае
обнаружения ошибки процесс редактирования прекращается до
тех пор, пока ошибка не будет устранена.
 Сохранить программу после окончания её набора, выполнив
команду «Сохранить как» из меню «Файл».
 Выполнить компиляцию (перевод с алгоритмического языка в
коды ЭВМ) программы. Для этого необходимо стартовать
команду «Запуск» из меню «Запуск». В процессе компиляции
могут быть обнаружены синтаксические ошибки в тексте
программы. После устранения всех ошибок компьютер создает
загрузочный (в кодах ЭВМ) модуль программы и сразу же
5

переходит к выполнению программы, начиная с первого


выполняемого оператора.
 Выполнить ввод с клавиатуры значений для R и H в ответ на
приглашение к вводу, появившееся на мониторе при выполнении
компьютером оператора INPUT. Помните, что значение одной
переменной отделяется от значения последующей, из списка
ввода оператора INPUT, нажатием клавиши “Запятая”.
Признаком окончания ввода всех значений из списка ввода
оператора INPUT является нажатие клавиши “ENTER”.
 Для проверки программы желательно ввести такие значения для
R и H, которые позволили бы легко получить результат при
ручном счете по формуле (Этап 2) и сравнить его с тем, что
выведет компьютер на монитор при выполнении оператора
PRINT. В данном примере для R=1 и H=1, если программа
работает правильно, на мониторе должно появиться V=3.14.
Если этого не произошло, необходимо проанализировать
алгоритм и текст программы, найти ошибку, исправить её и
выполнить этап 5 (отладка) снова.

Этап 6. Выполнение расчета по исходным данным задачи:

Выполнить расчет для следующих исходных данных:

R=2.5 метра

H=4.2 метра.

3. ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ № 1

Выполнить свой вариант задания. По результатам выполнения


оформить отчет:

1. Вычислить радиус описанной окружности и площадь


правильного треугольника со стороной А.
2. Вычислить длину окружности и площадь круга радиуса R.
3. Вычислить радиус описанной окружности и площадь
правильного пятиугольника со стороной А.
4. Вычислить площадь боковой поверхности конуса с основанием
радиуса R и высотой Н.
5. Вычислить радиус описанной окружности и площадь
правильного шестиугольника со стороной А.
6. Вычислить площадь боковой поверхности прямого кругового
конуса с радиусом основания R и высотой H.
7. Вычислить радиус описанной окружности и площадь
правильного восьмиугольника со стороной А.
6

8. Вычислить объем пирамиды с восьмиугольным основанием со


стороной А и высотой Н.
9. Вычислить радиус описанной окружности и площадь
правильного десятиугольника со стороной А.
10. Вычислить объем призмы с треугольным правильным
основанием со стороной А и высотой H.

4.СПРАВОЧНЫЙ МАТЕРИАЛ
4.1.Формулы для выполнения математического описания

№ Наименование Длина Радиус Площадь Объем Площадь


п/п окруж- описанной боковой
ности окружности поверхности
1 Треугольник A 3 A² 3
3 4
2 Пятиугольник 1 5 A² 25  10 5
A (  )
2 10 4
3 Шестиугольник А 3A² 3
2
4 Восьмиугольник 2 2 A²(1  2)
A 1
2
5 Десятиугольник A(1  5) 5 A² 5  2 5
2 2
6 Круг 2πR πR2

7 Призма с HхS
треугольным
основанием S и
высотой Н
8 Пирамида с H S
восьмиугольны 3
м основанием S
и высотой Н
9 Конус с R R ²  H ²
круговым
основанием S и
высотой Н
10 Сфера радиуса R 4R3 4πR2
3

ЛАБОРАТОРНАЯ РАБОТА № 2
7

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ

1.ЦЕЛЬ РАБОТЫ:
Освоить приемы постановки задач, разработки алгоритмов, где
решение о том, какое действие будет выполняться на следующем
шаге зависит от результата выполнения предыдущего шага, их
описания в виде блок-схем, написания программ на алгоритмическом
языке BASIC, описывающих такие алгоритмы и получения результатов
на компьютере.

2.ПОРЯДОК ВЫПОЛНЕНИЯ:
Рассмотрим порядок выполнения на примере решения задачи о
вычислении значения кусочно-ломаной функции Y(X) для
произвольного аргумента Х:

Y=10–0.5Х
Y=5+Х Y=5

0 X1

Этап 1. Физическая постановка задачи

 Вводимое данное: Х – вещественное число.


 Результат вычисления: Y – вещественное число.

Этап 2. Математическое описание

 Согласно условию задачи, Y вычисляется по одному из 3-х


уравнений в зависимости от того, в каком интервале находится
заданное значение Х:
 Первый интервал: при Х<0
 Второй интервал: при 0<=Х< X1
 Третий интервал: при X>= X1

 Координата X1 может быть определена из совместного решения


2-х уравнений: Y = 5 и Y = 10–0.5X.
 Результат решения: X1 = 10.
8

Этап 3. Описание алгоритма решения задачи

Описание алгоритма вычисления функции Y(X) выполнено с


использованием графических объектов (блоков) по ГОСТ 19003 – 80:

BEGIN

Ввод X

Да X<0 Нет

Y=5–X Да X > 10 Нет

Y = 10-0.5X Y=5

Вывод X,Y

END

Этап 4. Программирование на алгоритмическом языке BASIC


9

REM Вычисление значения функции Y(X)


CLS
INPUT “Ввод X”, X
IF X < 0 THEN
LET Y = 5 – X
ELSE
IF X > 10 THEN
LET Y = 10 - 0.5*X
ELSE
LET Y = 5
END IF
END IF
PRINT “X=”, X, “Y=”, Y
END

Этап 5. Отладка программы:

 Запустить приложение QBASIC с помощью ярлыка на Рабочем


столе персонального компьютера.
 Набрать текст программы (Этап 4) в открывшемся окне
редактора QBASIC. В процессе набора текста редактор
контролирует правильность написания операторов. В случае
обнаружения ошибки процесс редактирования прекращается до
тех пор, пока ошибка не будет устранена.
 Сохранить программу после окончания её набора, выполнив
команду «Сохранить как» из меню «Файл».
 Выполнить компиляцию (перевод с алгоритмического языка в
коды ЭВМ) программы. Для этого необходимо стартовать
команду «Запуск» из меню «Запуск». В процессе компиляции
могут быть обнаружены синтаксические ошибки в тексте
программы. После устранения всех ошибок компьютер создает
загрузочный (в кодах ЭВМ) модуль программы и сразу же
переходит к выполнению программы, начиная с первого
выполняемого оператора.
 Выполнить ввод с клавиатуры значения для X в ответ на
приглашение к вводу, появившееся на мониторе при выполнении
компьютером оператора INPUT. Признаком окончания ввода
значения Х является нажатие клавиши “ENTER”.
 Для проверки программы необходимо ввести три значения Х для
трех интервалов, которые позволили бы легко получить
результат при ручном счете по формулам (Этап 2) и сравнить их
с тем, что выведет компьютер на монитор при выполнении
оператора PRINT. В данном примере для Х= - 5 на мониторе
10

должно появиться Y=0, для Х= 1 на мониторе должно появиться


Y=5, а для Х= 100 на мониторе должно появиться Y= - 40. Если
этого не произошло, необходимо проанализировать алгоритм и
текст программы, найти ошибку, исправить её и выполнить этап
5 (отладка) снова.

Этап 6. Выполнение расчета по исходным данным задачи:

Выполнить расчет для следующих исходных данных:

Х = 2.5 ; Х = - 12.78; Х = 267.3985

3. ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ № 2

Выполнить свой вариант задания. По результатам выполнения


оформить отчет:

1.Даны 3 числа. Если первое число больше остальных, то вычислить и


напечатать сумму квадратов всех чисел. В противном случае
напечатать их произведение.

2.Даны 2 числа. Если сумма и произведение этих чисел больше 100,


то вычислить и напечатать удвоенный куб первого числа, в противном
случае напечатать оба числа.

3.Дано одно число. Если и синус, и косинус этого числа больше 0.3, то
вычислить и напечатать квадрат этого числа, в противном случае его
куб.

4.Даны 4 числа. Если сумма первых 2-х чисел больше 2-х последних,
то вычислить и напечатать тангенс 3-его числа. В противном случае
напечатать синус первого числа.

5.Даны 3 числа. Если среди них нет нулей, то вычислить и напечатать


произведение этих чисел. В противном случае – их утроенную сумму.

6. Дано 2 числа. Вычислить их сумму. Если она превышает 1000, то


вычислить и напечатать квадрат первого числа. В противном случае –
квадрат второго.

7.Дано 4 числа. Если среди них найдется число 999, то напечатать все
четыре числа, в противном случае – сумму 2-х последних.
11

8. Дано одно число. Вычислить его квадрат и синус. Если синус числа
положительный, то вычислить и напечатать его удвоенный тангенс. В
противном случае – утроенный косинус.

9. Дано 3 числа. Если все они отрицательные, то вычислить и


напечатать куб второго числа, в противном случае – произведение 2-х
первых чисел .

10. Дано 2 числа. Вычислить квадрат 2-го числа. Если он превышает


300, вычислить и напечатать квадрат первого числа, в противном
случае – напечатать второе число.

ЛАБОРАТОРНАЯ РАБОТА № 3

ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ


1.ЦЕЛЬ РАБОТЫ:
Освоить приемы постановки задач, разработки алгоритмов, где
требуется вычислять многократно по одним и тем же формулам, но с
разными значениями переменных, входящих в эти формулы, их
описания в виде блок-схем, написания программ на алгоритмическом
языке BASIC, описывающих такие алгоритмы и получения результатов
на компьютере.

2.ПОРЯДОК ВЫПОЛНЕНИЯ:
Рассмотрим порядок выполнения на примере решения задачи о
вычислении множества значений функции Y = Х2 + В, где В= X  C
, для аргумента Х, изменяющегося от ХНАЧ до ХКОН с шагом ∆Х:

Этап 1. Физическая постановка задачи

 Вводимые данные: ХНАЧ, ХКОН, ∆Х и С – вещественные числа.


 Результат вычисления: множество значений функции Y.

Этап 2. Математическое описание

1. Положить Х = ХНАЧ
2. Вычислить В
3. Вычислить Y
4. Распечатать Х и Y
5. Вычислить новое значение Х = Х + ∆Х
6. Проверить: если Х ≤ ХКОН, то продолжить повторно вычисления с
п.2, иначе прекратить вычисления.
12

Этап 3. Описание алгоритма решения задачи

Выполненное на предыдущем этапе математическое описание проще


всего реализовать с помощью циклических операций. Описание
алгоритма вычисления функции Y(X) выполнено с использованием
графических объектов (блоков) по ГОСТ 19003 – 80:

BEGIN

Ввод XN, XK,

DX, C

X=XN,XK,DX

END

Вычислить В

Вычислить Y

Вывод X,Y
13

NEXT A

Этап 4. Программирование на алгоритмическом языке BASIC

REM Вычисление множества значений функции Y(X)


CLS
INPUT “Ввод XN, XK, DX, C”, XN, XK, DX, C
FOR X=XN TO XK STEP DX
LET B = SQR(X+C)
LET Y = X2 +B
PRINT “X=”, X, “Y=”, Y
NEXT X
END

Этап 5. Отладка программы:

 Запустить приложение QBASIC с помощью ярлыка на Рабочем


столе персонального компьютера.
 Набрать текст программы (Этап 4) в открывшемся окне
редактора QBASIC. В процессе набора текста редактор
контролирует правильность написания операторов. В случае
обнаружения ошибки процесс редактирования прекращается до
тех пор, пока ошибка не будет устранена.
 Сохранить программу после окончания её набора, выполнив
команду «Сохранить как» из меню «Файл».
 Выполнить компиляцию (перевод с алгоритмического языка в
коды ЭВМ) программы. Для этого необходимо стартовать
команду «Запуск» из меню «Запуск». В процессе компиляции
могут быть обнаружены синтаксические ошибки в тексте
программы. После устранения всех ошибок компьютер создает
загрузочный (в кодах ЭВМ) модуль программы и сразу же
переходит к выполнению программы, начиная с первого
выполняемого оператора.
14

 Выполнить ввод с клавиатуры значений для XN, XK, DX, С в


ответ на приглашение к вводу, появившееся на мониторе при
выполнении компьютером оператора INPUT. Помните, что
значение одной переменной отделяется от значения
последующей, из списка ввода оператора INPUT, нажатием
клавиши “Запятая”. Признаком окончания ввода всех значений из
списка ввода оператора INPUT является нажатие клавиши
“ENTER”.
 Для проверки программы можно ввести следующие исходные
данные: XN=0, XK=10, DX=2, C=4, которые позволят легко
получить результат при ручном счете по формулам (Этап 2) и
сравнить их с тем, что выведет компьютер на монитор при
выполнении оператора PRINT. В данном примере исходных
данных на мониторе должно появиться 6 значений для Х и Y,
причем для Х= 0 на мониторе должно появиться Y= С. Если этого
не произошло, необходимо проанализировать алгоритм и текст
программы, найти ошибку, исправить её и выполнить этап 5
(отладка) снова.

Этап 6. Выполнение расчета по исходным данным задачи:

Выполнить расчет для следующих исходных данных:

ХN = 34.5; ХK = 412.8; DХ = 26.5

3. ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ № 3

1. Вычислить и напечатать значения функции Y=(X–6) 2, для


аргумента Х в диапазоне от 3 до 9, изменяющегося с шагом 2.
2. Вычислить и напечатать Y = Sin(X/12)/3X для Х = 2700, 900, 300,
… (всего 20 значений).
3. Вычислить и напечатать Y = Ln X3 + 1 для Х = 3, 11, 19, 27, …
(всего 30 значений).
4. Вычислить и напечатать Y = Х - X для Х = 2, 6, 18, 54, …
(всего 55 значений).
5. Вычислить и напечатать Y = X2 – 15CosX для Х =15, 19, 23,
27,31, … (всего 23 значения).
6. Вычислить и напечатать Y = Ln (Х + 8)/ X2 для Х = 3, 6, 12, 24,
…..(всего15 значений).
7. Вычислить и напечатать Y = Х + X 15 для Х = 15, 30, 60,
120, … (всего 25 значений).
15

8. Вычислить и напечатать Y = Х2 + 5Х для Х = 2400, 1200, 600,


300, … (всего 10 значений).
9. Вычислить и напечатать Y = (Х4 -3) для Х = 20, 14, 8, 2, …
(всего 25 значений).
10. Вычислить и напечатать Y = ( Х2 + 1) для Х = 1000, 500,
250, 125, … (всего 30 значений).

ЛАБОРАТОРНАЯ РАБОТА № 4

ПРОГРАММИРОВАНИЕ ВЫЧИСЛЕНИЯ СУММ


И ПРОИЗВЕДЕНИЯ РЯДОВ
1.ЦЕЛЬ РАБОТЫ:
Освоить приемы постановки задач, разработки алгоритмов, где
требуется вычислять суммы или произведения рядов, их описания в
виде блок-схем, написания программ на алгоритмическом языке
BASIC, описывающих такие алгоритмы и получения результатов на
компьютере.

2.ПОРЯДОК ВЫПОЛНЕНИЯ:
Рассмотрим порядок выполнения на примере решения задачи о
вычислении
n
 (( B  j ) X  j )
суммы
j 1
и
n
произведения  (( B  j ) X  j )
j 1
Этап 1. Физическая постановка задачи

 Вводимые данные: Х, B – числа вещественного типа


n – число целого типа.
 Результат вычисления: S – сумма
16

Р - произведение.

Этап 2. Математическое описание

 Значок ∑ обозначает вычисление суммы по формуле S = S +


(аргумент), стоящий под знаком суммы.
 Значок ∏ обозначает вычисление произведения по формуле P =
P x (аргумент), стоящий под знаком произведения.
 Вычисления выполняются в цикле, где счетчик цикла принимает
значения от j = 1 до j = n (эти параметры всегда указываются
под и над символом ∑ или ∏). Шаг изменения для j равен 1.
 До входа в цикл переменным, обозначающим сумму или
произведение необходимо присвоить начальное значение: S = 0
или P = 1.
 Поскольку в условиях данной задачи аргумент суммы и
произведения является одним и тем же, обозначим его
А = (B + j) X  j . Тогда S = S + A, P = P x A.
Этап 3. Описание алгоритма решения задачи

Выполненное на предыдущем этапе математическое описание


реализуется с помощью циклических операций. Описание алгоритма
вычисления функции Y(X) выполнено с использованием графических
объектов (блоков) по ГОСТ 19003 – 80:

BEGIN

Ввод X, B, n

S=0 P=1

J=1, n, 1

Вычислить A Вывод S, P
17

Вычислить S,P END

NEXT J

Этап 4. Программирование на алгоритмическом языке BASIC

REM Вычисление суммы S и произведения Р


CLS
INPUT “Ввод X, В, N%”, X, В, N%
LET S = 0
LET P = 1
FOR J%=1 TO N% STEP 1
LET A = (B+J%)*SQR(X*J%)
LET S = S +A
LET P = P*A
NEXT J%
PRINT “S=”, S, “P=”, P
END

Этап 5. Отладка программы

 Запустить приложение QBASIC с помощью ярлыка на Рабочем


столе персонального компьютера.
 Набрать текст программы (Этап 4) в открывшемся окне
редактора QBASIC. В процессе набора текста редактор
контролирует правильность написания операторов. В случае
обнаружения ошибки процесс редактирования прекращается до
тех пор, пока ошибка не будет устранена.
 Сохранить программу после окончания её набора, выполнив
команду «Сохранить как» из меню «Файл».
 Выполнить компиляцию (перевод с алгоритмического языка в
коды ЭВМ) программы. Для этого необходимо стартовать
команду «Запуск» из меню «Запуск». В процессе компиляции
могут быть обнаружены синтаксические ошибки в тексте
программы. После устранения всех ошибок компьютер создает
18

загрузочный (в кодах ЭВМ) модуль программы и сразу же


переходит к выполнению программы, начиная с первого
выполняемого оператора.
 Выполнить ввод с клавиатуры значений для X, B, N% в ответ на
приглашение к вводу, появившееся на мониторе при выполнении
компьютером оператора INPUT. Помните, что значение одной
переменной отделяется от значения последующей, из списка
ввода оператора INPUT, нажатием клавиши “Запятая”.
Признаком окончания ввода всех значений из списка ввода
оператора INPUT является нажатие клавиши “ENTER”.
 Для проверки программы можно ввести следующие исходные
данные: X=1, B=0, N%=2, которые позволят легко получить
результат при ручном счете по формулам (Этап 2) и сравнить их
с тем, что выведет компьютер на монитор при выполнении
оператора PRINT. В данном примере исходных данных на
мониторе должно появиться: S = 3.82 P= 2.82. Если этого не
произошло, необходимо проанализировать алгоритм и текст
программы, найти ошибку, исправить её и выполнить этап 5
(отладка) снова.

Этап 6. Выполнение расчета по исходным данным задачи

Выполнить расчет для следующих исходных данных:

Х = 3.5 ; B = 12.8; N% = 10

3. ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ № 4

Выполнить свой вариант задания. По результатам выполнения


оформить отчет:
n X J n
X
1. S = 
J  1 4  2J
6. Z =  cos(i  PI )
i 1

J
N 2 J Y sin( k / X )
2. P = 
J 1 J  4
7. G = 
k 1 2k  1

n  X  J K
 Ln( j  C )
8. Y = 

3. D = J  1 (3 J  B )
2j
j 1
19
J
k X
Sin(k / d )
4. R =  (k  D)
9. W = 
k 1 k 1 k

k  X  Ln(i  1) N
X j
5. P = 
iC
10. F =  ( j  X)
i 1 j 1

ЛАБОРАТОРНАЯ РАБОТА № 5

ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ОБРАБОТКИ


ОДНОМЕРНЫХ МАССИВОВ ДАННЫХ
1.ЦЕЛЬ РАБОТЫ:
Освоить приемы постановки задач, разработки алгоритмов, где
требуется выполнять различные операции над элементами
одномерных массивов, их описания в виде блок-схем, написания
программ на алгоритмическом языке BASIC, описывающих такие
алгоритмы и получения результатов на компьютере.

2.ПОРЯДОК ВЫПОЛНЕНИЯ:
Рассмотрим порядок выполнения на примере решения задачи об
организации массива М, состоящего из N элементов, для которого
требуется вычислить среднее арифметическое значение его
элементов, а также количество элементов с отрицательными
значениями.

Этап 1. Физическая постановка задачи

 Вводимые данные:
N – число целого типа, обозначающее размерность массива М
M(J) – обозначение элемента массива М.
 Результат вычисления:
S – среднее арифметическое
К - количество элементов с отрицательными значениями.

Этап 2. Математическое описание

 Среднее арифметическое значение для элементов массива М:


N

S=
 M ( j)
j 0

N 1
20

 Количество элементов с отрицательными значениями:

K = K + 1, если M(j) < 0,

где j = 0, 1, …., N;

K = 0 для j = 0

Этап 3. Описание алгоритма решения задачи

Выполненное на предыдущем этапе математическое описание


реализуется с помощью циклических операций. Описание алгоритма
вычисления функции Y(X) выполнено с использованием графических
объектов (блоков) по ГОСТ 19003 – 80:

BEGIN

Ввод n

S = 0, K = 0

J=1, n, 1

Ввод М(j) Вывод S, K

S = S + M(j)

END

Да

Да М(j) < 0 Нет


21

К=К+1

NEXT J

Этап 4. Программирование на алгоритмическом языке BASIC

REM Вычисление значения S и числа К


CLS
INPUT “Ввод размерности массива N%”, N%
DIM M(N%)
LET S = 0
LET K = 0
FOR J%=0 TO N% STEP 1
INPUT “Ввод элементов массива M(J%)”, M(J%)
LET S = S + M(J%)
IF M(J%) < 0 THEN
LET K = K + 1
END IF
NEXT J%
PRINT “S=”, S, “K=”, K
END

Этап 5. Отладка программы

 Запустить приложение QBASIC с помощью ярлыка на Рабочем


столе персонального компьютера.
 Набрать текст программы (Этап 4) в открывшемся окне
редактора QBASIC. В процессе набора текста редактор
контролирует правильность написания операторов. В случае
обнаружения ошибки процесс редактирования прекращается до
тех пор, пока ошибка не будет устранена.
 Сохранить программу после окончания её набора, выполнив
команду «Сохранить как» из меню «Файл».
 Выполнить компиляцию (перевод с алгоритмического языка в
коды ЭВМ) программы. Для этого необходимо стартовать
команду «Запуск» из меню «Запуск». В процессе компиляции
могут быть обнаружены синтаксические ошибки в тексте
программы. После устранения всех ошибок компьютер создает
загрузочный (в кодах ЭВМ) модуль программы и сразу же
переходит к выполнению программы, начиная с первого
выполняемого оператора.
22

 Выполнить ввод с клавиатуры значений для X, B, N% в ответ на


приглашение к вводу, появившееся на мониторе при выполнении
компьютером оператора INPUT. Помните, что значение одной
переменной отделяется от значения последующей, из списка
ввода оператора INPUT, нажатием клавиши “Запятая”.
Признаком окончания ввода всех значений из списка ввода
оператора INPUT является нажатие клавиши “ENTER”.
 Для проверки программы можно ввести следующие исходные
данные:N%=2, M(0)=1, M(1)=1, M(2)=-2, которые позволят легко
получить результат при ручном счете по формулам (Этап 2) и
сравнить их с тем, что выведет компьютер на монитор при
выполнении оператора PRINT. В данном примере исходных
данных на мониторе должно появиться: S = 0 P= 1 Если этого не
произошло, необходимо проанализировать алгоритм и текст
программы, найти ошибку, исправить её и выполнить этап 5
(отладка) снова.

Этап 6. Выполнение расчета по исходным данным задачи

Выполнить расчет для следующих исходных данных:


N% = 7,
Элементы массива M:
-1.2 7.8 5.9 -9.8 -7.6 -4.7 3.8 -5.5

3. ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ № 5

Выполнить свой вариант задания. По результатам выполнения


оформить отчет:

1. Организуйте массив. Определите значение и порядковый номер


максимального элемента.
2. Организуйте массив. Подсчитайте число и сумму положительных и
отрицательных чисел.
3. Организуйте массив. Подсчитайте число и сумму четных и нечетных
чисел.
4. Организуйте массив. Замените первое отрицательное число на (-1),
второе – на (- 2) и т.д.
5. Организуйте массив. Замените первое нечетное число на 1, второе
– на 3, третье – на 5 и т.д.
6. Организуйте массив. Определите значение и номер последнего
положительного числа.
7. Организуйте массив. Определите сумму элементов с четными и
нечетными индексами.
23

8. Организуйте массив. Замените первое четное число на 0, второе –


на 2, третье – на 4 и т.д.
9. Организуйте массив. Определите значение и порядковый номер
минимального элемента.
10. Организуйте массив. Определите значение и номер последнего
отрицательного числа.

ЛАБОРАТОРНАЯ РАБОТА № 6

ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ОБРАБОТКИ


ГРАФИЧЕСКИХ ОБЪЕКТОВ

1.ЦЕЛЬ РАБОТЫ:
Освоить приемы постановки задач, разработки алгоритмов, где
требуется определить находится ли заданная точка в области на
плоскости, ограниченной алгебраическими уравнениями, их описания
в виде блок-схем, написания программ на алгоритмическом языке
BASIC, описывающих такие алгоритмы и получения результатов на
компьютере.

2.ПОРЯДОК ВЫПОЛНЕНИЯ:
Рассмотрим порядок выполнения на примере решения задачи, в
которой необходимо определить находится ли заданная точка М(x,y) в
заштрихованной области или нет:
Y

x2 + y2 = 4

y=1

X
0

y=-1

Этап 1. Физическая постановка задачи

 Вводимые данные:
24

X1, Y1 – вещественные числа, обозначающие координаты точки М

 Результат вычисления:
“ПОПАЛА” – если точка М попала в заштрихованную область.
“МИМО” – если точка М не попала в заштрихованную область.

Этап 2. Математическое описание

1.Точка М(x1,y1), находящаяся в заштрихованной области


удовлетворяет следующим условиям:

 y1 ≥ 1 и y1 ≤ (4 – x 12) – верхняя заштрихованная область


 y1 ≤ 1 и y1 ≥ (4 – x 12) – нижняя заштрихованная область

2. Логическое выражение, описывающее попадания точки


М(x1,y1) в одну из заштрихованных областей:

F = y1 ≥ 1 AND y1 ≤ (4 – x 12) OR y1 ≤ 1 AND y1 ≥ (4 – x 12)

Этап 3. Описание алгоритма решения задачи

Выполненное на предыдущем этапе математическое описание


реализуется в виде следующего алгоритма вычисления с
использованием графических объектов (блоков) по ГОСТ 19003 – 80:

BEGIN

Ввод X, Y

Вычисление F

Да F Нет
25

ПОПАЛА МИМО

END
Этап 4. Программирование на алгоритмическом языке BASIC

REM Определение положения точки на плоскости


CLS
INPUT “Ввод координат точки М(X1,Y1)”, X1,Y1

LET F = Y1 >= 1 AND Y1 <= SQR(4 – X1^2) OR Y1 <= 1 AND Y1 >= SQR (4 – X1^2)

IF F THEN
PRINT “ПОПАЛА”
ELSE
PRINT “МИМО”
END IF
END

Этап 5. Отладка программы

 Запустить приложение QBASIC с помощью ярлыка на Рабочем


столе персонального компьютера.
 Набрать текст программы (Этап 4) в открывшемся окне
редактора QBASIC. В процессе набора текста редактор
контролирует правильность написания операторов. В случае
обнаружения ошибки процесс редактирования прекращается до
тех пор, пока ошибка не будет устранена.
 Сохранить программу после окончания её набора, выполнив
команду «Сохранить как» из меню «Файл».
 Выполнить компиляцию (перевод с алгоритмического языка в
коды ЭВМ) программы. Для этого необходимо стартовать
команду «Запуск» из меню «Запуск». В процессе компиляции
могут быть обнаружены синтаксические ошибки в тексте
программы. После устранения всех ошибок компьютер создает
загрузочный (в кодах ЭВМ) модуль программы и сразу же
переходит к выполнению программы, начиная с первого
выполняемого оператора.
 Выполнить ввод с клавиатуры значений для X, Y в ответ на
приглашение к вводу, появившееся на мониторе при выполнении
компьютером оператора INPUT. Помните, что значение одной
26

переменной отделяется от значения последующей, из списка


ввода оператора INPUT, нажатием клавиши “Запятая”.
Признаком окончания ввода всех значений из списка ввода
оператора INPUT является нажатие клавиши “ENTER”.
 Для проверки программы можно ввести, например, координаты
следующих трех точек:
1.Точка М(х1,у1) находится в верхней заштрихованной области,
если х1=0, у1=1.5.
2.Точка М(х2,у2) находится в верхней заштрихованной области,
если х2=0, у2= -1.5.
3.Точка М(х3,у3) находится вне заштрихованных областей,
если х3=0, у3=0.
В первом и втором вариантах данных на мониторе должно
появиться сообщение “ПОПАЛА”. В третьем варианте - “МИМО”.
Если этого не произошло, необходимо проанализировать алгоритм и
текст программы, найти ошибку, исправить её и выполнить этап 5
(отладка) снова.

Этап 6. Выполнение расчета по исходным данным задачи

Выполнить расчет для следующих исходных данных:

М1(12.8,120); М1(1.2,1.5); М1(-1.8,-1.6);

3. ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ № 6

Выполнить свой вариант задания. По результатам выполнения


оформить отчет:

1 2

3   4      
27

5                                                                     6

            

 
 
 
                                                                                                    

7 8

            

9                                                                 10
28

ОПИСАНИЕ НЕКОТОРЫХ ОПЕРАТОРОВ ЯЗЫКА BASIC

1.Оператор присваивания «LET»


 Назначение: вычисление арифметических и логических выражений

 Общая форма записи:

LET Y = < арифметическое или логическое выражение >

 Порядок работы:

При выполнении оператора LET компьютер:


 Вычисляет значение выражения стоящего справа от знака присваивания
=;
 Записывает это значение в ячейку памяти отведенную для хранения
переменной, стоящей слева от знака присваивания;
 Переходит к выполнению следующего оператора программы.

 Пример записи оператора LET:

Z=2, А=3.5+EXP(8), S=X^4+Y/2.

2.Оператор ввода INPUT


 Назначение: ввод данных с клавиатуры в оперативную память
компьютера

 Общая форма записи:

INPUT “Комментарии ввода”, < Список переменных ввода >

Здесь:
29

“Комментарии ввода” – служит для пояснения смысла переменных из


последующего списка; является необязательным элементом оператора
INPUT.

Список переменных ввода – одна или несколько переменных,


разделенных запятыми.

 Порядок работы:

При выполнении оператора INPUT компьютер:


 Выводит на экран информацию, помещенную между кавычками “”
комментариев ввода, если они присутствуют в операторе;
 Останавливается и ждет, пока программист не наберет на клавиатуре
значение для вводимой переменной из списка переменных ввода;
 После окончания набора значения переменной, подтвержденного
нажатием клавиши Enter, компьютер записывает это значение в ячейку
памяти, выделенную для хранения вводимой переменной, и переходит к
вводу следующей переменной из Списка переменных ввода;
 Переходит к выполнению следующего оператора программы после
исчерпания Списка переменных ввода.

 Пример записи оператора INPUT:

INPUT “Размерность массива N=”, N


INPUT “Простые переменные А и В”, А, В

Пояснения:
Здесь вводятся значения 3-х переменных N, A, B c комментариями.

3. Оператор вывода PRINT


 Назначение: вывод данных из оперативной памяти на монитор
компьютера

 Общая форма записи:

PRINT “Комментарии вывода”, < Список переменных вывода >

Здесь:
“Комментарии вывода” – служит для пояснения смысла переменных
из последующего списка; является необязательным элементом оператора
PRINT.
Список переменных вывода – одна или несколько переменных,
разделенных запятыми или точками с запятой. При использовании запятой
30

печать будет зонной по 14 символов для каждой переменной. При


использовании точки с запятой, значение одной переменной из списка
вывода отделяется одним пробелом от значения другой переменной.
Комментарии вывода и переменные списка вывода могут
чередоваться.

 Порядок работы:

При выполнении оператора PRINT компьютер:


 Выводит на экран информацию, помещенную между кавычками “”
комментариев вывода, если они присутствуют в операторе, и значения
для переменных из списка вывода;
 Переходит к выполнению следующего оператора программы после
исчерпания Списка переменных вывода.

 Пример записи оператора PRINT:

PRINT “Размерность массива N=”; N, “Переменная А= ”; А, “В=”; B

Пояснения:
Здесь выводятся на монитор значения 3-х переменных N, A, B c
соответствующими комментариями.

4.Оператор условного перехода IF


 Назначение: служит для изменения естественного порядка
выполнения операторов программы в зависимости от значения
некоторого логического выражения (условия).

 Общая форма записи:

IF <Логическое выражение> THEN


<Операторы программы, кроме нового оператора IF>
ELSE
<Любые операторы программы>
END IF

 Порядок работы:
При выполнении оператора IF компьютер:
 Вычисляет значение <Логическое выражение>;
31

 Передает управление на операторы, стоящие после THEN, если значение


Логического выражения – “Истинно”;
 Передает управление на операторы, стоящие после ELSE, если значение
Логического выражения – “Ложно”;
 Передает управление на оператор, стоящий после END IF, после
выполнения операторов, стоящих после THEN

 Пример записи оператора IF:

IF A>B THEN
C=A+D
ELSE
C=B-A
END IF
PRINT “C=”; C; “При А=”; A; “и В=”; B

5. Оператор цикла типа FOR - NEXT


 Назначение: организация циклических вычислений

 Общая форма записи:

FOR I=nn TO nk STEP ni

< Операторы тела цикла>

NEXT I
Здесь:
I – параметр цикла (счетчик);
nn – начальное значение параметра цикла (счетчика);
nk – конечное значение параметра цикла (счетчика);
ni – шаг изменения параметра цикла (счетчика);

 Порядок работы:

При выполнении оператора цикла компьютер:


 Присваивает параметру цикла (счетчику) начальное значение.
 Сравнивает это текущее значение параметра цикла с конечным его
значением:
- если I > nk, то управление передается на оператор, следующий за
оператором NEXT;
32

- если I <= nk, то управление передается на первый оператор из тела


цикла.
 После выполнения последнего оператора из тела цикла, компьютер
переходит к выполнению оператора NEXT.
 Оператор NEXT всегда возвращает управление на заголовок цикла
(строку, которая начинается со слова FOR). При переменная цикла
получает приращение I = I + ni

 Пример записи оператора цикла типа FOR – NEXT:

FOR K%=0 TO 15 STEP 1


INPUT “Ввод элемента массива M(K)=”, M(K%)
NEXT K%

6. Оператор безусловного перехода GOTO.


 Назначение: передача управления на оператор, стоящий до или после
текущего.

 Общая форма записи:

GOTO <метка_оператора>

Здесь:
<метка_оператора> - метка оператора, на который передается
управление

 Порядок работы:

При выполнении оператора компьютер передает управление на


оператор с меткой <метка_оператора>.

 Пример записи оператора:

GOTO 25
. . .
25 PRINT Х, ВА

Пояснения:

Передает управление оператору с меткой 25.