Первый слайд презентации: Операции с матрицами
1 Операции с матрицами Матрицей A размерности n m называется двумерный массив из n строк и m столбцов : где - элементы матрицы A. сложение матриц; транспонирование матрицы; умножение матриц.
Слайд 2: Сложение матриц
2 Сложение матриц Пример сложения двух матриц A и B размерности 3 4:
Слайд 4
4 Программа: Program Sum_Matr; Type Matrix = Array[1..3,1..4] of integer; Var A,B,C : Matrix; i, j : Integer; Begin A[1,1]:=2; A[1,2]:=1; A[1,3]:=3; A[1,4]:=0; A[2,1]:=1; A[2,2]:=5; A[2,3]:=4; A[2,4]:=2; A[3,1]:=0; A[3,2]:=3; A[3,3]:=1; A[3,4]:=1; B[1,1]:=0; B[1,2]:=2; B[1,3]:=4; B[1,4]:=1; B[2,1]:=3; B[2,2]:=6; B[2,3]:=2; B[2,4]:=0; B[3,1]:=5; B[3,2]:=4; B[3,3]:=3; B[3,4]:=2; For i := 1 to 3 do For j := 1 to 4 do C[i,j] := A[i,j] + B[i,j];
Слайд 5
5 Программа (продолжение) Writeln('Исходные данные'); WriteLn('Массив A'); For i := 1 to 3 do begin For j := 1 to 4 do Write(A[i,j]:1,' '); WriteLn; end; WriteLn(' Массив B'); For i := 1 to 3 do begin For j := 1 to 4 do Write(B[i,j]:1,' '); WriteLn; end; WriteLn(' Результат - Массив C'); For i := 1 to 3 do begin For j := 1 to 4 do Write(C[i,j]:2,' '); WriteLn; end END.
Слайд 6
6 Вид печати: Исходные данные Массив A 2 1 3 0 1 5 4 2 0 3 1 1 Массив B 0 2 4 1 3 6 2 0 5 4 3 2 Результат - Массив C 2 3 7 1 4 11 6 2 5 7 4 3
Слайд 7: Транспонирование матрицы
7 Транспонирование матрицы Пусть дана матрица размерности n m. Матрица размерности m n называется транспонированной к матрице A, если ее элементы определены по формуле .
Слайд 10
10 Программа: Program Transp_Matr; Const n=2; m=3; Var A:Array[1..n,1..m] of Real; B:Array[1..m,1..n] of Real; i,j : Integer ; Begin A[1,1]:=2.5; A[1,2]:=-4.3; A[1,3]:=0.8; A[2,1]:=-9.1; A[2,2]:=8.4; A[2,3]:=3.6; For i := 1 to m do For j := 1 to n do B[i,j] := A[j,i] ;
Слайд 11
11 Программа (продолжение) Writeln(' Исходная матрица A'); For i := 1 to n do begin For j := 1 to m do Write(A[i,j]: 4: 1,' '); WriteLn ; end ; WriteLn ('Транспонированная матрица - массив B '); For i := 1 to m do begin For j := 1 to n do Write(B[i,j]:4:1,' '); WriteLn; end END.
Слайд 12
12 Вид печати: Исходная матрица A 2.5 -4.3 0.8 -9.1 8.4 3.6 Транспонированная матрица - массив B 2.5 -9.1 -4.3 8.4 0.8 3.6
Слайд 13: Умножение матриц
13 Умножение матриц Пусть даны матрица размерности n m и матрица размерности m k. Матрица размерности n k равна произведению матриц A и B, если ее элементы определены по формуле
Слайд 14
14 Пример умножения матрицы размерности 2 3 на матрицу размерности 3 4. Матрица, равная произведению матриц A и B будет иметь размерность 2 4.
Слайд 16
16 Программа: Program Umn_Matr; Const n=2; m=3; k=4; Var A:Array[1..n,1..m] of integer ; B:Array[1..m,1..k] of integer ; C:Array[1..n,1..k] of integer ; i, j, l : Integer; Begin A[1,1]:=2; A[1,2]:=4; A[1,3]:=0; A[2,1]:=1; A[2,2]:=3; A[2,3]:=5; B[1,1]:=0; B[1,2]:=2; B[1,3]:=4; B[1,4]:=1; B[2,1]:=3; B[2,2]:=6; B[2,3]:=2; B[2,4]:=0; B[3,1]:=5; B[3,2]:=4; B[3,3]:=3; B[3,4]:=2; For i := 1 to n do For j := 1 to k do begin C[i,j]:=0; For l := 1 to m do C[i,j] := C[i,j] + A[i,l] * B[l,j]; end ;
Слайд 17
17 Программа (продолжение) Writeln ('Исходные данные'); WriteLn('Массив A'); For i := 1 to n do begin For j := 1 to m do Write(A[i,j]:1,' '); WriteLn; end; WriteLn('Массив B'); For i := 1 to m do begin For j := 1 to k do Write(B[i,j]:1,' '); WriteLn; end; WriteLn('Результат - Массив C'); For i := 1 to n do begin For j := 1 to k do Write(C[i,j]:2,' '); WriteLn; end ; END.
Слайд 18
18 Вид печати: Исходные данные Массив A 2 4 0 1 3 5 Массив B 0 2 4 1 3 6 2 0 5 4 3 2 Результат - Массив C 12 28 16 2 34 40 25 11
Слайд 19: ВЫВОД В ФАЙЛ
19 ВЫВОД В ФАЙЛ Объявление файла Имя : file of Тип Элементов Примеры: f : file of Integer { файл целых чисел } ; sigma : file of Real { файл вещественных чисел } ; rez : file of Char { файл символов } ; rez : text;
Слайд 20: Назначение файла
20 Назначение файла assign ( var f : text ; Имя Файла : string ) ; Примеры : assign ( f, ‘a:\resultat.txt’ ) ; assign ( f, ‘e:\students\ivanov\kof.dat’ ) ; fname := ‘otchet.txt’ ; assign ( f, fname ) ;
Слайд 21: Инструкции вывода в файл
21 Инструкции вывода в файл WRITE или WRITELN write ( f, ‘ Корни уравнения ‘, x1, x2 ) ; write Ln ( f, ‘ Корни уравнения ‘, x1, x2 ) ;
Слайд 22: Открытие файла для вывода
22 Открытие файла для вывода перезапись (запись нового файла поверх существующего или создание нового файла); добавление в существующий файл. REWRITE(f) ; APPEND(f) ; f файловая переменная типа TEXT.
Слайд 23
23 Program Example_1; var f : text ; { текстовый файл } i : integer ; begin assign (f, ‘test.txt’) ; rewrite ( f ) ; {открыть в режиме перезаписи} for i := 1 to 5 do writeln(f, ‘ Строка ‘, i ) ; close ( f ) { закрыть файл } end.
Слайд 24
24 Содержимое файла test.txt : Строка 1 Строка 2 Строка 3 Строка 4 Строка 5
Слайд 25
25 Program Example_2; var f : text ; { текстовый файл } i : integer ; begin assign (f, ‘test.txt’) ; rewrite ( f ) ; {открыть в режиме перезаписи} for i := 6 to 7 do writeln(f, ‘ Строка ‘, i ) ; close ( f ) { закрыть файл } end.
Слайд 27
27 Program Example_3; var f : text ; { текстовый файл } i : integer ; begin assign (f, ‘test.txt’) ; append ( f ) ; {открыть в режиме добавления} for i := 8 to 10 do writeln(f, ‘ Строка ‘, i ) ; close ( f ) { закрыть файл } end.
Слайд 28
28 Содержимое файла test.txt : Строка 6 Строка 7 Строка 8 Строка 9 Строка 10
Слайд 29: Ошибки открытия файла
29 Ошибки открытия файла IOResult ( Input-Output Result результат ввода-вывода) {$I-} {$I+}
Слайд 31
31 assign (f, filename) ; {$I-} append(f) ; {$I+} if IOResult<>0 then rewrite(f) ;
Слайд 33: ВВОД ИЗ ФАЙЛА
33 ВВОД ИЗ ФАЙЛА READ или READLN Открытие файла RESET assign(f, ‘c:\data.txt’) ; reset(f) ;
Слайд 34: Чтение из файла
34 Чтение из файла read (ФайловаяПеременная, СписокПеременных) ; readln (ФайловаяПеременная, СписокПеременных) ; где ФайловаяПеременная переменная типа TEXT ; СписокПеременных имена переменных, разделенные запятыми.