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

Пример программы

{Вариант 0, 0}

Program Lab3;

Uses Crt;

Var

M,Summa:Real;

i,k,j:Integer;

Begin

ClrScr;

Write('Введите M');

Readln(M);

{Прямой порядок}

k:=0;

Summa:=0;

repeat

k:=k+1;

Summa:=Summa+k;

Writeln('№ ',k,' Elem=',k,' Summa=', Summa:0:8);

Until( Summa > M );

{Прямой порядок}

Writeln('Нажмите Enter');

ReadKey;

ClrScr;

Summa:=0;

j:=0;

{Сумма обратный порядок}

For i:=K downto 1 Do

Begin

j:=j+1;

Summa:=Summa+i;

Writeln('№ ',i,' Elem=',i,' Summa=', Summa:0:8);

End;

{Сумма обратный порядок}

ReadKey;

End.

Примечание: Рассмотрим вариант 1 ВСТАВКИ Б. Может, так случиться, что будет введено M, которое никогда не совпадет с очередным членом суммы. Эту ситуацию необходимо обработать следующим образом:

  • Если ряд возрастающий и M< текущего члена ряда, то дальнейшее суммирование бессмысленно, так как M никогда не совпадет с членом ряда.

  • Если ряд убывающий и M> текущего члена ряда, то дальнейшее суммирование бессмысленно.

Лабораторная работа № 4 - Обработка элементов матрицы

ЗАДАНИЕ. Задана числовая квадратная матрица А. Составить программу, которая ВСТАВКА А все ВСТАВКА Б элементы матрицы, расположенные ВСТАВКА В.

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

ВСТАВКА А:

  1. Подсчитывает

  2. Суммирует

  3. Обнуляет

  4. Меняет знак

  5. Перемножает

ВСТАВКА Б:

  1. Отличные от нуля (не равные нулю);

  2. Отрицательные (меньше нуля);

  3. Неотрицательные (положительные и ноль);

  4. Положительные (больше нуля).

ВСТАВКА В:

  1. Выше главной диагонали;

  2. Ниже главной диагонали;

  1. На главной диагонали

  2. В строке, содержащей минимальный элемент;

  3. В строке, содержащей максимальный элемент;

  4. В столбце, содержащем минимальный положительный элемент;

  5. В строке содержащей максимальный отрицательный элемент

  6. В строке и столбце, на пересечении которых находится минимальный элемент;

  7. В строке и столбце, на пересечении которых находится максимальный элемент.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1. Составляется структурная схема алгоритма

2. Производится кодирование и отладка

ОТЧЕТ ДОЛЖЕН СОДЕРЖАТЬ

1. Блок-схему программы

2. Листинг программы на языке Паскаль

3. Вывод программы для произвольного примера, показывающего особенности индивидуального задания.

Пример программы

{Вариант 1, 1, 5}

Program Lab4;

Uses Crt;

Var

a:Array [1..10,1..10] of Real;

i,j:Integer;

N:Integer;

min:Real;

Xmin:Integer;

summa:Real;

Begin

ClrScr;

Repeat

Write('Введите размерность матрицы (N>0)and(N<=10)');

Readln(N);

Until( (N>0)and(N<=10) );

ClrScr;

For i:= 1 to N Do Begin

For j:= 1 to N Do Begin

gotoxy(j*7,i*2);

Read(a[i,j]);

End;

End;

Xmin:=-1;

Summa:=0;

For i:= 1 to N Do Begin

For j:= 1 to N Do Begin if((a[i,j] > 0 ) and ( ( a[i,j] < min ) or (Xmin = -1 ) ) ) Then

Begin

min:=a[i,j];

Xmin:=j;

End;

End;

End;

if(Xmin <> -1) Then Begin

For i:= 1 to N Do Begin

if(a[i,Xmin]<0) Then Begin

Summa:=Summa+a[i,Xmin];

End;

End;

Writeln('Сумма = ',Summa);

End

Else Begin

Writeln('В матрице только отрицательные элементы. Нельзя посчитать сумму');

End;

ReadKey;

End.

Примечание:

Рассмотрим ВСТАВКУ А. Для вариантов 0,1 и 4 в результате работы программа должна вывести одно число: количество элементов, сумму или произведение соответственно. Для остальных вариантов результатом вывода программы должна быть матрица.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]