Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задачи с решениями.doc
Скачиваний:
24
Добавлен:
24.12.2018
Размер:
110.59 Кб
Скачать

5

Задачи с решениями

1. Одномерные массивы

Дан одномерный массив.

Произвести циклический сдвиг массива

на один элемент влево

DIM I AS INTEGER, N AS INTEGER, B AS INTEGER

INPUT "N="; N

DIM A%(N)

FOR I = 1 TO N

PRINT "A(="; I; ")=";

Input a(I)

NEXT I

B = A(1)

FOR I = 1 TO N - 1

A(I) = A(I + 1)

NEXT I

A(N) = B

FOR I = 1 TO N

PRINT "A("; I; ")="; A(I);

NEXT I

END

Сдвиг массива на один элемент вправо

DIM I AS INTEGER, N AS INTEGER, B AS INTEGER

INPUT "N="; N

DIM A%(N)

FOR I = 1 TO N

PRINT "A(="; I; ")=";

Input a(I)

NEXT I

B = A(N)

FOR I = N TO 2 STEP -1

A(I) = A(I - 1)

NEXT I

A(1) = B

FOR I = 1 TO N

PRINT "A("; I; ")="; A(I);

NEXT I

END

Сдвиг массива на k элементов вправо

DIM I AS INTEGER, N AS INTEGER, B AS INTEGER, K AS INTEGER, J AS INTEGER

INPUT "N="; N

INPUT "K="; K

DIM A%(N)

FOR I = 1 TO N

PRINT "A(="; I; ")=";

Input a(I)

NEXT I

FOR J = 1 TO K

B = A(N)

FOR I = N TO 2 STEP -1

A(I) = A(I - 1)

NEXT I

A(1) = B

NEXT J

FOR I = 1 TO N

PRINT "A("; I; ")="; A(I);

NEXT I

END

Сформировать из последовательности элементов массива

A1, A2, … AN-1, AN

новую последовательность A1*A3, A2*A4, …AN-2*AN

без использования дополнительного массива

DIM I AS INTEGER, N AS INTEGER

INPUT "N="; N

DIM A%(N)

FOR I = 1 TO N

PRINT "A(="; I; ")=";

INPUT A(I)

NEXT I

FOR I = 1 TO N - 2

A(I) = A(I) * A(I + 2)

NEXT I

FOR I = 1 TO N - 2

PRINT "A("; I; ")="; A(I);

NEXT I

END

Дан одномерный массив.

Найти первый положительный элемент массива

DIM I AS INTEGER, N AS INTEGER, K AS INTEGER

INPUT "N="; N

DIM A%(N)

FOR I = 1 TO N

PRINT "A(="; I; ")=";

INPUT A(I)

NEXT I

K = 0

FOR I = 1 TO N

IF A(I) > 0 THEN

K = I

EXIT FOR

END IF

NEXT I

PRINT "K="; K;

END

Дан одномерный массив.

Найти последний положительный элемент массива

DIM I AS INTEGER, N AS INTEGER, K AS INTEGER

INPUT "N="; N

DIM A%(N)

FOR I = 1 TO N

PRINT "A(="; I; ")=";

INPUT A(I)

NEXT I

K = 0

FOR I = N TO 1 STEP -1

IF A(I) > 0 THEN

K = I

EXIT FOR

END IF

NEXT I

PRINT "K="; K;

END

Дан одномерный массив, все элементы которого различны.

найти наибольший элемент данного массива

DIM I AS INTEGER, N AS INTEGER, MAX AS INTEGER

INPUT "N="; N

DIM A%(N)

FOR I = 1 TO N

PRINT "A(="; I; ")=";

INPUT A(I)

NEXT I

MAX = A(1)

FOR I = 1 TO N

IF A(I) > MAX THEN MAX = A(I)

NEXT I

PRINT "MAX="; MAX;

END

Дан одномерный массив, все элементы которого различны.

найти наименьший элемент данного массива.

DIM I AS INTEGER, N AS INTEGER, MIN AS INTEGER

INPUT "N="; N

DIM A%(N)

FOR I = 1 TO N

PRINT "A(="; I; ")=";

INPUT A(I)

NEXT I

MIN = A(1)

FOR I = 1 TO N

IF A(I) < MIN THEN MIN = A(I)

NEXT I

PRINT "MIN="; MIN;

END

Дан одномерный массив

Найти первый максимальный элемент массива

DIM I AS INTEGER, N AS INTEGER, MAX AS INTEGER, IMAX AS INTEGER

INPUT "N="; N

DIM A%(N)

FOR I = 1 TO N

PRINT "A(="; I; ")=";

INPUT A(I)

NEXT I

MAX = A(1): IMAX = 1

FOR I = 1 TO N

IF A(I) > MAX THEN

MAX = A(I)

IMAX = I

END IF

NEXT I

PRINT "MAX="; MAX; "IMAX="; IMAX;

END

Дан одномерный массив

Найти первый минимальный элемент массива

DIM I AS INTEGER, N AS INTEGER, MIN AS INTEGER, IMIN AS INTEGER

INPUT "N="; N

DIM A%(N)

FOR I = 1 TO N

PRINT "A(="; I; ")=";