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

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

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

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

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

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

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

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

Итоги урока

Модуль 5 Массивы программирование на языке паскаль

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

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

Раздаточный материал по основам языка программирования Паскаль для учащихся 8-9 классов. Возможно использование для самостоятельного обучения

Просмотр содержимого документа
«_017_Массивы_М5_БЛОК1»



Задания для самостоятельной работы:


  1. Имеется целочисленный массив, состоящий из 15 элементов:

  1. Найти сумму a[1] и a[7] элементов;

  2. Найти разность a[9] и a[3] элементов;

  3. Найти среднее арифметическое всех элементов массива;

  4. Найти произведение всех элементов массива.


  1. Имеется целочисленный массив, состоящий из N элементов (N - чётное):

  1. Найти сумму первых N/2 элементов;

  2. Найти сумму элементов стоящих на чётных позициях;

  3. Найти произведение элементов стоящих на нечётных позициях;

  4. Найти сумму чётных элементов стоящих на чётных позициях.


  1. Имеется вещественный массив, состоящий из 9 элементов.

Найти сумму, среднее арифметическое и произведение всех элементов массива.


Изучаем “Массивы”









М5_Блок № 1



Тема урока:


Понятие массива.

Ввод и вывод элементов массива.

Задание массива в разделе констант.







Цель занятия:


  1. Сформировать понятие табличной величины (массива);

  2. Научиться работать с массивами на компьютере;

  3. Получить навыки ввода массива различными способами.








Массив представляет собой таблицу в памяти компьютера (имеющую название), состоящую из некоторого числа ячеек (7,13, 50,100). К значениям, находящимся в ячейках массива, имеется удобный доступ, необходимо лишь указать имя массива и индекс ячейки (a[1],a[3], a[7]).


Например, массив а состоит из 10 ячеек (говорят, что размерность массива равна 10)




Попытаемся понять, как работать с массивом на примере следующей задачи:


Имеется 10 чисел. Необходимо найти их сумму.


program zadacha5_1;

const n=10;

var

s,i:integer;

a:array[1..n] of integer; {описание массива}

Begin

for i:=1 to n do

begin

writeln('Введите a[',i,']'); {Ввод элементов массива}

read (a[i]);

end;


writeln('Введённый массив');

for i:=1 to n do {Вывод эл. массива}

write (a[i],’ ’);

s:=0;

for i:=1 to n do {Нахождение суммы}

s:=s+a[i];

writeln; writeln('Сумма элементов массива =', s );

End.

В данной задаче все элементы массива вводились с клавиатуры. Но ввод элементов массива можно осуществлять и по-другому: задавая весь массив в разделе констант.


Решим задачу вторым способом.


p

Массив задан как константа

rogram zadacha5_2;

const n=10;

a:array[1..n] of integer=(1,0,-2,7,8,9,9,4,0,-4)

var

s,i:integer;

Begin

writeln('Введённый массив');

for i:=1 to n do {Вывод эл. массива}

write (a[i],’ ’);

s:=0;

for i:=1 to n do {Нахождение суммы}

s:=s+a[i];

writeln; writeln('Сумма элементов массива =', s );

End.




Вопросы для повторения:

  1. Что такое массив?

  2. Что такое элемент массива?

  3. Что такое индекс массива?

  4. Что такое размерность массива?

  5. Зачем нужны массивы?

  6. Как можно обратиться к ячейке массива?

  7. Какого типа могут быль элементы массива?

  8. Какого типа может быть индекс массива?

  9. Как можно осуществить ввод элементов массива? Придумайте три способа.



Просмотр содержимого документа
«_017_Массивы_М5_БЛОК2»



Задания для самостоятельной работы:


  1. Имеется целочисленный массив, состоящий из 15 элементов

найти минимальный элемент и его индекс.

  1. В массиве хранится информация о количестве осадков (целые

числа), выпавших за каждый день прошедшей недели. Вывести

номера дней, когда осадков не было.

  1. Дан массив целых чисел из n элементов. Найти и вывести номера элементов, заканчивающихся цифрой 0.

  2. Рост N учеников класса представлен в виде массива. Найти количество учеников, рост которых не превышает значения R.

  3. В массиве записаны результаты N игр футбольной команды (если игра закончилась выигрышем данной команды, то записано число 3, проигрышем - число 2, вничью - 1). Определить количество выигрышей, проигрышей, ничьих.

  4. В массиве хранится информация о росте N человек. Определить, на сколько рост самого высокого человека превышает рост самого низкого.

  5. В массиве хранится информация о стоимости 1 кг N видов конфет. Определить порядковый номер самого дешевого вида конфет. Если таких несколько, то должен быть найден индекс:

А) первого из них;

Б) последнего из них.

  1. В массиве хранится информация о стоимости каждой из M книг. Определить количество самых дешевых книг (с одинаковой минимальной ценой).


Изучаем “Массивы”









МОДУЛЬ5_Блок № 2



Тема урока:


Поиск в массиве элементов

с заданными свойствами.

Поиск максимального

(минимального) элемента.



Цель занятия:


  1. Получить навыки разработки программ по работе с элементами массива;

  2. Познакомиться со способами поиска элементов с заданными свойствами;

  3. Практическая работа с массивами на компьютере.







П

1 4 9 6 7 13 19 12 5 8

k = 19 ; k = 3

1 4 6 7 8 8 8 4 5 4 k = 8


оследовательный поиск
— элементы массива просматриваются последовательно один за другим, при этом производится проверка соответствия элемента заданному свойству.




Имеется n целых чисел. Необходимо найти число (элемент), значение которого равно К. Если такой элемент в последовательности есть, то указать его порядковый номер.


program zadacha5_1;

var

k,i,n,p:integer;

a:array[1..30] of integer; {описание массива}

Begin Write('Кол. элем. массива'); readln(n);

for i:=1 to n do

begin

write('Введите a[',i,']'); {Ввод элементов массива}

readln (a[i]);

end;

writeln('Введённый массив');

for i:=1 to n do {Вывод эл. массива}

write (a[i],’ ’);

writeln;

write('Введите К');readln(k);

p:=0;

for i:=1 to n do {Нахождение суммы}

if a[i]=k then p:=i;

if p=0

then writeln('элемента в табліце нет')

else writeln('элемент найден, индекс =',p)

End.

В данной задаче в случае наличия в таблице нескольких элементов, равных К будет выдан наибольший индекс. Для поиска первого такого элемента в таблице используют цикл:

i:=1;

While (ik) do

i:=i+1;

Решим задачу поиска наибольшего элемента в таблице А из N вещественных чисел. Найти максимум и индекс этого элемента.


p

1 4 9 6 7 13 19 12 5 8


1 4 6 7 8 8 8 4 5 4

k = 8


rogram zadacha5_2;

var a:array[1..30] of real;

max: real;

j,i: integer;

Begin

Write('Кол. элем. массива'); readln(n);

{Ввод элементов массива}

…………………..

{Вsвод элементов массива}

…………………..

max:=a[1]; j:=1;

for i:=2 to n do {Поиск максимума}

if max

begin

max:=a[i];

j:=i;

end;

writeln;

writeln('Макс. элемент массива =', max );

writeln('Индекс макс. элемента =', j );


End.

Алгоритм:

  1. Условно считаем первый элемент наибольшим (максимальным). Запоминаем его значение (a[1]) и его индекс (=1).

  2. Cравниваем значение максимального с очередным элементом таблицы (i), начиная со второго элемента и до последнего.

  3. При нахождении элемента с большим значением меняем значение максимального на найденный элемент и запоминаем его индекс.

  4. При наличии в таблице нескольких минимальных и при условии maxmax



Просмотр содержимого документа
«_017_Массивы_М5_БЛОК3»


for i:=1 to n do

s := s + abs ( a[ i ,j ]);

if s max

then begin

max := s;

k:=j;

end;

j := j+2; {Переход к очередному нечетному

end; индексу столбца }

writeln( 'Номер столбца с максим. суммой модулей элементов =' ,

k, 'знач. макс.=', max);

end.


Задания для самостоятельной работы:

  1. Имеется целочисленный массив n*m элементов. Найти номер строки с минимальной суммой модулей элементов.

  2. Имеется целочисленный массив n*m элементов. Найти

индексы максимального элемента таблицы и значение

максимума.

  1. Имеется целочисленный массив n*m элементов.

Каких элементов в массиве больше отрицательных или положительных?

  1. Имеется целочисленный массив n*m элементов. Сообщить есть ли в таблице отрицательные элементы.

  2. Имеется целочисленный массив n*m элементов. Найти среднее

арифметическое элементов массива. Определить и вывести

количество элементов массива, значение которых превышает

это среднее значение.

Изучаем “Массивы”









МОДУЛЬ 5_Блок № 3



Тема урока:


Двухмерные массивы: описание, ввод и вывод массивов по строкам.

Примеры решение задач с использованием двухмерных массивов..



Цель занятия:


  1. Получить навыки разработки программ по работе с элементами двухмерного массива;

  2. Практическая работа с массивами на компьютере.









Двухмерные массивы имеют строки и столбцы. Элемент массива задается номером строки и номером столбца, на пересечении которых он находится












Если количество строк = количеству столбцов массив называется квадратной матрицей, в противном случае - прямоугольной.


Задана прямоугольная матрица размера n строк и m столбцов.

Заполнить ее целыми числами. Распечатать по строкам. Найти и вывести сумму всех элесментов и их среднее арифметическое значение.


program zadacha5_3_1;

var

i, j, s,m,n : integer;

sr : real;

a:array[1..10, 1..20] of integer; {описание массива}

Begin

Write('Кол. строк, кол. столбцов?');

readln( n,m);

for i:=1 to n do

for j:=1 to m do

begin

write('Введите a[', i , ',' , j , ']'); {Ввод элементов

readln (a[ i, j ]); массива}

end;


writeln('Введённый массив');

for i:=1 to n do {Вывод эл. Массива}

begin

for j:=1 to m do

write (a[ i, j ],’ ’); {Вывод эл. массива}

writeln;

end;

s:=0;

for i:=1 to n do

for j:=1 to m do {Нахождение суммы}

s:=s + a[ i , j ];

writeln('Сумма =', s);


sr:=s / (n*m); {Нахождение среднего}

writeln('Средее =', sr:8:3)

End.


Задача.

Среди нечетных столбцов заданной целочисленной матрицы размерностью n*m найти столбец с максимальной суммой модулей элементов.

program zadacha5_3_2;

var

i, j, m, n, k, s, max :integer;

a : array[1..10, 1..20] of integer; {описание массива}

Begin

Write('Кол. строк, кол. столбцов?'); readln( n,m);

{Заполнить таблицу}

{Вывести таблицу по строкам}

{Первоначально будем считать сумму модулей элементов первого столбца максимальной}

s:=0;

for i:=1 to n do {Нахождение суммы первого столбца}

-3

4

6

8

1

4

9

-12

-6

13

3

-5

2

7

-5

10 18 20 21 19

max сумма мод. Неч. стол. = 20

номер столбца = 3

s := s + abs ( a[i, 1]);

max := s ;

k:=1; j :=3;

while j

begin

s := 0;




Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!