Автор работы: Пользователь скрыл имя, 28 Мая 2013 в 10:35, контрольная работа
Задание 1. Линейный вычислительный процесс. Построить блок-схему и написать программу вычисления выражения. Подобрать контрольный пример. Известны длина, высота и ширина аквариума. Сколько в нём можно содержать рыбок, если на каждую должно приходиться не менее N л.
Задание 5. Одномерные массивы. Написать программу формирования одномерного массива размера М. Полученный массив напечатать. Выполнить обработку и преобразование массива. Напечатать преобразованный массив. Подобрать контрольный пример. Найти произведение и количество элементов равных 5. Если таких элементов нет, то вывести сообщение об этом. Отсортировать массив по убыванию.
Задание 1. Линейный вычислительный процесс.
Построить блок-схему и написать программу вычисления выражения. Подобрать контрольный пример.
Известны длина, высота и ширина аквариума. Сколько в нём можно содержать рыбок, если на каждую должно приходиться не менее N л.
Обозначение переменных: а – длина, b – ширина, h – высота, V – объём аквариума, N – количество литров воды, приходящееся на 1 рыбку, n – количество рыбок, которых можно содержать в аквариуме.
Контрольный пример.
Зададим значения: а = 30 см., b = 50 см., h = 20 см., V = 30 л., N = 3 л., n = 10.
Блок – схема решения.
Программа.
REM Линейный вычислительный процесс
INPUT "Введите длину а, ширину b, высоту h, количество литров воды на 1 рыбку", а, b, h, N
V = a*b*h
N = V/N
PRINT "Количество рыбок n ="; n
END
Результат выполнения программы:
Количество рыбок n = 10
Задание 2. Вычисление арифметических выражений.
Построить блок-схему и написать программу вычисления выражения.
x = 1.876
с = 3.231
b = 5.865
Блок – схема решения.
Программа.
REM Вычисление выражения
DATA 1.876, 3.231, 5.865
READ x,c,b
A = (COS(x) + 2*x)/(2*SQR(x))
B = SQR(ABC(SIN(x) – LOG(3*x)) + c^b
d = A + B
PRINT "Значение выражения d ="; d
END
Результат выполнения программы:
Значение выражения d = 32.5454
Задание 3. Разветвляющийся вычислительный процесс.
Построить блок-схему и написать программу вычисления выражения. Подобрать контрольный пример.
Контрольный пример.
При x = 0 y = 1, при x = 1 y = 0.05, при x = 8 y = 2
Блок – схема решения.
Программа.
REM Разветвляющийся процесс
INPUT "Введите значения x = ", x
IF x <= 0 THEN
y = EXP(x) + x
ELSEIF x > 7 THEN
y = x – 6
ELSE
y = TAN(3*x)
IND IF
PRINT "При заданном значении x ="; x; "y ="; y
END
Результат выполнения программы:
При заданном значении x = 0 y = 1
При заданном значении x = 1 y = 0,05
При заданном значении x = 8 y = 2
Задание 4. Циклический вычислительный процесс.
Построить блок-схему и написать программу вычисления выражения.
Вычислите значение выражения, включающего 20 членов:
Запишем выражение в общем виде:
Блок – схема решения.
Программа.
REM Циклический вычислительный процесс
Y = 0
FOR i = 1 TO 20
Y = Y + ((1+i)*(4+i))/((2+i)*(5+i))
NEXT i
PRINT "Значение суммы равно "; Y
END
Результат выполнения программы:
Значение суммы равно 16,5
Задание 5. Одномерные массивы.
Написать программу формирования одномерного массива размера М. Полученный массив напечатать. Выполнить обработку и преобразование массива. Напечатать преобразованный массив. Подобрать контрольный пример.
Найти произведение и количество элементов равных 5. Если таких элементов нет, то вывести сообщение об этом. Отсортировать массив по убыванию.
Контрольный пример.
Зададим M = 6, массив Z = {1,2,5,10,-3,5}
Количество элементов равных 5 (Y) равно 2. Произведение элементов равных 5 (S) равно 25. Отсортированный массив Z = {10,5,5,2,1,-3}
Программа.
REM Одномерные массивы
INPUT "Введите количество элементов M = "; M
DIM Z(M)
PRINT "Исходный массив"
FOR i = 1 TO M
INPUT Z(i)
NEXT i
FOR i = 1 TO M
PRINT Z(i);
NEXT i
REM Нахождение количества элементов равных 5
R = 0
FOR i = 1 TO M
IF Z(i) = 5 THEN R + 1
NEXT i
IF R = 0 THEN
PRINT "Элементов равных 5 в массиве нет"
ELSE
PRINT "Количество элементов равных 5 равно "; R
END IF
REM Нахождение произведения элементов равных 5
S = 5^R
PRINT "Произведение элементов равных 5 равно "; S
REM Сортировка массива по убыванию
FOR i = 1 TO M-1
FOR j = i+1 TO M
IF Z(i) > Z(j) GOTO 10
f = Z(i)
Z(i) = Z(j)
Z(j) = f
10 NEXT j
NEXT i
PRINT "Отсортированный массив"
FOR i = 1 TO M
PRINT Z(i)
NEXT i
END
Результат выполнения программы:
Исходный массив
1,2,5,10,-3,5
Количество элементов равных 5 равно 2
Произведение элементов равных 5 равно 25
Отсортированный массив
10,5,5,2,1,-3
Информация о работе Основы алгоритмизации и программирования