Консультация № 177142
08.03.2010, 11:03
45.00 руб.
0 2 1
Не могу решить контрольную, помогите пожалуйста!
1. Имеется четыре A,B,C,D произвольных числа. ЭВМ должна ответить на вопрос: Правда ли что среди чисел есть четные? Ответ ЭВМ должна вывести в виде текста – слов ”Правда” или ”Неправда”.
2. Составить программу вычисления и выдачи на печать суммы (или произведения) N элементов бесконечного числового ряда.
y=-2+5-8+11-14+...
3. Имеется массив А из N произвольных чисел А(N), среди которых есть положительные, отрицательные и равные нулю. Составить программу, выполняющую задачу.
Вычислить количество чисел, квадрат которых меньше 10. Например, если А={2,4,–3,3,5,–2,1}, результат: 5 (это числа 2, –3, 3, –2, 1).
4. Составить программу вычисления числового ряда для известного числа членов ряда N. Перед программированием следует выявить и написать необходимые аналитические соотношения, описывающие все имеющиеся зависимости.
Y=(2+1/81)-(4-2/27)+(8+4/9)-(16-8/3)+..
5. Выполнить действия над массивами. В таблице при формулировании задания для разъяснения его сути справа отображены примеры исходных Х и результирующих Y массивов с конкретными числами. Программа, естественно, должна обрабатывать любые числа. Предельная размерность массивов до 10, реальная размерность – N. Программа должна предъявлять исходные и новые (если требуется) массивы.
Переписать все элементы Х для 3<X(i)<10 в начало Y, подсчитать их количество и среднее арифметическое. В примере таких чисел 3. Среднее 18/3=6.
1__4__2__8__6__11__Х
4__8__6__..__..__..__Y


Приложение:
Указания к решению задания 4.: http://narod.ru/disk/18559592000/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%20Microsoft%20Word%20(4).doc.html

Обсуждение

давно
Модератор
137394
1850
08.03.2010, 12:49
общий
ali-babaih2469:
В каком Basic это надо сделать?
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Модератор
137394
1850
08.03.2010, 17:52
общий
это ответ
Здравствуйте, ali-babaih2469. Вы не указали версию Basic. Вот решения (я их сделвл в QBasic) , которые можно скачать:
177142_1.bas (278 байт)
177142_2.bas (249 байт)
177142_3.bas (426 байт)
177142_4.bas (440 байт)
177142_5.bas (1.4 кб)
Вот код решений
1.
Код:
CLS
DIM a AS SINGLE, b AS SINGLE, c AS SINGLE, d AS SINGLE
DIM Y AS SINGLE

INPUT "a=", a
INPUT "b=", b
INPUT "c=", c
INPUT "d=", d

IF (a MOD 2) = 0 OR (b MOD 2) = 0 OR (c MOD 2) = 0 OR (d MOD 2) = 0 THEN
PRINT "Правда"
ELSE
PRINT "Неправда"
END IF

2.
Код:
CLS
DIM Y, Elem AS LONG, N, i, k AS INTEGER

PRINT "Ряд Y= -2 +5 -8 +11 - ..."
INPUT "Число элементов ряда N=", N

Y = 0
Elem = 2
k = -1

FOR i = 1 TO N
Y = Y + Elem * k
Elem = Elem + 3
k = -k
NEXT

PRINT "Сумма ряда Y="; Y

3.
Код:
CLS

DIM N, M, i AS INTEGER
INPUT "Число элементов массива N=", N

REDIM A(1 TO N) AS SINGLE

' ----- Ввод элементов мссива
PRINT "Введите элементы массива A(N)"
FOR i = 1 TO N
PRINT "A(" + STR$(i) + ")=";
INPUT A(i)
NEXT

' ----- Подсчет элементов квадрат которых <10
M = 0
FOR i = 1 TO N
IF A(i) * A(i) < 10 THEN M = M + 1
NEXT

PRINT "Кол-во элементов массива квадрат которых < 10 = "; M


4. Аналитические соотношения для членов ряда (i=1...N):
Первое слагаемое в скобке: 2^i
Второе слагаемое в скобке, числитель: (-1)^(i-1)*2^(i-1)
Второе слагаемое в скобке, знаменатель: 3^(5-i)
Множитель перед скобкой: (-1)^(i-1)

После упрощения общий член ряда (-1)^(i-1)*2^i*(1+(-1)^(i-1)/2/3^(5-i))
Код:
CLS

DIM N, i, k AS INTEGER
DIM Y AS DOUBLE
DIM E2, E3 AS LONG

PRINT "Ряд Yi = (-1)^(i-1)*2^i*(1+(-1)^(i-1)/2/3^(5-i))"

INPUT "Число элементов ряда N=", N

k = -1 ' (-1)^(i-1)
E2 = 1 ' 2^i
E3 = 243 ' 3^(5-i)
Y = 0 ' Cумма ряда

FOR i = 1 TO N
k = -k
E2 = E2 * 2
E3 = E3 / 3
Y = Y + k * E2 * (1 + k / E3 / 2)
PRINT k * E2 * (1 + k / E3 / 2)
NEXT

PRINT "Сумма элементов ряда = "; Y


5.
Код:
DIM N, M, i, K, Logika AS INTEGER
DIM S AS SINGLE

Logika = 1
DO WHILE Logika <> 0
CLS
INPUT "Число элементов массива N=", N
REDIM X(1 TO N), Y(1 TO N) AS SINGLE

' ----- Ввод элементов мссива X
PRINT "Введите элементы массива X(i)"
FOR i = 1 TO N
PRINT "X(" + STR$(i) + ")=";
INPUT X(i)
NEXT

' ---- Перепишем элементы массива 3<X(i)<10 в массив Y
' Подсчитаем сумму этих элементов и их число
S = 0
M = 0
FOR i = 1 TO N
IF 3 < X(i) AND X(i) < 10 THEN
M = M + 1
Y(M) = X(i)
S = S + X(i)
END IF
NEXT

K = M

' ---- Перепишем элементы массива вне диапазона 3<X(i)<10 в массив Y
IF M + 1 <= N THEN
FOR i = 1 TO N
IF NOT (3 < X(i) AND X(i) < 10) THEN
M = M + 1
Y(M) = X(i)
END IF
NEXT
END IF

' ----- Вывод элементов мссива Y(i)
PRINT "Элементы массива Y(i)"
FOR i = 1 TO N
PRINT "Y(" + STR$(i) + ")=";
PRINT Y(i)
NEXT

PRINT "Кол-во элементов 3<X(i)<10 K=" + STR$(K)

' --- Среднее элементов массива 3<X(i)<10
IF K > 0 THEN
S = S / K
PRINT "Среднее этих элементов S=";
PRINT STR$(S)
END IF

Logika = 0
PRINT
PRINT "Для завершения программы нажмите Enter или введите 0"
INPUT "Для продолжения введите люое ненулевое значение ", Logika

LOOP


5
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа