Top Banner
1 Автор разработки: Розанова Татьяна Аркадьевна, учитель информатики МОУ СОШ №2 города Кинешмы Ивановской области 2011 – 2012 учебный год
24

Const N=20; M=30; Var c : Array [1.. N,1..M] Of Integer; a: Array [1..N, 1..M] Of Real;

Jan 03, 2016

Download

Documents

Riley Baldwin

0 1 0 0 1 1 1 0 1 0 0 0 1 0 0 1 1 1. 45 63 23 45 12 12 36 56 89 45. Двумерные массивы. Const N=20; M=30; Var c : Array [1.. N,1..M] Of Integer; a: Array [1..N, 1..M] Of Real;. c[ i,j ]:= 12; min:= a[1,1]; b[ i,j ]:= i *j;. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

1

Автор разработки: Розанова Татьяна Аркадьевна, учитель информатики МОУ СОШ №2 города Кинешмы Ивановской области

2011 – 2012 учебный год

Page 2: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь

01 15621,56 14800,23 8950,11 8950,11 8950,11 8950,11 8950,11 10236,32 10236,32 10236,32 10236,32 23450,56

02 13500,25 12564,23 9123,65 9123,65 9123,65 9123,65 9123,65 12569,45 12569,45 12569,45 12569,45 22569,45

03 10256,23 15642,23 9600,56 9600,56 9600,56 9600,56 9600,56 13156,45 15156,45 13156,45 13156,45 17500,62

04 11548,60 9500,32 8561,45 8561,45 8561,45 8561,45 8561,45 11500,98 11500,98 11500,98 11500,98 21400,62

05 12456,32 10200,56 7894,52 7894,52 7894,52 7894,52 7894,52 10256,23 10256,23 10256,23 10256,23 22159,36

06 12541,89 11256,50 9800,21 9800,21 9800,21 9800,21 9800,21 13549,23 13549,23 13549,23 13549,23 23400,56

07 6800,23 6452,12 6800,50 6800,50 6800,50 6800,50 6800,50 7200,56 7200,56 7200,56 7200,56 9800,45

1. Сколько рублей потратило предприятие на выплату заработной платы в мае?2. Какова годовая заработная плата 05 работника?3. Сколько работников в сентябре имело заработную плату больше 15 000 рублей?

Годовой отчёт по заработной плате

2

Page 3: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

3

Page 4: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

4

Page 5: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

5

Задача 1. Что можно сказать о сформированном массиве?

Program P1;Const N=6; M=3; a=-20; b=20;Var c: Array [1..N,1..M] Of Integer; i, j: Integer;Begin Randomize; For i:=1 To N Do Begin For j:=1 To M Do Begin c [i, j]:=Trunc (a+(b-a)*Random); Write (c[i,j]:6); End; WriteLn; End; …End.

Задача 2. Какие изменения нужно внести в программу, чтобы сформировать массив из вещественных чисел?

Program P1;Const N=6; M=3; a=-20; b=20;Var c: Array [1..N,1..M] Of Real; i, j: Integer;Begin Randomize; For i:=1 To N Do Begin For j:=1 To M Do Begin c [i, j]:=a+(b-a)*Random; Write (c[i,j]:6:2); End; WriteLn; End; …End. Ответ: двумерный

целочисленный массив, 6 строк, 3 столбца. Меню

Page 6: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Задача 3. Чему равен элемент c[5,2]?

For i:=1 To N DoFor j:=1 To M Do

c [i,j]:=2*j-i;

Ответ: -1.

Задача 4. Что выполняет фрагмент

программы?

For i:=1 To N DoFor j:=1 To M Doc[i,j]:=500+c[i,j];

Ответ: увеличивает значения всех элементов массива на

500.

Задача 5. Какой массив сформирован?

For i:=1 To 4 DoFor j:=1 To 4 Do

c[i,j]:=i;

Ответ: i=1 1 1 1 1 i=2 2 2 2 2 i=3 3 3 3 3 i=4 4 4 4 4

6Меню

Page 7: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Задача 6. Что находит фрагмент программы?

x:=0; For i:=1 To N DoFor j:=1 To M Do If c[i,j]<5 Then x:=x+c[i,j]; WriteLn (‘x=’ , x);

Задача 7. Что находит фрагмент программы?

z:=0; For i:=1 To N DoFor j:=1 To M Do If c[i,j]>7 Then z:= z+1; WriteLn (‘z=’ , z);

y:=0

i:=1,N

j:=1,M

y:=y+ Abs(c[i,j])

Вывод y

Задача 8. Что находит фрагмент алгоритма?

Ответ: находит сумму модулей всех элементов массива. 7

Меню

Ответ: находит сумму элементов, меньших 5.

Ответ: находит количество элементов, больших 7.

Page 8: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Задача 10.Сколько элементов массива 4×4 будут равны 1?

For i:=1 To 4 DoFor j:=1 To 4 Do If i+j Mod 3 =0 Then c[i,j]:=0 Else c[i,j]:= 1;

i=1

i=2

i=3

i=4

i=5

i=6

j=1 j=2 j=3 j=4 j=5 j=6

0

-

+ + + + +

0 + + + +

- - 0 + + +

- - - 0 + +

- - - - 0 +

- - - - - 0

j=1 j=2 j=3 j=4

i=1

i=2

i=3

i=4

1 0 1 1

0 1 1 0

1 1 0 1

01 1 1

Ответ: 15.

Ответ:11.

8

Задача 9.

Сколько элементов

массива 6×6 будет иметь

положительные значения?

For i:=1 To 6 Do

For j:=1 To 6 Do

c[i,j]:=j-i;

Меню

Page 9: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

i=1

i=2

i=3

i=4

i=5

i=6

i=7

i=8

j=2 j=4j=1 j=3 j=5

Сформирован целочисленный массив с (8×5).

1. Распечатать элементы 6 строчки.

2. Найти сумму элементов 2-го столбца.

3. Найти количество положительных элементов в 3 строчке.

4. Найти максимальный элемент в 4 столбце.

5. Поменять местами элементы 2 и 4 столбцов.

9Меню

Page 10: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Распечатать элементы 6 строчки

For j:=1 To 5 Do WriteLn (c[6,j]);

C[6,1]

j=1 j=2

C[6,2]

j=3

C[6,3]

j=4

C[6,4]

j=5

C[6,5]i=6

10Меню

Page 11: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Найти сумму элементов 2-го столбца

S:=0; For i:=1 To 8 DoS:=S+c [i,2]; WriteLn (‘S=’ , S);

i=1

i=2

i=3

i=4

i=5

i=6

i=7

i=8

j=2

C[1,2]

C[2,2]

C[3,2]

C[4,2]

C[5,2]

C[6,2]

C[7,2]

C[8,2]

S

+ c[i,2]

11Меню

Page 12: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Найти количество положительных элементов в 3 строчке

k:=0; For j:=1 To 5 Do If c[3,j]>0 Then k:=k+1; WriteLn (‘k=’ , k);

j=1 j=2 j=3 j=4 j=5

i=3

k

C[3,1] C[3,2] C[3,3] C[3,4] C[3,5]

+ 1 {если c[3,j]>0}

12Меню

Page 13: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Найти максимальный элемент в 4 столбце

Max:=c[1,4];For i:=2 To 8 Do If c[i,4]>Max Then

Max:=c[i,4]; WriteLn (‘Max=’ , Max);

j=4

C[1,4]

Max

i=2 C[2,4]

i=3 C[3,4]

i=4 C[4,4]

i=5 C[5,4]

i=6 C[6,4]

i=7 C[7,4]

i=8 C[8,2]

13Меню

Page 14: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Поменять местами элементы 2 и 4 столбцов

For i:=1 To 8 Do Begin x:=c [i,2]; c [i,2]:=c [i,4]; c [i,4]:=x; End;

i=1

i=2

i=3

i=4

i=5

i=6

i=7

i=8

xj=2 j=4

14Меню

Page 15: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Выводы

15

При работе со строчкой меняется параметр j, номер

строчки определяется условием задачи

При работе со столбцом меняется параметр i, номер

столбца определяется условием задачи

Меню

Page 16: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Что выполняет фрагмент программыв сформированном массиве?

…For i:=1 To 5 Doc[i,3]:=c[i,3]+1000; …

Ответ: увеличивает элементы 3 столбца на 1000.

16Меню

Page 17: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Что выполняет фрагмент программыв сформированном массиве?

…For j:=1 To 5 DoWrite (c [2,j]:6 );…

Ответ: распечатывает 2 строчку.

17Меню

Page 18: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Что выполняет фрагмент программы в сформированном массиве?

…For i:=1 To 5 Doc[i,4]:=10; …

Ответ: элементы 4 столбца заменяет числом 10.

18Меню

Page 19: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Что выполняет фрагмент программы в сформированном массиве?

…S:=0; For j:=1 To 5 Do If c[2,j]<6 Then S:=S+c [2,j]; WriteLn (‘S=’ , S);…Ответ: во 2 строчке находит сумму элементов, которые

меньше 6.

19Меню

Page 20: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Что выполняет фрагмент алгоритма в сформированном массиве?

Ответ: чётные элементы третьего столбца заменяет

числом 70.

20

i:=1,5

c[i,3]:=70

с[i,3] Mod 2 =0

Меню

Page 21: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь

01 15621,56 14800,23 8950,11 8950,11 8950,11 8950,11 8950,11 10236,32 10236,32 10236,32 10236,32 23450,56

02 13500,25 12564,23 9123,65 9123,65 9123,65 9123,65 9123,65 12569,45 12569,45 12569,45 12569,45 22569,45

03 10256,23 15642,23 9600,56 9600,56 9600,56 9600,56 9600,56 13156,45 13156,45 13156,45 13156,45 17500,62

04 11548,60 9500,32 8561,45 8561,45 8561,45 8561,45 8561,45 11500,98 11500,98 11500,98 11500,98 21400,62

05 12456,32 10200,56 7894,52 7894,52 7894,52 7894,52 7894,52 10256,23 10256,23 10256,23 10256,23 22159,36

06 12541,89 11256,50 9800,21 9800,21 9800,21 9800,21 9800,21 13549,23 13549,23 13549,23 13549,23 23400,56

07 6800,23 6452,12 6800,50 6800,50 6800,50 6800,50 6800,50 7200,56 7200,56 7200,56 7200,56 9800,45

Вариант 11.Сколько потратило предприятие на выплату з/п в январе?2.Найти годовую з/п 07 работника.3.Сколько человек имели в декабре з/п больше 20 000 рублей?

Вариант 21.Сколько потратило предприятие на выплату з/п в феврале?2.Найти годовую з/п 05 работника.3.Сколько человек имели в сентябре з/п меньше 10 000 рублей? 21

Сформировать таблицу «Годовой отчёт по заработной плате» для одного из цехов некоторого предприятия. В цехе трудится семь работников. Массив заработных плат заполнить случайным образом, диапазон взять от 6 000 рублей до 25 000 рублей с точностью до копейки.

Меню

Page 22: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

22

Const N=7; M=12; a=6000; b=25000;Var c: Array [1..N,1..M] Of Real; s,s1:Real; k, i, j: Integer;Begin Randomize; WriteLn (‘Отчёт по заработной плате’); For i:=1 To N Do Begin For j:=1 To M Do Begin c [i, j]:= a+(b-a)*Random; Write (c[i,j]:10:2); End; WriteLn; End;  …

Меню

Page 23: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Вариант 1s:=0; For i:=1 To N Do s:=s+c[i,1];WriteLn (‘s=‘, s:10:2, ‘руб.’);

s1:=0;For j:=1 To M Do s1:= s1+c[7,j];WriteLn (‘s1=‘, s1:10:2 ‘руб’);

k:=0;For i:=1 to N Do If c[i,12]>20000 then k:=k+1;WriteLn (‘k=‘, k);

Вариант 2s:=0; For i:=1 To N Do s:=s+c[i,2];WriteLn (‘s=‘, s:10:2, ‘руб.’);

s1:=0;For j:=1 To M Do s1:= s1+c[5,j];WriteLn (‘s1=‘, s1:10:2 ‘руб’);

k:=0;For i:=1 to N Do If c[i,9]<10000 then k:=k+1;WriteLn (‘k=‘, k);

23Меню

Page 24: Const N=20; M=30; Var   c : Array [1.. N,1..M]  Of  Integer;   a: Array [1..N, 1..M] Of Real;

Домашнее задание

Сформировать целочисленный массив (6×6), заполненный случайным образом.

1.Заменить нулями элементы третьей строчки.2.Чётные элементы второго столбца увеличить на 100, распечатать получившийся массив.3.В четвёртом столбце найти количество элементов, которые больше 40. 4.*Распечатать строчку, в которой находится минимальный элемент массива (если таких элементов несколько и находятся в разных строчках, то любую из них).5.**Упорядочить вторую строчку в порядке нестрогого возрастания.6.**Сформировать одномерный массив, каждый элемент которого равен сумме элементов соответствующего столбца.

24Меню