- •«Дальневосточный федеральный университет»
- •Содержание отчета
- •Лабораторная работа №1 - Использование логических выражений для определения границ фигур на плоскости
- •Пример программы
- •Лабораторная работа № 2 - Табуляция функций
- •Пример программы
- •Лабораторная работа № 3 - Суммирование членов ряда
- •Пример программы
- •Лабораторная работа № 4 - Обработка элементов матрицы
- •Пример программы
- •Лабораторная работа № 5 - Операции над матрицами. Использование процедур
- •Пример программы
- •Лабораторная работа № 6 -Методы сортировки
Пример программы
{Вариант 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. Производится кодирование и отладка
ОТЧЕТ ДОЛЖЕН СОДЕРЖАТЬ
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 в результате работы программа должна вывести одно число: количество элементов, сумму или произведение соответственно. Для остальных вариантов результатом вывода программы должна быть матрица.