Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИГА_Учимся программировать TURBO PASCAL 7.doc
Скачиваний:
32
Добавлен:
19.08.2019
Размер:
1.62 Mб
Скачать

Var mas : array[1..M] of integer;

I, j, k, new, n : integer;

BEGIN

WRITE('BBEДИTE РАЗМЕР МАССИВА N = ');

READLN(N);

WRITELN('BBEДИTE ', N,' ЭЛЕМЕНТОВ МАССИВА');

FOR I := 1 TO N DO

READ(MAS[I]);

WRITELN;

FOR J := 1 TO N-1 DO

BEGIN

NEW := MAS[N];

K:=N;

FOR I := N DOWNTO J DO

IF MAS[I]>NEW THEN

BEGIN

K:=l;

NEW := MAS[I]

END;

MAS[K] := MAS[J];

MAS[J] := NEW;

END;

FOR I := 1 TO N DO

WRITE(MAS[I] : 4);

WRITELN

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим длину массива N, значение элементов массива;

- последовательно, справа налево, просматриваем элементы и находим наибольший элемент NEW := MAS[I], запоминая его порядковый номер К := I;

- меняем местами первый элемент и найденный;

- выводим результат.

Переменные:

MAS - массив чисел;

N - размер массива;

I, J - переменные циклов;

К - порядковый номер наибольшего элемента;

NEW - значение наибольшего элемента.

ВВЕДИТЕ РАЗМЕР МАССИВА N = 8

ВВЕДИТЕ 8 ЭЛЕМЕНТОВ МАССИВА

5 4 3 3 2 2 7 15

15 7 5 4 3 3 2 2

Рис. 6.4. Результат работы PRG6_4

Задача 6.5 Имеются данные об успеваемости не более чем 24 учебных групп (в процентах). Определить, на сколько нужно повысить успеваемость в самой отстающей группе, чтобы достичь среднего уровня успеваемости.

PROGRAM PRG6_5;

CONST M = 24;

Var mas : array[1..M] of real;

I, n : integer;

MIN, SUM : REAL;

BEGIN

WRITE('BBEДИTE РАЗМЕР МАССИВА N = ');

READLN(N);

REPEAT

WRITE('BBEДИTE ЭЛЕМЕНТ МАССИВА (%)');

READLN(MAS[1]);

UNTIL (MAS[1]<101)AND(MAS[1]>0);

MIN := MAS[1];SUM := MIN;

FOR I := 2 TO N DO

BEGIN

REPEAT

READLN(MAS[1]);

UNTIL (MAS[1]<101)AND(MAS[1]>0);

SUM := SUM+MAS[I];

IF MIN>MAS[I] THEN MIN := MAS[l];

END;

WRITELN('ПОВЫСИТЬ УСПЕВАЕМОСТЬ В САМОЙ');

WRITELN('OTCTAЮЩЕЙ ГРУППЕ НА ', (SUM/N)-MIN)

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим длину массива N;

- при вводе значений элементов массива осуществляем про­верку на правильность данных - в интервале от 0 до 100;

- последовательно просматриваем элементы и находим наи­меньший элемент MIN и запоминаем сумму всех элементов;

- выводим результат как разность между средним арифмети­ческим элементов массива и минимальным значением.

Переменные:

MAS - массив чисел;

N - размер массива;

I - переменная цикла;

MIN - значение наименьшего элемента;

SUM - сумма элементов массива.

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

PROGRAM PRG6_6;

CONST M = 12;

Var mas : array[1..M) of real;

I: integer;

MIN, MAX: REAL;

BEGIN

FOR I:= 1 TO 12 DO

BEGIN

WRITE('BBEДИTE ЭЛЕМЕНТ МАССИВА');

READLN(MAS[I]);

END;

МАХ := MAS[6];MIN := MAS[12];

FOR I := 7 ТО 8 DO

IF MAX<MAS[I] THEN MAX := MAS[I];

FOR I := 1 TO 2 DO

IF MIN>MAS[I] THEN MIN := MAS[I];

WRITELN('CAMAЯ ВЫСОКАЯ ТЕМПЕРАТУРА ЛЕТОМ ', MAX);

WRITELN('CAMAЯ НИЗКАЯ ТЕМПЕРАТУРА ЗИМОЙ ', MIN)

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим 12 элементов массива за 12 месяцев;

- последовательно просматриваем элементы и находим наи­меньший элемент MIN за зимние месяцы и МАХ за летние месяцы;

- выводим результат.

Переменные:

MAS - массив чисел;

MIN - наименьшая среднемесячная температура зимой;

МАХ - наибольшая среднемесячная температура летом;

I - переменная цикла.

Задача 6.7 В коллекции нумизмата не более чем 90 монет всех возможных достоинств. Определить, сколько монет достоинством в 20 и 50 рублей и каковы их порядковые номера

PROGRAM PRG6_7;

CONST M = 90;