1 / 37

Массивы

Массивы. 10 класс. Ксш №4 Степанов П.Г. Массивы (разбивка по часам). Определение массива. Описание массива в Паскале. Способы заполнения. Нахождение суммы элементов массива. Нахождение произведения элементов массива. Нахождение элементов массива по какому-либо признаку.

rudolf
Download Presentation

Массивы

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Массивы 10 класс Ксш №4 Степанов П.Г.

  2. Массивы(разбивка по часам) • Определение массива. Описание массива в Паскале. Способы заполнения. • Нахождение суммы элементов массива. • Нахождение произведения элементов массива. • Нахождение элементов массива по какому-либо признаку. • Сортировка элементов массива. Выход из программы

  3. Урок 1 Определение массива. Описание массива. Способы заполнения массива.

  4. Толпа

  5. Организованная толпа 1 2 3 1 1 2 3 1 1 2 2 3 2 4 3 5 5 4 4 4 3 4 5 5 5

  6. A[4] Массив- упорядоченная совокупность однотипных элементов, объединенных одним именем.Массив определяется именем (идентификатором) и количеством размерностей (координат), необходимых для указания местонахождения требуемого элемента. Одномерный массив (вектор) Направление изменения индекса

  7. Двумерный массив (матрица) Направление изменения второго индекса Направление изменения первого индекса A[2,3]

  8. задать имя массива • указать номер первого и последнего элементов массива • указать тип элементов массива. Например: Описать массив, это значит: • var • a: array [1..10] of real;

  9. Способы заполнения массива.

  10. 1 способ (в программе) Program Proba; var a: array [1..5] of integer; begin a[1]:=5; a[2]:=-4; a[3]:=0; a[4]:=-2; a[5]:=13; end.

  11. 2 способ (с клавиатуры) Program Proba; var i:integer; a: array [1..5] of integer; begin for i:=1 to 5 do begin write (‘Введите число ’); readln(a[i]); end; end.

  12. 3 способ (функцией) Program Proba; var i:integer; a: array [1..5] of integer; begin for i:=1 to 5 do a[i]:=sqr(i); end.

  13. 4 способ (раздел описания констант) Program Proba; const a: array [1..5] of integer = (3,67,-9,6,45); var i:integer; begin for i:=1 to 5 do writeln( a[i] ); end.

  14. 5 способ (псевдогенератором случайных чисел) Program Proba; var i:integer; a: array [1..5] of integer; begin randomize; for i:=1 to 5 do a[i]:= random(8); end.

  15. Найди ошибку! Program Proba; const a: array [1..5] of integer = (3,67,-9,6,45) begin for i:=1 to 5 do writeln( a[i] ); end.

  16. Найди ошибку! Program Proba; const a: array of integer = (3,67,-9,6,45); var i:integer; begin for i:=1 to 5 do writeln( a[i] ); end;

  17. Массивы Урок 2 Нахождение суммы элементов массива. Задача.Найти сумму арифметического ряда чисел.S=23+1+4+43+56+23+56+4

  18. Задача.Найти сумму арифметического ряда чисел.S=23+1+4+43+56+23+56+4 Program summa; var a: array[1..8] of integer; i,s: integer; begin s:=0; for i:=1 to 8 do begin write(‘введите ‘,i,’-число’); readln(a[i]); end; for i:=1 to 8 do writeln(‘a[‘,i,’]=‘,a[i]); for i:=1 to 8 do s:=s+a[i]; writeln(‘s=‘,s); end.

  19. Задача.Найти сумму арифметического ряда чисел.S=23+1+4+43+56+23+56+4 Program summa; var a: array[1..8] of integer; i,s: integer; begin s:=0; for i:=1 to 8 do begin write(‘введите ‘,i,’-число’); readln(a[i]); end; for i:=1 to 8 do writeln(‘a[‘,i,’]=‘,a[i]); for i:=1 to 8 do s:=s+a[i]; writeln(‘s=‘,s); end.

  20. Задача.Найти сумму арифметического ряда чисел.S=23+1+4+43+56+23+56+4 Program summa; var a: array[1..8] of integer; i,s: integer; begin s:=0; for i:=1 to 8 do begin write(‘введите ‘,i,’-число’); readln(a[i]); end; for i:=1 to 8 do writeln(‘a[‘,i,’]=‘,a[i]); for i:=1 to 8 do s:=s+a[i]; writeln(‘s=‘,s); end.

  21. Задача.Найти сумму арифметического ряда чисел.S=23+1+4+43+56+23+56+4 a[1]=23 a[2]=1 a[3]=4 a[4]=43 a[5]=56 a[6]=23 a[7]=56 a[8]=4 Program summa; var a: array[1..8] of integer; i,s: integer; begin s:=0; for i:=1 to 8 do begin write(‘введите ‘,i,’-число’); readln(a[i]); end; for i:=1 to 8 do writeln(‘a[‘,i,’]=‘,a[i]); for i:=1 to 8 do s:=s+a[i]; writeln(‘s=‘,s); end.

  22. Задача.Найти сумму арифметического ряда чисел.S=23+1+4+43+56+23+56+4 23 1 4 43 56 23 56 4 Program summa; var a: array[1..8] of integer; i,s: integer; begin s:=0; for i:=1 to 8 do begin write(‘введите ‘,i,’-число’); readln(a[i]); end; for i:=1 to 8 do writeln(‘a[‘,i,’]=‘,a[i]); for i:=1 to 8 do s:=s+a[i]; writeln(‘s=‘,s); end. 210 s

  23. Задача.Найти произведение арифметического ряда чисел.P=3*11*4*3*6*3*5*4 Program proiz; var a: array[1..8] of integer; i,p: integer; begin p:=1; for i:=1 to 8 do begin write(‘введите ‘,i,’-число’); readln(a[i]); end; for i:=1 to 8 do writeln(‘a[‘,i,’]=‘,a[i]); for i:=1 to 8 do p:=p*a[i]; writeln(‘p=‘,p); end.

  24. Массив Урок 3 Нахождение элементов массива по какому-либо признаку.

  25. Найти произведение всех элементов массива не равных нулю (т.к. в противном случае произведение всегда будет равно 0). Массив из 10 элементов, заполняется псевдогенератором случайных чисел. Program proizv; var a:array[1..10] of integer; i,p: integer; begin randomize; p:=1; for i:=1 to 10 do a[i]:=random(101)-50; for i:=1 to 10 do writeln(‘a[‘,i,’]=‘,a[i]); for i:=1 to 10 do if a[i]<>0 then p:=p*a[i]; writeln(‘p=‘,p); End.

  26. Определить число учеников в группе, чей рост выше среднего. Воспользоваться программой, составленной на первом уроке по теме «Массивы» . . . for i:=1 to 10 do writeln(‘Рост ‘,i,’ ученика‘,Rost[i]); for i:=1 to 10 do s:=s+Rost[i]; sr_rost:=s/10; n:=0; for i:=1 to 10 do if Rost[i]>sr_rost then n:=n+1; writeln(‘n=‘,n); end.

  27. Найти и вывести на экран порядковые номера учеников, чей рост ниже среднего. … for i:=1 to 10 do writeln(‘Рост ‘,i,’ ученика‘,Rost[i]); for i:=1 to 10 do s:=s+Rost[i]; sr_rost:=s/10; for i:=1 to 10 do if Rost[i]<sr_rost then writeln(i); end.

  28. МассивыУрок 4 Сортировка выбором 1. Проверка домашнего задания 2. Задача 13. Задача 2 Задача. Упорядочить элементы массива по возрастанию. Шаги решения проблемы: 1. Найти минимальный элемент массива и его порядковый номер; 2. Поставить его на первое место в массиве, предварительно убрав оттуда первый элемент; 3. Поставить первый элемент вместо только что найденного минимального элемента; 4….

  29. Задача.Найти и вывести на экран порядковый номер первого отрицательного элемента массива. Массив состоит из 10 элементов, заполняется псевдогенератором случайных чисел. Program otric; var a:array[1..10] of integer; i,nomer: integer; begin ramdomize; for i:=1 to 10 do a[i]:=random(101)-50; for i:=1 to 10 do writeln(‘a[‘,i,’]=‘,a[i]); for i:=10 dowto 1 do if a[i]<0 then nomer:=i; writeln(‘nomer=‘,nomer); End.

  30. 1 Находим и запоминаем минимальный элемент. min n_min perv 2. Запоминаем его порядковый номер 3. Убираем элемент, стоящий на первом месте 4. Ставим на его место минимальный элемент 5. Ставим на место минимального элемента- первый 1 2 3 3 4 5 6 7

  31. 1. Находим и запоминаем минимальный элемент. min n_min perv 2. Запоминаем его порядковый номер 3 3. Убираем элемент, стоящий на первом месте 4. Ставим на его место минимальный элемент 5. Ставим на место минимального элемента- первый 1 2 3 4 4 5 6 7

  32. 1.Находим и запоминаем минимальный элемент. min n_min perv 2.Запоминаем его порядковый номер 3.Убираем элемент, стоящий на первом месте 4 6 4.Ставим на его место минимальный элемент 5.Ставим на место минимального элемента- первый 1 2 3 4 4 5 6 7

  33. 1.Находим и запоминаем минимальный элемент. min n_min perv 2.Запоминаем его порядковый номер 3.Убираем элемент, стоящий на первом месте 6 7 4.Ставим на его место минимальный элемент 5.Ставим на место минимального элемента- первый 1 2 3 4 4 5 6 7

  34. Задача 1: Найти наименьший элемент массива и его порядковый номер. Program upor; Var a: array [1..10] of integer; min, n_min: integer; Begin randomize; For i:=1 to 10 do a[i]:=random(20)-9; For i:=1 to 10 do writeln(‘a[‘, I, ‘]=‘, a[i]); min:=a[1]; n_min:=1; For i:=2 to 10 do if a[i]<min then begin min:=a[i]; n_min:=i; end; writeln(‘min=‘,min, ‘,‘,’ его номер-’,n_min]); End.

  35. Задача 2: Найти наименьший элемент массива и его порядковый номер. Поменять местами первый и найденный минимальный элемент Program upor_2; Var a: array [1..10] of integer; min, n_min, perv: integer; Begin randomize; For i:=1 to 10 do a[i]:=random(20)-9; For i:=1 to 10 do writeln(‘a[‘, i, ‘]=‘, a[i]); min:=a[1]; n_min:=1; For i:=2 to 10 do if a[i]<min then begin min:=a[i]; n_min:=i; end; perv:=a[1]; a[1]:=min; a[n_min]:=perv; For i:=1 to 10 do writeln(‘a[‘, i, ‘]=‘, a[i]); End.

  36. Задача 3 Найти наименьший элемент массива (начиная с k-го) и его порядковый номер. Поменять местами k-тый и найденный минимальный элемент. Program upor_3; Var a: array [1..10] of integer; min, n_min, perv, k: integer; Begin randomize; For i:=1 to 10 do a[i]:=random(20)-9; For i:=1 to 10 do writeln(‘a[‘, i, ‘]=‘, a[i]); k:=1; min:=a[k]; n_min:=k; For i:=k+1 to 10 do if a[i]<min then begin min:=a[i]; n_min:=i; end; perv:=a[k]; a[k]:=min; a[n_min]:=perv; For i:=1 to 10 do writeln(‘a[‘, i, ‘]=‘, a[i]); End.

  37. Program upor_4; Var a: array [1..10] of integer; min, n_min, perv: integer; Begin randomize; For i:=1 to 10 do a[i]:=random(20)-9; For i:=1 to 10 do writeln(‘a[‘, i, ‘]=‘, a[i]); For k:=1 to 9 do begin min:=a[k]; n_min:=k; For i:=k+1 to 10 do if a[i]<min then begin min:=a[i]; n_min:=i; end; perv:=a[k]; a[k]:=min; a[n_min]:=perv; end; For i:=1 to 10 do writeln(‘a[‘, i, ‘]=‘, a[i]); End.

More Related