СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Решение задач по дисциплине "Основы программирования"

Категория: Информатика

Нажмите, чтобы узнать подробности

Данная презентация содержит ряд типовых задач по дисциплине "Основы программировани". Для каждого задания приведён алгоритм решения в виде блок-схемы и программный код на языке Pascal. В некоторых задачах используется анамация для лучшего понимая решения... 

Просмотр содержимого документа
«Решение задач по дисциплине "Основы программирования"»

Дисциплина «Основы программирования»

Дисциплина

«Основы программирования»

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

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

и написать текст программы, для нахождения

результата произведения:

Q =

начало Вывод сообщения Введите целое число, кроме 3 и -3 Ввод В ( B  3 ) and ( B  -3 ) - + Q : = 1 K : = 3 , 15 Вывод Q Q : = Q * SQRT ( k + 4 ) / ( 9 – SQR ( В ) ) конец

начало

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

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

Ввод В

( B 3 ) and ( B -3 )

-

+

Q : = 1

K : = 3 , 15

Вывод Q

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

конец

Program Primer ; Uses  CRT ; Var B : integer ;  k : byte ;  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.

Program Primer ;

Uses CRT ;

Var B : integer ;

k : byte ;

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.

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

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

и написать текст программы, для нахождения

суммы:

N =

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

= 0 Введите целое число Вывод сообщения Ввод A N : = 0 - Y + Вывод N N : = N + SQR ( Y - A ) конец Y : = Y + 1 " width="640"

начало

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

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

Ввод M

Y : = - 8

-

+

M = 0

Введите

целое число

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

Ввод A

N : = 0

-

Y

+

Вывод N

N : = N + SQR ( Y - A )

конец

Y : = Y + 1

= 0 ; { критерий выхода из цикла } Y : = - 8 ; N : = 0 ; Write ( ‘ Введите целое число : ‘ ) ; ReadLN ( A ) ; While Y do { начало цикла } begin N : = N + SQR ( Y - A ) ; Y : = Y + 1 ; end ; WriteLN ( ‘ N = ‘ , N ) ; ReadLn ; { задержка выполнения программы } END. " width="640"

Program Primer ;

Var Y , A , N : integer ;

M : word ;

BEGIN

Repeat { начало цикла }

Write ( ‘ Введите целое положительное число : ‘ ) ;

ReadLN ( M ) ;

Until M = 0 ; { критерий выхода из цикла }

Y : = - 8 ; N : = 0 ;

Write ( ‘ Введите целое число : ‘ ) ;

ReadLN ( A ) ;

While Y do { начало цикла }

begin

N : = N + SQR ( Y - A ) ;

Y : = Y + 1 ;

end ;

WriteLN ( ‘ N = ‘ , N ) ;

ReadLn ; { задержка выполнения программы }

END.

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

Пример : Установить, имеется ли в введенном

тексте баланс открывающихся и

закрывающихся скобок.

Начало  Вывод сообщения Введите любое предложение Ввод S L : = 0 P : = 0 D  :  =  length (  S  ) i :  = 1, D + - S[  i  ] = ‘  )  ’ - + S  [  i  ] = ‘  (  ‘ P :  = P + 1 L :  = L + 1

Начало

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

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

Ввод S

L : = 0

P : = 0

D : = length ( S )

i : = 1, D

+

-

S[ i ] = ‘ )

-

+

S [ i ] = ‘ (

P : = P + 1

L : = L + 1

-  (  L  =  0  ) and  (  P  =  0  ) + В предложе- нии скобок нет! Вывод сообщения + - P = L Имеется баланс скобок Вывод сообщения Вывод сообщения Нет баланса скобок Конец

-

( L = 0 ) and

( P = 0 )

+

В предложе-

нии скобок нет!

Вывод

сообщения

+

-

P = L

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

Вывод

сообщения

Вывод

сообщения

Нет

баланса

скобок

Конец

Program Stroka 1; Uses  CRT  ; {  подключение модуля для управления экраном  } Var   S : string ; {  исходная строка  }  P : byte ; {  количество правых скобок в строке S }  L : byte ; {  количество левых скобок в строке S }  i : byte ; {  индексы элементов строки S }  D : byte ; {  длина введённой строки  } Begin ClrScr ; {  очистка экрана  } WriteLn ( ' Введите любое предложение: ' )  ; ReadLn (  S  ) ; 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  ;

Program Stroka 1;

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

Var S : string ; { исходная строка }

P : byte ; { количество правых скобок в строке S }

L : byte ; { количество левых скобок в строке S }

i : byte ; { индексы элементов строки S }

D : byte ; { длина введённой строки }

Begin

ClrScr ; { очистка экрана }

WriteLn ( ' Введите любое предложение: ' ) ;

ReadLn ( S ) ;

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 ;

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

IF ( L = 0 ) and ( P = 0 ) THEN

WriteLn ( ' В ведённом предложении скобок нет! ' )

ELSE

IF L = P THEN

Writeln ( ' В введённой строке имеется баланс скобок ' )

ELSE

Writeln ( ' В введённой строке нет баланса скобок ' ) ;

ReadKey ; { задержка выполнения программы }

End .

Пример :  В ведённом предложении определить  и вывести на экран количество слов  заканчивающихся буквой Я (или я ),  а также сами эти слова .

Пример :

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

и вывести на экран количество слов заканчивающихся буквой Я (или я ),

а также сами эти слова .

начало Введите предложение Вывод сообщения Ввод S S : = S + ‘ ‘ Slovo : = ‘’ I : = 1 Kol : = 0 I  - + C A B

начало

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

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

Ввод S

S : = S + ‘ ‘

Slovo : = ‘’

I : = 1

Kol : = 0

I

-

+

C

A

B

 C A - + S [ i ]  ‘ ‘ D : = Length ( Slovo ) Slovo : = Slovo + S [ i ] i : = i + 1 (  Slovo [ D ] = ‘ Я ‘ ) OR (  Slovo [ D ] = ‘ я ‘ ) - + Kol : = Kol + 1 Вывод Slovo Slovo : = ‘’ i : = i + 1

C

A

-

+

S [ i ] ‘ ‘

D : = Length ( Slovo )

Slovo : = Slovo + S [ i ]

i : = i + 1

( Slovo [ D ] = ‘ Я )

OR

( Slovo [ D ] = ‘ я )

-

+

Kol : = Kol + 1

Вывод Slovo

Slovo : = ‘’

i : = i + 1

B + Kol = 0 - Нет слов заканчива ющихся на Я или я Вывод Kol Вывод сообщения конец

B

+

Kol = 0

-

Нет слов

заканчива

ющихся

на Я или я

Вывод Kol

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

конец

Мы живём на планете Земля  S = планете живём на 5 7 Земля 2 ы М 5 2  D = Slovo = 26 21 20 9 1 3 1 2 1 0 4 3 2 1 1 К ol =  i =

Мы живём на планете Земля

S =

планете

живём

на

5

7

Земля

2

ы

М

5

2

D =

Slovo =

26

21

20

9

1 3

1 2

1 0

4

3

2

1

1

К ol =

i =

Program Stroka ; Uses CRT ; { подключение модуля } Var  S : string ; { исходная строка }  Slovo : string ; { отдельное слово из строки S  }    Kol  : byte ; { количество слов, удовлетворяющих условию }      i : byte ; { индексы элементов строки S  }  D : byte ;  {  длина слова } Begin ClrScr ; { очистка экрана } Write ( ' Введите предложение: ' )  ; ReadLn (S) ; S :  =  S + '   '  ; { добавляем к исходной строке пробел для  }  { возможности просмотра последнего слова предложения } Slovo :  =  '  '  ; { резервируем переменную под каждое слово строки  S  } Kol :  = 0  ;  { первоначальное значение для количества слов } i :  = 1  ;  { индекс первого  символа строки  S  }

Program Stroka ;

Uses CRT ; { подключение модуля }

Var S : string ; { исходная строка }

Slovo : string ; { отдельное слово из строки S }

Kol : byte ; { количество слов, удовлетворяющих условию }

i : byte ; { индексы элементов строки S }

D : byte ; { длина слова }

Begin

ClrScr ; { очистка экрана }

Write ( ' Введите предложение: ' ) ;

ReadLn (S) ;

S : = S + ' ' ; { добавляем к исходной строке пробел для }

{ возможности просмотра последнего слова предложения }

Slovo : = ' ' ; { резервируем переменную под каждое слово строки S }

Kol : = 0 ; { первоначальное значение для количества слов }

i : = 1 ; { индекс первого символа строки S }

While i do {  пока индексы не вышли за }  { длину строки S … }  Begin  While S [ i ]  '   ' do  begin { формируем отдельное слово }     Slovo : = Slovo+ S[ i ];  i : = i + 1;  end ;  D : = Length ( Slovo ) ;  IF ( Slovo [ D ] = ' я ' ) or ( Slovo [ D ] = ' Я ' ) THEN   begin   Kol :  =  Kol +1;  { находим количество слов }  WriteLn ( Slovo )  ; { выводим на экран слово }  end ;  Slovo :  = ' ' ; { очищаем переменную  для следующего слова }  i : =  i +  1; End ;

While i do { пока индексы не вышли за }

{ длину строки S }

Begin

While S [ i ] ' ' do begin { формируем отдельное слово }

Slovo : = Slovo+ S[ i ];

i : = i + 1;

end ;

D : = Length ( Slovo ) ;

IF ( Slovo [ D ] = ' я ' ) or ( Slovo [ D ] = ' Я ' ) THEN

begin

Kol : = Kol +1; { находим количество слов }

WriteLn ( Slovo ) ; { выводим на экран слово }

end ;

Slovo : = ' ' ; { очищаем переменную для следующего слова }

i : = i + 1;

End ;

IF   Kol  = 0 THEN  Writeln ( ' Нет слов, удовлетворяющих условию ' ) ELSE Writeln ( ' Количество слов равно ', kol ) ; ReadKey ; {  задержка выполнения программы  } End .

IF Kol = 0 THEN

Writeln ( ' Нет слов, удовлетворяющих условию ' )

ELSE

Writeln ( ' Количество слов равно ', kol ) ;

ReadKey ; { задержка выполнения программы }

End .

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

Задача :

Организовать ручное заполнение

целочисленного вектора М,

размерностью 10.

Вывести на экран элементы вектора,

а также сумму всех отрицательных

его элементов и количество

элементов, больших числа 5.

- 8 9 3  5 8 1 7 4 3 - 2 М = Сумма отрицательных элементов равна - 15 Количество элементов больших  5 , равно 3

- 8

9

3

  • 5

8

1

7

4

3

- 2

М =

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

Количество элементов больших 5 , равно 3

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

Начало

i : = 1, 10

S : = 0

Введите

элемент

вектора

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

K : = 0

Ввод M [ i ]

Вывод

сообщения

Исходный

вектор

i : = 1, 10

Вывод M [ i ]

5 + - K : = K + 1 Конец " width="640"

i : = 1, 10

Вывод S

M [ i ]

-

+

S : = S + M [ i ]

i : = 1, 10

Вывод K

M [ i ] 5

+

-

K : = K + 1

Конец

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 ; { переход на новую строку }

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 ; { переход на новую строку }

5 THEN K : = K + 1 ; Writeln ( ‘ Количество элементов удовлетворяющих условию = ‘ , К ) ; ReadLn; { задержка выполнения программы } END. " width="640"

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

IF M [ i ] 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.

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

Задача :

Организовать ручное заполнение

целочисленного одномерного массива

А, размерностью N .

Заменить все отрицательные элементы

на число Р .

Вывести на экран элементы вектора ДО

и ПОСЛЕ изменения.

44 Р =  - 2 9 - 8 А = 4 7 1 8  5 3 3 1 7 4 3 44 8 44 3 44 9 А =

44

Р =

- 2

9

- 8

А =

4

7

1

8

  • 5

3

3

1

7

4

3

44

8

44

3

44

9

А =

=1) and (N i : = 1, N Введите элемент вектора Вывод сообщения A Ввод A [ i ] " width="640"

Начало

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

вектора ( max = 15 )

Вывод

сообщения

Ввод N

-

+

(N=1) and

(N

i : = 1, N

Введите

элемент

вектора

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

A

Ввод A [ i ]

Исходный  вектор A Вывод  сообщения i :  = 1, N Вывод сообщения Введите число для  замены Вывод A [ i ] Ввод Р i :  = 1,  N А [ i ]  + - B А [ i ] : = P

Исходный

вектор

A

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

i : = 1, N

Вывод

сообщения

Введите

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

Вывод A [ i ]

Ввод Р

i : = 1, N

А [ i ]

+

-

B

А [ i ] : = P

Вектор ПОСЛЕ  замены элементов B Вывод  сообщения i :  = 1, N Вывод A [ i ] Конец

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

B

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

i : = 1, N

Вывод A [ i ]

Конец

= 1 ) and ( N ; FOR i : = 1 to N do { заполнение вектора } begin Write ( ‘ Введите элемент вектора : ‘ ) ; ReadLn ( A [ i ] ) ; end ; Writeln ( ‘ Исходный вектор ‘ ) ; FOR i : = 1 to N do { вывод вектора на экран } Write ( A [ i ] : 5 ) ; { форматный вывод } " width="640"

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 ;

FOR i : = 1 to N do { заполнение вектора }

begin

Write ( ‘ Введите элемент вектора : ‘ ) ;

ReadLn ( A [ i ] ) ;

end ;

Writeln ( ‘ Исходный вектор ‘ ) ;

FOR i : = 1 to N do { вывод вектора на экран }

Write ( A [ i ] : 5 ) ; { форматный вывод }

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

WriteLn ; { переход на новую строку }

Write ( ‘ Введите число для замены : ‘ ) ;

ReadLn ( P ) ;

FOR i : = 1 to N do { замена отрицательных элементов }

IF A [ i ] THEN A [ i ] : = P ;

Writeln ( ‘ Вектор ПОСЛЕ замены элементов ‘ ) ;

FOR i : = 1 to N do { вывод вектора на экран }

Write ( A [ i ] : 5 ) ; { форматный вывод }

ReadLn; { задержка выполнения программы }

END.

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

Задача :

Организовать заполнение

целочисленного вектора Y ,

размерностью 10, случайным образом .

Найти в массиве минимальный элемент

и вывести его на экран.

Начало Randomize i :  = 1,  10 Y [ i ] : = Random ( 99 ) Вывод сообщения Исходный  вектор i :  = 1,  10 Вывод Y [ i ]

Начало

Randomize

i : = 1, 10

Y [ i ] : = Random ( 99 )

Вывод

сообщения

Исходный

вектор

i : = 1, 10

Вывод Y [ i ]

Min : = Y [ 1 ] i :  = 1,  10 Y [ i ]  + - Вывод Min Min : = Y [ i ] Конец

Min : = Y [ 1 ]

i : = 1, 10

Y [ i ]

+

-

Вывод Min

Min : = Y [ i ]

Конец

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 ) ; { форматный вывод }  WriteLn ; { переход на новую строку }

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 ) ; { форматный вывод }

WriteLn ; { переход на новую строку }

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

Min : = Y [ 1 ] ;

FOR i : = 1 to 10 do { поиск минимального элемента }

IF Y [ i ] THEN Min : = Y [ i ] ;

Writeln ( ‘ Минимальный элемент вектора = , Min ) ;

ReadLn; { задержка выполнения программы }

END.

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

Задача :

Организовать ручное заполнение

одномерного массива Z ,

размерностью 8, вещественными

числами.

Переставить местами первый элемент

массива и элемент массива, равный числу Х.

Вывести на экран массив ДО и ПОСЛЕ перестановки.

1.1 X =  8.1 -2.3 9 .7 Z = - 3 .1 4 .3 7 .9 - 8 .2 1.1 8.1 9 .7 -2.3 - 8 .2 7 .9 4 .3 - 3 .1 1.1 Z =

1.1

X =

8.1

-2.3

9 .7

Z =

- 3 .1

4 .3

7 .9

- 8 .2

1.1

8.1

9 .7

-2.3

- 8 .2

7 .9

4 .3

- 3 .1

1.1

Z =

  4 Index = 1.1 X =  Z =  - 3 .1 4 .3 7 .9 - 8 .2 9 .7 8.1 -2.3 1.1  A =

4

Index =

1.1

X =

Z =

- 3 .1

4 .3

7 .9

- 8 .2

9 .7

8.1

-2.3

1.1

A =

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

Начало

i : = 1, 8

Введите

элемент

вектора

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

Ввод Z [ i ]

Исходный

вектор

Вывод

сообщения

i : = 1, 8

Вывод Z [ i ]

A

A Вывод сообщения Введите число для  перестановки Ввод Х i :  = 1,  8 Z [ i ] =  Х + - B index : = i

A

Вывод

сообщения

Введите

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

Ввод Х

i : = 1, 8

Z [ i ] = Х

+

-

B

index : = i

B  Index = 0 - + А : = Z [ 1 ] Z [ 1 ] : = Z [ index  ] Массив не изменился Вывод сообщения Z [ index ] : = A Массив ПОСЛЕ замены Вывод сообщения i :  = 1,  8 Вывод Z [ i ] Конец

B

Index = 0

-

+

А : = Z [ 1 ]

Z [ 1 ] : = Z [ index ]

Массив не

изменился

Вывод

сообщения

Z [ index ] : = A

Массив

ПОСЛЕ

замены

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

i : = 1, 8

Вывод Z [ i ]

Конец

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 ; { переход на новую строку }

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 ; { переход на новую строку }

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.

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.

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

Задача :

Организовать ручное заполнение

одномерного массива В,

размерностью 10, целыми числами.

Найти и вывести на экран произведение

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

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

Начало

i : = 1, 10

Введите

элемент

вектора

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

Ввод В [ i ]

Исходный

вектор

Вывод

сообщения

i : = 1, 10

Вывод В [ i ]

A

A Pr : = 1 F : = 5 i :  = 1, 10 ODD ( B [ i ] ) = False + - F : = 7 B Pr : = Pr * B [ i ]

A

Pr : = 1

F : = 5

i : = 1, 10

ODD ( B [ i ] ) = False

+

-

F : = 7

B

Pr : = Pr * B [ i ]

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

B

F = 5

+

-

Вывод Pr

В массиве нет

чётных

элементов

Вывод

сообщения

Конец

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 ; { переход на новую строку }

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 ; { переход на новую строку }

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

F : = 5 ;

Pr : = 1 ; { первоначальное значение произведения }

FOR i : = 1 to 10 do { поиск произведения чётных элементов }

IF ODD ( Z [ i ] ) = FALSE THEN begin

F : = 7 ;

Pr : = Pr * B [ i ] ;

end ;

IF F = 5 THEN Writeln ( ‘ В массиве НЕТ чётных элементов ‘ )

ELSE Writeln ( ‘ Произведение чётных элементов равно , Pr ) ;

ReadLn; { задержка выполнения программы }

END.

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

Задача :

Организовать ручное заполнение

двумерного массива В, размерностью

5 х 7, целыми числами.

Найти и вывести на экран количество

чётных элементов массива и максимальный

элемент матрицы.

Начало i :  = 1,  5 j :  = 1, 7 Введите элемент матрицы Вывод сообщения Ввод В [ i , j ] A

Начало

i : = 1, 5

j : = 1, 7

Введите

элемент

матрицы

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

Ввод В [ i , j ]

A

A Исходная матрица Вывод сообщения i :  = 1,  5 j :  = 1, 7 Переход на новую строку Вывод В [ i , j ] В

A

Исходная

матрица

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

i : = 1, 5

j : = 1, 7

Переход на

новую строку

Вывод В [ i , j ]

В

В Kol : = 0 i :  = 1,  5 j :  = 1, 7 Вывод Kol ODD ( B [ i , j ] ) = false + - Kol : = Kol + 1 C

В

Kol : = 0

i : = 1, 5

j : = 1, 7

Вывод

Kol

ODD ( B [ i , j ] ) =

false

+

-

Kol : = Kol + 1

C

Max + - Max : = B [ i , j ] Конец " width="640"

C

Max : = B [ 1, 1 ]

i : = 1, 5

j : = 1, 7

Вывод

Max

B [ i , j ] Max

+

-

Max : = B [ i , j ]

Конец

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

Задача :

Организовать случайное заполнение

двумерного массива А, размерностью

3 х 5, целыми числами.

Найти и вывести на экран произведение

нечётных элементов массива в столбце W .

Начало Randomize i :  = 1,  3 j :  = 1, 5 A [ i , j ] : = Random ( 99 ) A

Начало

Randomize

i : = 1, 3

j : = 1, 5

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

A

A Исходная матрица Вывод сообщения i :  = 1, 3 j :  = 1, 5 Переход на новую строку Вывод A [ i , j ] В

A

Исходная

матрица

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

i : = 1, 3

j : = 1, 5

Переход на

новую строку

Вывод A [ i , j ]

В

=1) and (W A " width="640"

Вывод

сообщения

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

Ввод W

-

+

(W=1) and

(W

A

В P : = 1 F : = 4 i :  = 1,  3 ODD ( A [ i , W ] ) = true + - F : = 7 P : = P * A [ i , W ] C

В

P : = 1

F : = 4

i : = 1, 3

ODD ( A [ i , W ] ) =

true

+

-

F : = 7

P : = P * A [ i , W ]

C

C F = 7 + - Вывод Р Вывод сообщения В столбце нет нечётных элементов Конец

C

F = 7

+

-

Вывод Р

Вывод

сообщения

В столбце

нет нечётных

элементов

Конец

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

Задача :

Организовать ручное заполнение

двумерного массива В, размерностью

9 х 9, целыми числами.

Заменить все элементы главной диагонали

на сумму их индексов.

Вывести на экран массив В ДО и ПОСЛЕ

изменения.

Начало i :  = 1,  9 j :  = 1, 9 Введите элемент матрицы Вывод сообщения Ввод В [ i , j ] A

Начало

i : = 1, 9

j : = 1, 9

Введите

элемент

матрицы

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

Ввод В [ i , j ]

A

A Матрица ДО изменения Вывод сообщения i :  = 1,  9 j :  = 1, 9 Переход на новую строку Вывод В [ i , j ] В

A

Матрица

ДО изменения

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

i : = 1, 9

j : = 1, 9

Переход на

новую строку

Вывод В [ i , j ]

В

В i :  = 1,  9 В [ i , i ]  : = i + i С

В

i : = 1, 9

В [ i , i ] : = i + i

С

С Матрица ПОСЛЕ изменений Вывод сообщения i :  = 1,  9 j :  = 1, 9 Переход на новую строку Вывод В [ i , j ] Конец

С

Матрица

ПОСЛЕ изменений

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

i : = 1, 9

j : = 1, 9

Переход на

новую строку

Вывод В [ i , j ]

Конец

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

Задача :

Организовать случайное заполнение

двумерного массива М, размерностью

Т х Т, целыми числами.

Заменить все элементы выше главной

диагонали на первый элемент матрицы.

Вывести на экран массив М ДО и ПОСЛЕ

изменения.

1 0 ) Размерность Введена не верно ! Вывод сообщения + - ( Т =1) and ( Т 0 ) A " width="640"

Начало

Вывод

сообщения

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

квадратной матрицы

( max = 10 )

Ввод Т

-

+

( Т or

( Т 1 0 )

Размерность

Введена не верно !

Вывод

сообщения

+

-

( Т =1) and

( Т 0 )

A

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

A

Randomize

i : = 1, Т

j : = 1, Т

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

В

В Матрица ДО изменения Вывод сообщения i :  = 1,  Т j :  = 1, Т Переход на новую строку Вывод М [ i , j ] С

В

Матрица

ДО изменения

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

i : = 1, Т

j : = 1, Т

Переход на

новую строку

Вывод М [ i , j ]

С

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

С

i : = 1, T

j : = 1, T

i

+

-

M [ i , j ] : = M [ 1 , 1 ]

D

D Матрица ПОСЛЕ изменений Вывод сообщения i :  = 1,  T j :  = 1, T Переход на новую строку Вывод M [ i , j ] Конец

D

Матрица

ПОСЛЕ изменений

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

i : = 1, T

j : = 1, T

Переход на

новую строку

Вывод M [ i , j ]

Конец