Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Упражнения. 1. Составить определение и вызов функции подсчета суммы N первых элементов массива вещественных чисел



1. Составить определение и вызов функции подсчета суммы N первых элементов массива вещественных чисел.

Решение задачи на языке Turbo Pascal:

Type Massiv = array [1..100] of real;

Function Sum (M: Massiv, N: Integer): Real;

Var

S: Real;

I: Integer;

Begin

S:= 0;

I:=1;

While I<=N do begin

S:= S + M[I];

I:=I + 1;

end;

Sum:=S;

end;

Var

X: Massiv;

Begin

{вызов функции для вычисления суммы 10 элементов массива }

Sum (X, 10);

End.

2. Дано описание двух функций FNA и FNB и фрагмент программы на языке Basic:

DEF FNA (X) = 4*X

DEF FNB (A, B) = SQR (A + B)

…..

X = 1: A = 5: B = 4

Z = FNA(X) + FNA(A) + FNA (2)

W = FNB (Z, B)

PRINT Z; PRINT W

Что будет выведено?

Решение.

Z = FNA(1) + FNA(5) + FNA(2) = 4*1 + 4*5 + 4*2 = 32,

W = FNB (32, 4) = SQR (32 + 4) = Ö36 = 6

Будет выведено 32 6

3. Каким будет результат выполнения команд на языке Basic:

DEF FNX (A) = 5* A – C

C = 1

Y = FNX (FNX(1))

PRINT Y, FNX I

Решение. Y = FNX (5*1 – 1) = FNX(4) = 5*4 – 1 = 19

FNX(C) = 5*1-1 = 4

Будет выведено 19 4

4. Каким будет результат выполнения следующих команд на языке Basic, если введены числа 10, 15:

DEF FNX (A, B)

IF A>B THEN

FNX = 5* (A – B)

ELSE

FNX = B*B

END IF

END DEF

INPUT “C=”, C, “D=”, D

Y = FNX (C, D)

PRINT Y

Решение. Переменные C = 10, D = 15. Функция FNX(10, 15) = 15*15 = 225.

5. Каким будет результат выполнения следующих команд на языке Basic, если введены числа 6 7 5 4 8:

N = 5

DIM A(N)

CALL VVOD (N, A())

CALL OBR (N, A())

CALL VIVOD (N, A())

S =0

FOR I = 1 TO N

S = S + A(I)

NEXT I

PRINT “S= “,S

END

SUB VVOD (N, M())

FOR I=1 TO N

INPUT M(I)

NEXT I

END SUB

SUB OBR (N, M())

FOR I=1 TO N

IF M(I) mod 2 >0 THEN M(I) = M(I) +1

NEXT I

END SUB

SUB VIVOD(N, M())

FOR I=1 TO N

PRINT M(I)

NEXT I

END SUB

Решение.

Вызов подпрограммы CALL VVOD (N, A()) заполняет массив из 5 элементов: А(1)=6, А(2)=7, А(3)=5, А(4)=4, А(5)=8. Вызов подпрограммы CALL OBR (N, A()) преобразует массив А(): каждый нечетный элемент увеличивает на единицу, тогда значения элементов массива А(1)=6, А(2)=7+1=8, А(3)=5+1=6, А(4)=4, А(5)=8.Вызов подпрограммы CALL VIVOD (N, A()) выводит значения массива А(). Далее в программе вычисляется и выводится сумма элементов массива.

Результат работы программы будет следующий:

6 8 6 4 8 S=32

6. Дано описание двух функций FNA и FNB и фрагмент программы на языке Basic:

DEF FNA (X) = 2*X +5

DEF FNB (A, B) = A ^2+ B^2

…..

X = 0: A = 5: B = 4

Z = FNA(X) * FNA(2) – FNA (5)

W = FNB (A, B)

PRINT Z; PRINT W

Что будет выведено?

7. Каким будет результат выполнения следующих команд на языке Basic, если введены числа –23, 12:

DEF FNX (A, B)

IF abs (A) > B THEN

FNX = 2* (A + B)

ELSE

FNX = abs (A)*B

END IF

END DEF

INPUT “C=”, C, “D=”, D

Y = FNX (C, D)

PRINT Y

8. Каким будет результат выполнения следующих команд на языке Basic:

N = 5

DIM A(N, N)

FOR I=1 TO N

FOR J = 1 TO N

A(I, J) = 2*I –J

IF A(I,J) <0 THEN A(I,J)= N- A(I,J)

NEXT J

NEXT I

CALL OBR (N, A())

CALL VIVOD (N, A())

END

SUB OBR (N, M())

FOR I=1 TO N

FOR J=1 TO N

IF M(I,J) mod 3 >0 THEN M(I,J) = M(I,J) *3

NEXT J

NEXT I

END SUB

SUB VIVOD(N, M())

FOR J=1 TO N

S=0

FOR I=1 TO N

S=S+M(I, J)

NEXT I

PRINT “S(“, J, “)=”, S

NEXT J

END SUB





Дата публикования: 2015-01-14; Прочитано: 250 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...