Задачи_Pas

Содержание

Слайд 2

начало

Вывод сообщения

Ввод В

( B <> 3 ) and ( B <> -3

начало Вывод сообщения Ввод В ( B 3 ) and ( B
)

K : = 3 , 15

Q : = Q * SQRT ( k + 4 ) / ( 9 – SQR ( В ) )

Q : = 1

Вывод Q

конец

Введите целое число, кроме 3 и -3

+

-

Слайд 3

Program Primer ;
Uses CRT ;
Var B : integer ;
k : byte

Program Primer ; Uses CRT ; Var B : integer ; k
;
Q : real ;
BEGIN
Repeat { начало цикла }
ClrScr ;
Write ( ‘ Введите целое число, кроме 3 и -3 : ‘ ) ;
ReadLN ( B ) ;
Until ( B <> 3 ) and ( B <> -3 ) ; { критерий выхода из цикла }
Q : = 1 ;
For K : = 3 to 15 do
Q : = Q * SQRT ( k + 4 ) / ( 9 – SQR ( В ) ) ;
WriteLN ( ‘ Q = ‘ , Q : 10 : 2 ) ; { форматный вывод }
ReadKey ; { задержка выполнения программы }
END.

Слайд 4

Задание: Разработать алгоритм в виде блок-схемы
и написать текст программы, для нахождения

Задание: Разработать алгоритм в виде блок-схемы и написать текст программы, для нахождения
суммы:
N =

суммирование производить при условии, если

Слайд 5

начало

Вывод сообщения

Ввод M

M > = 0

N : = N + SQR (

начало Вывод сообщения Ввод M M > = 0 N : =
Y - A )

N : = 0

Вывод N

конец

Введите целое положительное число

+

-

Y : = - 8

Y < = SQRT ( M )

Вывод сообщения

Ввод A

Y : = Y + 1

+

-

Введите
целое число

Слайд 6

Program Primer ;
Var Y , A , N : integer ;
M

Program Primer ; Var Y , A , N : integer ;
: word ;
BEGIN
Repeat { начало цикла }
Write ( ‘ Введите целое положительное число : ‘ ) ;
ReadLN ( M ) ;
Until M > = 0 ; { критерий выхода из цикла }
Y : = - 8 ; N : = 0 ;
Write ( ‘ Введите целое число : ‘ ) ;
ReadLN ( A ) ;
While Y < = SQRT ( M ) do { начало цикла }
begin
N : = N + SQR ( Y - A ) ;
Y : = Y + 1 ;
end ;
WriteLN ( ‘ N = ‘ , N ) ;
ReadLn ; { задержка выполнения программы }
END.

Слайд 7

Пример: Установить, имеется ли в введенном
тексте баланс открывающихся и
закрывающихся скобок.

Пример: Установить, имеется ли в введенном тексте баланс открывающихся и закрывающихся скобок.

Слайд 8

Вывод сообщения

Введите любое предложение

Ввод S

L : = 0

P : = 0

D :

Вывод сообщения Введите любое предложение Ввод S L : = 0 P
= length ( S )

i : = 1, D

S[ i ] = ‘ ) ’

P : = P + 1

S [ i ] = ‘ ( ‘

L : = L + 1

Начало

+

+

-

-

Слайд 9

( L = 0 ) and
( P = 0

( L = 0 ) and ( P = 0 ) Вывод
)

Вывод
сообщения

В предложе-
нии скобок нет!

P = L

Вывод
сообщения

Имеется баланс скобок

Вывод
сообщения

Нет
баланса
скобок

Конец

+

-

+

-

Слайд 10

Program Stroka1;
Uses CRT ; { подключение модуля для управления экраном }
Var S

Program Stroka1; Uses CRT ; { подключение модуля для управления экраном }
: string ; { исходная строка }
P : byte ; { количество правых скобок в строке S }
L : byte ; { количество левых скобок в строке S }
i : byte ; { индексы элементов строки S }
D : byte ; { длина введённой строки }
Begin
CLrScr ; { очистка экрана }
WriteLn ( ' Введите любое предложение: ' ) ;
ReadLn ( S ) ;

Слайд 11

L : = 0 ;
P : = 0 ;
D : =

L : = 0 ; P : = 0 ; D :
Length ( S ) ; { определили длину введённой строки }
For i : = 1 to D do
iF S[ i ] = ‘ ) ' then p : = p + 1 eLse
iF S[ i ] = ‘ ( ' then L : = L + 1 ;

Слайд 12

iF ( L = 0 ) and ( P = 0 )

iF ( L = 0 ) and ( P = 0 )
THEN
WriteLn ( ' В ведённом предложении скобок нет! ' )
ELSE
iF L = P THEN
Writeln ( ' В введённой строке имеется баланс скобок ' )
ELSE
Writeln ( ' В введённой строке нет баланса скобок ' ) ;
ReadKey ; { задержка выполнения программы }
End.

Слайд 13

Задача:
Заменить в веденном тексте
все вопросительные знаки
на восклицательные

Задача: Заменить в веденном тексте все вопросительные знаки на восклицательные

Слайд 14

начало

Вывод сообщения

Ввод S

Введите предложение

-

конец

+

D := Length (S)

S[i] := ‘!’

Вывод S

i : =

начало Вывод сообщения Ввод S Введите предложение - конец + D :=
1, D

S[i] = ‘?’

Слайд 15

Задача:
Удалить в веденном тексте
все вопросительные знаки

Задача: Удалить в веденном тексте все вопросительные знаки

Слайд 16

начало

Вывод сообщения

Ввод S

Введите предложение

-

Pos(‘?’, S) <> 0

конец

+

i := pos (‘?’,S)

DeLete(S, i,

начало Вывод сообщения Ввод S Введите предложение - Pos(‘?’, S) 0 конец
1)

Вывод S

Слайд 17

Задача:
Организовать ручное заполнение
целочисленного вектора М,
размерностью 10.
Вывести на

Задача: Организовать ручное заполнение целочисленного вектора М, размерностью 10. Вывести на экран
экран элементы вектора,
а также сумму всех отрицательных
его элементов и количество
элементов, больших числа 5.

Слайд 18

- 8

9

3

5

8

1

7

4

3

- 2

М =

Сумма отрицательных элементов равна - 15

Количество элементов больших

- 8 9 3 5 8 1 7 4 3 - 2
5, равно 3

Слайд 19

Вывод сообщения

Введите
элемент
вектора

Ввод M [ i ]

S : = 0

K : = 0

i

Вывод сообщения Введите элемент вектора Ввод M [ i ] S :
: = 1, 10

Начало

i : = 1, 10

Вывод M [ i ]

Вывод
сообщения

Исходный
вектор

Слайд 20

S : = S + M [ i ]

K : = K

S : = S + M [ i ] K : =
+ 1

i : = 1, 10

Конец

i : = 1, 10

Вывод K

Вывод S

M [ i ] < 0

+

-

M [ i ] > 5

+

-

Слайд 21

Program Vektor ;
Var
M : array [ 1 . . 10

Program Vektor ; Var M : array [ 1 . . 10
] of integer ; { вектор }
i : byte ; { индекс элементов вектора }
K : byte ; { количество элементов, больших числа 5 }
S : integer ; { сумма отрицательных элементов }
BEGIN
FOR i : = 1 to 10 do { заполнение вектора }
begin
Write ( ‘ Введите элемент вектора : ‘ ) ;
ReadLn ( M [ i ] ) ;
end ;
S : = 0 ; { первоначальное значение суммы }
K : = 0 ; { первоначальное значение количества }
Writeln ( ‘ Исходный вектор ‘ ) ;
FOR i : = 1 to 10 do { вывод вектора на экран }
Write ( M [ i ] : 7 ) ; { форматный вывод }
WriteLn ; { переход на новую строку }

Слайд 22

FOR i : = 1 to 10 do { поиск суммы }
IF

FOR i : = 1 to 10 do { поиск суммы }
M [ i ] < 0 THEN S : = S + M [ i ] ;
Writeln ( ‘ Сумма отрицательных элементов вектора равна ‘ , S ) ;
WriteLn ; { переход на новую строку }
FOR i : = 1 to 10 do { поиск количества }
IF M [ i ] > 5 THEN K : = K + 1 ;
Writeln ( ‘ Количество элементов удовлетворяющих условию = ‘ , К ) ;
ReadLn; { задержка выполнения программы }
END.

Слайд 23

Задача:
Организовать ручное заполнение
целочисленного одномерного массива
А, размерностью N.
Заменить

Задача: Организовать ручное заполнение целочисленного одномерного массива А, размерностью N. Заменить все
все отрицательные элементы
на число Р.
Вывести на экран элементы вектора ДО
и ПОСЛЕ изменения.

Слайд 24

- 8

9

3

5

8

1

7

4

3

- 2

Р =

44

44

9

3

44

8

1

7

4

3

44

А =

А =

- 8 9 3 5 8 1 7 4 3 - 2

Слайд 25

Вывод сообщения

Введите размерность
вектора ( max = 15 )

Ввод A [ i

Вывод сообщения Введите размерность вектора ( max = 15 ) Ввод A
]

i : = 1, N

Начало

A

Ввод N

Вывод
сообщения

Введите
элемент
вектора

(N>=1) and
(N <=15)

+

-

Слайд 26

Вывод A [ i ]

i : = 1, N

B

i : = 1,

Вывод A [ i ] i : = 1, N B i
N

Вывод сообщения

Исходный
вектор

A

Вывод
сообщения

Введите
число для замены

Ввод Р

А [ i ] < 0

А [ i ] : = P

+

-

Слайд 27

Вывод A [ i ]

i : = 1, N

Вывод сообщения

Вектор ПОСЛЕ замены элементов

B

Конец

Вывод A [ i ] i : = 1, N Вывод сообщения

Слайд 28

Program Vektor ;
Var
A : array [ 1 . . 15

Program Vektor ; Var A : array [ 1 . . 15
] of integer ; { вектор }
i : byte ; { индекс элементов вектора }
N : byte ; { количество элементов в векторе }
P : integer ; { число для замены }
BEGIN
REPEAT { проверка корректности ввода размерности }
Write ( ‘ Введите размерность вектора : ‘ ) ;
ReadLn ( N ) ;
UNTIL ( N >= 1 ) and ( N <= 15 ) ;
FOR i : = 1 to N do { заполнение вектора }
begin
Write ( ‘ Введите элемент вектора : ‘ ) ;
ReadLn ( A [ i ] ) ;
end ;
Writeln ( ‘ Исходный вектор ‘ ) ;
FOR i : = 1 to N do { вывод вектора на экран }
Write ( A [ i ] : 5 ) ; { форматный вывод }

Слайд 29

WriteLn ; { переход на новую строку }
Write ( ‘ Введите число

WriteLn ; { переход на новую строку } Write ( ‘ Введите
для замены : ‘ ) ;
ReadLn ( P ) ;
FOR i : = 1 to N do { замена отрицательных элементов }
IF A [ i ] < 0 THEN A [ i ] : = P ;
Writeln ( ‘ Вектор ПОСЛЕ замены элементов ‘ ) ;
FOR i : = 1 to N do { вывод вектора на экран }
Write ( A [ i ] : 5 ) ; { форматный вывод }
ReadLn; { задержка выполнения программы }
END.

Слайд 30

Задача:
Организовать заполнение
целочисленного вектора Y ,
размерностью 10, случайным образом.

Задача: Организовать заполнение целочисленного вектора Y , размерностью 10, случайным образом. Найти
Найти в массиве минимальный элемент
и вывести его на экран.

Слайд 31

8

9

-8

7

4

-3

Y =

Min =

-2

1

-2

i := 1

Y [ i ] < Min

i := 2

i

8 9 -8 7 4 -3 Y = Min = -2 1
:= 3

i := 4

i := 5

-8

i := 6

i := 7

i := 8

Слайд 32

Randomize

Y [ i ] : = Random ( 99 )

i : =

Randomize Y [ i ] : = Random ( 99 ) i
1, 10

Начало

i : = 1, 10

Вывод Y [ i ]

Вывод
сообщения

Исходный
вектор

Слайд 33

i : = 1, 10

Min : = Y [ 1 ]

Y [

i : = 1, 10 Min : = Y [ 1 ]
i ] < Min

Min : = Y [ i ]

+

-

Вывод Min

Конец

Слайд 34

Program Vektor ;
Uses CRT ;
Var
Y : array [ 1 .

Program Vektor ; Uses CRT ; Var Y : array [ 1
. 10 ] of integer ; { вектор }
i : byte ; { индекс элементов вектора }
Min : integer ; { минимальный элемент }
BEGIN
CLrScr ;
Randomize ; { инициализация генератора случайных чисел }
FOR i : = 1 to 10 do { заполнение вектора }
Y [ i ] : = RANDOM ( 99 ) ;
WriteLn ( ‘ Исходный вектор ‘ ) ;
FOR i : = 1 to 10 do { вывод вектора на экран }
Write ( Y [ i ] : 5 ) ; { форматный вывод }

Слайд 35

WriteLn ; { переход на новую строку }
Min : = Y [

WriteLn ; { переход на новую строку } Min : = Y
1 ] ;
FOR i : = 1 to 10 do { поиск минимального элемента }
IF Y [ i ] < Min THEN Min : = Y [ i ] ;
WriteLn ( ‘ Минимальный элемент вектора = ‘ , Min ) ;
ReadLn; { задержка выполнения программы }
END.

Слайд 36

Задача:
Организовать ручное заполнение
одномерного массива Z,
размерностью 8, вещественными

Задача: Организовать ручное заполнение одномерного массива Z, размерностью 8, вещественными числами. Переставить
числами.
Переставить местами первый элемент
массива и элемент массива, равный числу Х.
Вывести на экран массив ДО и ПОСЛЕ перестановки.

Слайд 37

8.1

9.7

1.1

-8.2

7.9

4.3

-3.1

-2.3

X =

1.1

Z =

Z =

8.1

9.7

-2.3

-8.2

7.9

4.3

-3.1

1.1

8.1 9.7 1.1 -8.2 7.9 4.3 -3.1 -2.3 X = 1.1 Z

Слайд 38

8.1

9.7

-8.2

7.9

4.3

-3.1

X =

1.1

Z =

A =

Index =

4

-2.3

1.1

8.1 9.7 -8.2 7.9 4.3 -3.1 X = 1.1 Z = A

Слайд 39

Вывод сообщения

Введите
элемент
вектора

Ввод Z [ i ]

i : = 1, 8

Начало

A

i :

Вывод сообщения Введите элемент вектора Ввод Z [ i ] i :
= 1, 8

Вывод Z [ i ]

Вывод
сообщения

Исходный
вектор

Слайд 40

B

i : = 1, 8

A

Вывод
сообщения

Введите
число для перестановки

Ввод Х

Z [ i ] =

B i : = 1, 8 A Вывод сообщения Введите число для
Х

index : = i

+

-

Слайд 41

i : = 1, 8

B

Вывод
сообщения

Массив не
изменился

Index = 0

А : = Z

i : = 1, 8 B Вывод сообщения Массив не изменился Index
[ 1 ]

+

-

Z [ 1 ] : = Z [ index ]

Z [ index ] : = A

Вывод сообщения

Массив
ПОСЛЕ
замены

Вывод Z [ i ]

Конец

Слайд 42

Program Vektor ;
Var
Z : array [ 1 . . 8

Program Vektor ; Var Z : array [ 1 . . 8
] of REAL ; { вектор }
i : byte ; { индекс элементов вектора }
A : reaL ; { для перестановки элементов }
X : reaL ; { число для сравнения }
index : byte ; { индекс переставляемого элемента }
BEGIN
FOR i : = 1 to 8 do { заполнение вектора }
begin
Write ( ‘ Введите элемент вектора : ‘ ) ;
ReadLn ( Z [ i ] ) ;
end ;
WriteLn ( ‘ Исходный вектор ‘ ) ;
FOR i : = 1 to 8 do { вывод вектора на экран }
Write ( Z [ i ] : 6 : 1 ) ; { форматный вывод }
WriteLn ; { переход на новую строку }

Слайд 43

Write ( ‘ Введите число для ПЕРЕСТАНОВКИ : ‘ ) ;
ReadLn (

Write ( ‘ Введите число для ПЕРЕСТАНОВКИ : ‘ ) ; ReadLn
Х ) ;
FOR i : = 1 to 8 do { поиск индекса переставляемого элемента }
IF Z [ i ] = X THEN index : = i ;
IF index = 0 THEN WriteLn ( ‘ Вектор НЕ изменился ‘ )
ELSE
begin
A : = Z [ 1 ] ;
Z [ 1 ] : = Z [ index ] ;
Z [ index ] : = A ;
WriteLn ( ‘ Вектор ПОСЛЕ перестановки элементов ‘ ) ;
FOR i : = 1 to 8 do { вывод вектора на экран }
Write ( Z [ i ] : 6 : 1 ) ; { форматный вывод }
end ;
ReadLn; { задержка выполнения программы }
END.

Слайд 44

Задача:
Организовать ручное заполнение
одномерного массива В,
размерностью 10, целыми числами.

Задача: Организовать ручное заполнение одномерного массива В, размерностью 10, целыми числами. Найти
Найти и вывести на экран произведение
чётных элементов массива.

Слайд 45

Вывод сообщения

Введите
элемент
вектора

Ввод В [ i ]

i : = 1, 10

Начало

A

i :

Вывод сообщения Введите элемент вектора Ввод В [ i ] i :
= 1, 10

Вывод В [ i ]

Вывод
сообщения

Исходный
вектор

Слайд 46

B

i : = 1, 10

A

Pr : = 1

ODD ( B [ i

B i : = 1, 10 A Pr : = 1 ODD
] ) = False

F : = 7

+

-

F : = 5

Pr : = Pr * B [ i ]

Слайд 47

B

Вывод
сообщения

В массиве нет
чётных
элементов

F = 5

+

-

Вывод Pr

Конец

B Вывод сообщения В массиве нет чётных элементов F = 5 + - Вывод Pr Конец

Слайд 48

Program Vektor ;
Var
B : array [ 1 . . 10

Program Vektor ; Var B : array [ 1 . . 10
] of integer ; { вектор }
i : byte ; { индекс элементов вектора }
F : byte ; { переключатель }
Pr : integer ; { произведение чётных элементов }
BEGIN
FOR i : = 1 to 10 do { заполнение вектора }
begin
Write ( ‘ Введите элемент вектора : ‘ ) ;
ReadLn ( B [ i ] ) ;
end ;
WriteLn ( ‘ Исходный вектор ‘ ) ;
FOR i : = 1 to 10 do { вывод вектора на экран }
Write ( B [ i ] : 6 ) ; { форматный вывод }
WriteLn ; { переход на новую строку }

Слайд 49

F : = 5 ;
Pr : = 1 ; { первоначальное значение

F : = 5 ; Pr : = 1 ; { первоначальное
произведения }
FOR i : = 1 to 10 do { поиск произведения чётных элементов }
IF ODD ( B [ i ] ) = FALSE THEN begin
F : = 7 ;
Pr : = Pr * B [ i ] ;
end ;
IF F = 5
THEN WriteLn ( ‘ В массиве НЕТ чётных элементов ‘ )
ELSE
WriteLn ( ‘ Произведение чётных элементов равно ‘ , Pr ) ;
ReadLn; { задержка выполнения программы }
END.

Слайд 50

Задача:
Организовать ручное заполнение
символьного одномерного массива А,
размерностью 5.
Определить

Задача: Организовать ручное заполнение символьного одномерного массива А, размерностью 5. Определить и
и вывести на экран сообщение
о наличии в массиве символа «!».

Слайд 51

Вывод сообщения

Введите
элемент
вектора

Ввод А [ i ]

i : = 1, 5

Начало

A

i :

Вывод сообщения Введите элемент вектора Ввод А [ i ] i :
= 1, 5

Вывод А [ i ]

Вывод
сообщения

Исходный
вектор

Слайд 52

B

i : = 1, 5

A

А [ i ] = ‘ ! ‘

F

B i : = 1, 5 A А [ i ] =
: = 200

+

-

F : = 100

Слайд 53

B

Вывод
сообщения

В массиве нет
символа «!»

F = 100

+

-

Вывод
сообщения

Конец

В массиве есть
символ «!»

B Вывод сообщения В массиве нет символа «!» F = 100 +

Слайд 54

Program Vektor ;
Var
А : array [ 1 . . 5

Program Vektor ; Var А : array [ 1 . . 5
] of char ; { символьный вектор }
i : byte ; { индекс элементов вектора }
F : byte ; { переключатель }
BEGIN
FOR i : = 1 to 5 do { заполнение вектора }
begin
Write ( ‘ Введите элемент вектора : ‘ ) ;
ReadLn ( А [ i ] ) ;
end ;
WriteLn ( ‘ Исходный вектор ‘ ) ;
FOR i : = 1 to 5 do { вывод вектора на экран }
Write ( А [ i ] : 6 ) ; { форматный вывод }
WriteLn ; { переход на новую строку }

Слайд 55

F : = 100 ;
FOR i : = 1 to 5 do

F : = 100 ; FOR i : = 1 to 5
{ поиск символа «!» }
IF A [ i ] = ‘ ! ‘ THEN F : = 200 ;
IF F = 100
THEN WriteLn ( ‘ В массиве НЕТ символа «!» ‘ )
ELSE WriteLn ( ‘ В массиве ЕСТЬ символ «!» ‘ ) ;
ReadLn; { задержка выполнения программы }
END.

Слайд 56

Задача:
Организовать ручное заполнение
двумерного массива В, размерностью
5 х 7,

Задача: Организовать ручное заполнение двумерного массива В, размерностью 5 х 7, целыми
целыми числами.
Найти и вывести на экран количество
чётных элементов массива и максимальный
элемент матрицы.

Слайд 57

Вывод сообщения

Введите
элемент
матрицы

Ввод В [ i , j ]

i : = 1, 5

Начало

Вывод сообщения Введите элемент матрицы Ввод В [ i , j ]

A

j : = 1, 7

Слайд 58

Исходная
матрица

Вывод В [ i , j ]

i : = 1, 5

A

j :

Исходная матрица Вывод В [ i , j ] i : =
= 1, 7

Вывод сообщения

Переход на
новую строку

В

Слайд 59

i : = 1, 5

В

j : = 1, 7

Kol : = 0

Вывод
Kol

C

ODD

i : = 1, 5 В j : = 1, 7 Kol
( B [ i , j ] ) =
false

Kol : = Kol + 1

+

-

Слайд 60

i : = 1, 5

C

j : = 1, 7

Max : = B

i : = 1, 5 C j : = 1, 7 Max
[ 1, 1 ]

Вывод
Max

B [ i , j ] > Max

Max : = B [ i , j ]

+

-

Конец

Слайд 61

Program Matrica ;
Var
B : array [ 1 . . 5

Program Matrica ; Var B : array [ 1 . . 5
, 1 . . 7 ] of integer ; { матрица }
i , j : byte ; { индексы элементов матрицы }
KoL : byte; { кол-во чётных элементов }
Max : integer ; { максимальный элемент }
BEGIN
FOR i : = 1 to 5 do { заполнение матрицы }
FOR j : = 1 to 7 do
begin
Write ( ‘ Введите элемент матрицы ->… ‘ ) ;
ReadLn ( В [ i , j ] ) ;
end ;

Слайд 62

WriteLn ( ‘ Исходная матрица ‘ ) ;
FOR i : = 1

WriteLn ( ‘ Исходная матрица ‘ ) ; FOR i : =
to 5 do { вывод матрицы на экран }
begin
FOR j : = 1 to 7 do
Write ( B [ i , j ] : 6 ) ; { форматный вывод }
WriteLn ; { переход на новую строку }
end ;
KoL : = 0 ;
FOR i : = 1 to 5 do { поиск кол-ва чётных эл-ов }
FOR j : = 1 to 7 do
IF ODD ( B [ i , j ] ) = faLse THEN KoL : = KoL + 1 ;
WriteLn ( ‘ Кол-во чётных элементов равно ‘ , KoL) ;

Слайд 63

Max : = B [ 1 , 1 ] ;
FOR i :

Max : = B [ 1 , 1 ] ; FOR i
= 1 to 5 do { поиск max элемента }
FOR j : = 1 to 7 do
IF B [ i , j ] > Max THEN Max : = B [ i , j ] ;
WriteLn ( ‘ Максимальный элемент равен ‘ , Мах ) ;
ReadLn ;
END.

Слайд 64

Задача:
Организовать случайное заполнение
двумерного массива А, размерностью
3 х 5,

Задача: Организовать случайное заполнение двумерного массива А, размерностью 3 х 5, целыми
целыми числами.
Найти и вывести на экран произведение
нечётных элементов массива в столбце Т.

Слайд 65

Randomize

A [ i , j ] : = Random ( 99 )

i

Randomize A [ i , j ] : = Random ( 99
: = 1, 3

Начало

A

j : = 1, 5

Слайд 66

Исходная
матрица

Вывод A [ i , j ]

i : = 1, 3

A

j :

Исходная матрица Вывод A [ i , j ] i : =
= 1, 5

Вывод сообщения

Переход на
новую строку

В

Слайд 67

Введите номер
столбца

C

Ввод Т

Вывод
сообщения

( Т >= 1 ) and
( Т <= 5 )

+

-

B

Введите номер столбца C Ввод Т Вывод сообщения ( Т >= 1

Слайд 68

i : = 1, 3

C

P : = 1

D

ODD ( A [ i

i : = 1, 3 C P : = 1 D ODD
, Т ] ) =
true

P : = P * A [ i , Т ]

+

-

F : = 2

F : = 7

Слайд 69

D

F = 7

Вывод
сообщения

+

-

Вывод Р

В столбце Т
нет нечётных
элементов

Конец

D F = 7 Вывод сообщения + - Вывод Р В столбце

Слайд 70

Program Matrica ;
Var
A : array [ 1 . . 3

Program Matrica ; Var A : array [ 1 . . 3
, 1 . . 5 ] of integer ; { матрица }
i , j : byte ; { индексы элементов матрицы }
P : integer ; { произведение нечётных эл-ов }
Т : integer ; { номер столбца }
F : integer ; { переключатель }
BEGIN
Randomize ; { инициализация генератора случайных чисел }
FOR i : = 1 to 3 do { заполнение матрицы }
FOR j : = 1 to 5 do
A [ i , j ] : = Random (99) ;

Слайд 71

WriteLn ( ‘ Исходная матрица ‘ ) ;
FOR i : = 1

WriteLn ( ‘ Исходная матрица ‘ ) ; FOR i : =
to 3 do { вывод матрицы на экран }
begin
FOR j : = 1 to 5 do
Write ( А [ i , j ] : 6 ) ; { форматный вывод }
WriteLn ; { переход на новую строку }
end ;
REPEAT { проверка корректности ввода столбца }
WriteLn ( ‘ Введите номер столбца ‘ ) ;
ReadLn ( T ) ;
UNTiL ( T > = 1 ) and ( T < = 5 ) ;
Р : = 1 ;
F : = 2 ;

Слайд 72

FOR i : = 1 to 3 do { поиск произведения }
IF

FOR i : = 1 to 3 do { поиск произведения }
ODD ( A [ i , T ] ) = true THEN begin
F : = 7 ;
P : = P * A [ i , T ] ;
end ;
IF F = 7 THEN
WriteLn ( ‘ Произведение нечётных элементов = ‘ , Р )
ELSE
WriteLn ( ‘ В столбце Т нет нечётных элементов ‘ ) ;
ReadLn ;
END .

Слайд 73

A =

2 5 7
8 - 3 4
1 9 -

A = 2 5 7 8 - 3 4 1 9 -
2

3 x 3

5 A [ 1 , 2 ]

7 A [ 1 , 3 ]

4 A [ 2 , 3 ]

i j

<

Слайд 74

Задача:
Организовать ручное заполнение
двумерного массива В, размерностью
9 х 9,

Задача: Организовать ручное заполнение двумерного массива В, размерностью 9 х 9, целыми
целыми числами.
Увеличить все элементы главной диагонали
в два раза.
Вывести на экран массив В ДО и ПОСЛЕ
изменения.

Слайд 75

Вывод сообщения

Введите
элемент
матрицы

Ввод В [ i , j ]

i : = 1, 9

Начало

Вывод сообщения Введите элемент матрицы Ввод В [ i , j ]

A

j : = 1, 9

Слайд 76

Матрица
ДО изменения

Вывод В [ i , j ]

i : = 1, 9

A

j

Матрица ДО изменения Вывод В [ i , j ] i :
: = 1, 9

Вывод сообщения

Переход на
новую строку

В

Слайд 77

В [ i , i ] : = B [ i ,

В [ i , i ] : = B [ i ,
i ] * 2

i : = 1, 9

В

С

Слайд 78

Матрица
ПОСЛЕ изменений

Вывод В [ i , j ]

i : = 1, 9

С

j

Матрица ПОСЛЕ изменений Вывод В [ i , j ] i :
: = 1, 9

Вывод сообщения

Переход на
новую строку

Конец

Слайд 79

Program Matrica ;
Var
B : array [ 1 . . 9

Program Matrica ; Var B : array [ 1 . . 9
, 1 . . 9 ] of integer ; { матрица }
i , j : byte ; { индексы элементов матрицы }
BEGIN
FOR i : = 1 to 9 do { заполнение матрицы }
FOR j : = 1 to 9 do
begin
Write ( ‘ Введите элемент матрицы : ‘ ) ;
ReadLn ( В [ i , j ] ) ;
end ;

Слайд 80

WriteLn ( ‘ Mатрица ДО изменения ‘ ) ;
FOR i : =

WriteLn ( ‘ Mатрица ДО изменения ‘ ) ; FOR i :
1 to 9 do { вывод матрицы на экран }
begin
FOR j : = 1 to 9 do
Write ( B [ i , j ] : 6 ) ;
WriteLn ;
end ;
FOR i : = 1 to 9 do { замена элементов диагонали }
B [ i , i ] : = B [ i , i ] * 2 ;

Слайд 81

WriteLn ( ‘ Mатрица ПОСЛЕ изменения ‘ ) ;
FOR i : =

WriteLn ( ‘ Mатрица ПОСЛЕ изменения ‘ ) ; FOR i :
1 to 9 do { вывод матрицы на экран }
begin
FOR j : = 1 to 9 do
Write ( B [ i , j ] : 6 ) ;
WriteLn ;
end ;
ReadLn ;
END .

Слайд 82

Задача:
Организовать случайное заполнение
двумерного массива М, размерностью
Т х Т,

Задача: Организовать случайное заполнение двумерного массива М, размерностью Т х Т, целыми
целыми числами.
Заменить все элементы выше главной
диагонали на первый элемент матрицы.
Вывести на экран массив М ДО и ПОСЛЕ
изменения.

Слайд 83

Вывод
сообщения

Введите размерность
квадратной матрицы
( max = 10 )

Начало

A

Ввод Т

Вывод
сообщения

Размерность
введена не

Вывод сообщения Введите размерность квадратной матрицы ( max = 10 ) Начало
верно !

(Т < 2) or
(Т > 10)

+

-

(Т>=2) and
(Т <=10)

+

-

Слайд 84

Randomize

М [ i , j ] : = Random ( 99 )

i

Randomize М [ i , j ] : = Random ( 99
: = 1, Т

В

j : = 1, Т

A

Слайд 85

Матрица
ДО изменения

Вывод М [ i , j ]

i : = 1, Т

В

j

Матрица ДО изменения Вывод М [ i , j ] i :
: = 1, Т

Вывод сообщения

Переход на
новую строку

С

Слайд 86

i : = 1, T

С

j : = 1, T

D

i < j

M [

i : = 1, T С j : = 1, T D
i , j ] : = M [ 1 , 1 ]

+

-

Слайд 87

Матрица
ПОСЛЕ изменений

Вывод M [ i , j ]

i : = 1, T

D

j

Матрица ПОСЛЕ изменений Вывод M [ i , j ] i :
: = 1, T

Вывод сообщения

Переход на
новую строку

Конец

Слайд 88

Program Matrica ;
Var
М : array [ 1 . . 10

Program Matrica ; Var М : array [ 1 . . 10
, 1 . . 10 ] of integer ; { матрица }
i , j : byte ; { индексы элементов матрицы }
Т : integer ; { размерность квадратной матрицы }
BEGIN
REPEAT { проверка корректности ввода размерности }
WriteLn ( ‘ Введите размерность квадратной матрицы ‘ ) ;
ReadLn ( T ) ;
IF ( T < 2 ) OR ( T > 10 ) THEN
WriteLn ( ‘ Размерность введена НЕ верно… ’ ) ;
UNTiL ( T > = 2 ) and ( T < = 10 ) ;

Слайд 89

Randomize ; { инициализация генератора случайных чисел }
FOR i : = 1

Randomize ; { инициализация генератора случайных чисел } FOR i : =
to Т do { заполнение матрицы }
FOR j : = 1 to Т do
М [ i , j ] : = Random (99) ;

WriteLn ( ‘ Матрица ДО изменения ‘ ) ;
FOR i : = 1 to Т do { вывод матрицы на экран }
begin
FOR j : = 1 to Т do
Write ( М [ i , j ] : 6 ) ; { форматный вывод }
WriteLn ; { переход на новую строку }
end ;

Слайд 90

FOR i : = 1 to Т do { замена элементов }
FOR

FOR i : = 1 to Т do { замена элементов }
j : = 1 to Т do
IF i < j THEN М [ i , j ] : = M [ 1 , 1 ] ;

WriteLn ( ‘ Матрица ПОСЛЕ изменений ‘ ) ;
FOR i : = 1 to Т do { вывод матрицы на экран }
begin
FOR j : = 1 to Т do
Write ( М [ i , j ] : 6 ) ;
WriteLn ;
end ;
ReadLn ;
END .

Имя файла: Задачи_Pas.pptx
Количество просмотров: 45
Количество скачиваний: 0