Инфоурок Информатика КонспектыОткрытый урок на тему "Массивы" 9 класс

Открытый урок на тему "Массивы" 9 класс

Скачать материал

Выберите документ из архива для просмотра:

Выбранный для просмотра документ Фамилия имя для учащихся.doc

Фамилия имя _______________________________________________

Класс__________________________________

Рефлексия на начало занятий:

Красный – мне нечего не интересно, настроение 2-

Синий – «опять информатика», настроение на 3

Желтый – «интересно,  что будет дальше», настроение на 4

Розовый – «готов к работе», настроение отличное

По теме: что вы знаете о массивах?

оцени свои знания на начало урока синим цветом и на конец урока красным цветом.

умею хорошо выполнять задачи

 

 

 

 

 

 

 

 

умею выполнять задачи

 

 

 

 

 

 

 

 

знаю хорошо

 

 

 

 

 

 

 

 

знаю

 

 

 

 

 

 

 

 

имею представление

 

 

 

 

 

 

 

 

видел раньше

 

 

 

 

 

 

 

 

 

понятия о массивах

понятие о одномерном массиве

понятие о многомерном массиве

основные понятия

вывод массива

вывод массива случайным способом

решение задач на вывод массива

решение задач на вывод случайным способом

Задание 1. Тренинг на интерактивной доске.

                                          i.        Определение.


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

a.     Группа элементов с одним именем.

b.     Упорядоченная последовательность разнотипных величин, обозначаемая одним именем.

c.     Упорядоченная последовательность однотипных величин, обозначаемая одним именем.

d.     Сложная переменная, состоящая из строковых переменных

3.     Выберите служебное слово для описания массива

a.     Array

b.     Arrey

c.     Dim

d.     Dam

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

a.     Количество элементов

b.     Количество строк

c.     Количество столбцов

d.     Количество индексов

5.     Что такое индекс?

a.     Число в скобках

b.     Количество элементов

c.     Количество строк

d.     Количество столбцов

6.     Что обозначает индекс в имени одномерного массива?

a.     Количество элементов

b.     Количество строк

c.     Количество столбцов

d.     Порядковый номер элемента

7.     Что обозначает индекс в имени элемента одномерного массива?

a.     Количество элементов

b.     Количество строк

c.     Количество столбцов

d.     Порядковый номер элемента


Задание 2. набрать программу по вариантам. Пример:

Program mas_1;

uses Crt;

Var i: integer;

M : array [1..5] of Real ;

begin

Clrscr;

For i:=1 to 5 do

begin

write ('m[',i,']=');

readln(m[i);

Writeln ('          ', m[i]:6:2);

readln;

end;

end.

 

Program Create;
Type Mas = Array[1..100] Of Integer;
Var A : Mas; I, J, N : Byte; Log : Boolean;
Begin
    Write(''); ReadLn(N);
    randomize; A[1] := -32768 + random(65535);
    For I := 2 To N Do
    Begin
        Log := True;
        Repeat
            A[i] := -32768 + random(65535); J := 1;
            While Log and (j <= i - 1) Do
            begin Log := a[i] <> a[j]; j := j + 1 End
        Until Log
    End;
    For i := 1 to N Do Write(a[i]:7); readln;
End.

 

Задание 3 найти ошибки в программе.  И набрать в Паскале.

Пример 1. Ввод значений элементов массива с клавиатуры  из 10 элементов используется обычно тогда, когда между элементами не наблюдается никакой зависимости. Например, последовательность чисел 1, 2, -5, 6, -111, 0 может быть введена в память следующим образом:

Program Vvod;

 Var N, I : Integer;

     A : Array [1..20] Of Integer;

Begin

  Write('Введите количество элементов массива ');  ReadLn(N);

  FOR I := 1 TO N DO

  Begin

   Write('Введите A[', I, '] '); ReadLn(A[I])

End.

 

Пример2, программа, выводящая на печать номера и названия дней недели, хранящиеся в массиве day, может быть реализована так:

                var

                   day: array [1..7] of string [11];

                   i: integer;

                begin

                    day [1]:= writeln ‘Понедельник’;

                    day [2]:= writeln ‘Вторник’;

                    day [3]:= writeln ‘Среда’;

                    day [4]:= writeln ‘Четверг’;

                    day [5]:= writeln ‘Пятница’;

                    day [6]:= writeln ‘Суббота’;

                    day [7]:= writeln ‘Воскресенье’;

                    for i:= 1 to 7 do writeln (i, ‘   ’, day [i]); readln;

                                                         end.

Рефлексия на начало занятий:

Красный – «мне нечего не интересно», настроение 2-

Синий – «опять информатика была скучная», настроение на 3

Желтый – «интересно, по работал на уроке хорошо», настроение на 4

Розовый – «Продолжение будет?», настроение отличное

 

Дополнительное задание.

Применение знаний на практике.

Задача1. Дан линейный массив. Упорядочить его элементы в порядке возрастания.

{Сортировка массива выбором (в порядке возрастания).

 Идея решения: пусть часть массива (по K-й элемент включительно)

 отсортирована. Нужно найти в неотсортированной части массива

 минимальный элемент и поменять местами с (K+1)-м}

Program Sortirovka;

Var N, I, J, K, Pr : 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 - 1 Do

    Begin

     K := I;

     For J := I + 1 To N Do If A[J] <= A[K] Then K := J;

     Pr := A[I]; A[I] := A[K]; A[K] := Pr;

    End;

    For I := 1 To N Do Write(A[I], ' ');

  End.

Тест: N = 10; элементы массива - 1, 2, 2, 2, -1, 1, 0, 34, 3, 3.

Ответ: -1, -1, 0, 1, 2, 2, 2, 3, 3, 34.

 Для продвинутых с учебника пример 2-3 стр.123

 

Задание № 4. Задачи для самостоятельной работы на ПК

1.        Составьте программу, заменяющее меньшее из двух данных чисел суммой, а большее – произведением этих чисел.

2.        Составьте программу расположения трех чисел в порядке возрастания

3.        Составьте программу, вычисления значения выражения для данного числа N: 4+8+12+…+4*N.

4.        Составьте программу вычисления среднего арифметического целых чисел из отрезка  [6;33].

д/з. Составьте блок-схему и программу с учебника пример 2-3 стр.123

 

 


 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Открытый урок на тему "Массивы" 9 класс"

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Ученый секретарь

Получите профессию

HR-менеджер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Выбранный для просмотра документ ЗАДАНИЕ.doc

ЗАДАНИЕ:

Массив из 13 положительных элементов заполнить целыми случайными числами из интервала (-5, 5)

Найти:

1 уровень:

Сумму или количество (положительных, отрицательных)

2 уровень

Сумму(количество) положительных(отрицательных) и кратных (2,3,5 и т.д)

3 уровень

Сумму(количество) положительных(отрицательных) и кратных (2,3,5 и т.д) и на четных или нечетных местах


Найти кол-во  отриц, нечетных, на  нечетных местах

 

PROGRAM V;                                                

USES CRT;

var a:array [1..13] of integer;

    k,i:integer;

begin

clrscr;

randomize;

for i:=1 to 13 do

 begin

  a[i]:=random(30)+random(30)*(-1);

  write(a[i],' ');

  if (a[i]<0) and odd(i) and odd(a[i]) then k:=k+1;

 end;

writeln;

writeln('Количество',k);

end.

 

Найти сумму четных, положительных на четных местах

 

program nata;

  uses crt;

  var a:array [1..13] of integer;

      l,i,k,j:integer;

begin

  clrscr;

  randomize;

  for i:=1 to 13 do

  begin

  a[i]:=random(31)+random(31)*(-1);

  if (frac(a[i]/2)=0) and (frac(i/2)=0) and (a[i]>=0)  then k:=k+a[i];

  write (' ',a[i]);

  end;

  writeln;

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

end.

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Открытый урок на тему "Массивы" 9 класс"

Получите профессию

Методист-разработчик онлайн-курсов

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Выбранный для просмотра документ Массивы.pps

Скачать материал "Открытый урок на тему "Массивы" 9 класс"

Получите профессию

Бухгалтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Описание презентации по отдельным слайдам:

  • 10.06.2022КОММУНАЛЬНОЕ ГОСУДАРСТВЕННОЕ УЧРЕЖДЕНИЕ ГИМНАЗИЯ № 24Понятия массив...

    1 слайд

    10.06.2022
    КОММУНАЛЬНОЕ ГОСУДАРСТВЕННОЕ УЧРЕЖДЕНИЕ ГИМНАЗИЯ № 24
    Понятия массивы.
    ВЫХОД
    >

  • 10.06.2022СодержаниеОсновные понятия.
Одномерный массив.
Двумерный массив.ВЫХОД

    2 слайд

    10.06.2022
    Содержание
    Основные понятия.
    Одномерный массив.
    Двумерный массив.
    ВЫХОД

  • 10.06.2022ВЫХОД&gt;ГЛАВНОЕ МЕНЮОсновные понятияМассив - это упорядоченный набор...

    3 слайд

    10.06.2022
    ВЫХОД
    >
    ГЛАВНОЕ МЕНЮ
    Основные понятия
    Массив - это упорядоченный набор однотип-ных элементов.
    Элементами массива могут быть данные лю-бого типа.
    Каждому элементу массива соответствует со-вокупность номеров (индексов), определяю-щих его местоположение в массиве.

  • 10.06.2022ВЫХОД&gt;ГЛАВНОЕ МЕНЮОсновные понятияНапример: А(8), В(2,3), Form(2,3,...

    4 слайд

    10.06.2022
    ВЫХОД
    >
    ГЛАВНОЕ МЕНЮ
    Основные понятия
    Например: А(8), В(2,3), Form(2,3,2) и т.д.
    Числа в скобках называются индексами.
    Количество индексов в скобках называется размерностью.
    Если индекс 1, то массив одномерный, если в скобках индексов 2 - то массив двумерный, если N - то N-мерный.

  • 10.06.2022Одномерный массив.ВЫХОД&gt;

    5 слайд

    10.06.2022
    Одномерный массив.
    ВЫХОД
    >
    <
    ГЛАВНОЕ МЕНЮ
    Одномерный массив (индекс в скобках один) соот-ветствует понятию линейной таблицы или вектора.



    a(n)={a(1), a(2), a(3), …, a(n)}
    Имя
    массива
    Количество элементов
    массива
    индексы
    Элементы
    массива
    Порядковый номер элемента
    массива

  • 10.06.2022Одномерный массив.ВЫХОД&gt;

    6 слайд

    10.06.2022
    Одномерный массив.
    ВЫХОД
    >
    <
    ГЛАВНОЕ МЕНЮ
    Элементами одномерного массива могут быть числа, строки и т.д.

    Mas(5)={8, 3, -4, 0, 9}

    Name(3)={ “Маша”, “Петя”, “Вася”}

  • 10.06.2022Двумерный массив.ВЫХОД&gt;

    7 слайд

    10.06.2022
    Двумерный массив.
    ВЫХОД
    >
    <
    ГЛАВНОЕ МЕНЮ
    Двумерный массив (два индекса в скобках через запятую) соответствует понятию прямоугольной таблицы или матрицы.
    k(1, 1), k(1, 2), …, k(1, n)
    k(2, 1), k(2, 2), …, k(2, n)
    … … … … … … … … …
    k(m, 1), k(m, 2), …, k(m, n)
    Имя
    массива
    Количество элементов
    массива mn
    Элементы
    массива
    Номер строки и номер столбца, в которых находиться элемент
    массива
    K(m, n)=

Получите профессию

Технолог-калькулятор общественного питания

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Выбранный для просмотра документ Массивы_действия.pps

Скачать материал "Открытый урок на тему "Массивы" 9 класс"

Получите профессию

Технолог-калькулятор общественного питания

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Описание презентации по отдельным слайдам:

  • МАССИВЫОпорный конспектДалееВыход

    1 слайд

    МАССИВЫ
    Опорный конспект
    Далее
    Выход

  • Этапы работы с массивами:1. Описание (объявление) массива;
2. Ввод массива в...

    2 слайд

    Этапы работы с массивами:
    1. Описание (объявление) массива;
    2. Ввод массива в память;
    3. Обработка элементов массива;
    4. Вывод массива на экран.
    Далее
    Назад

  • Описание массивов:одномерного A(N)двумерного A(N, M)Описание массивов произво...

    3 слайд

    Описание массивов:
    одномерного A(N)
    двумерного A(N, M)
    Описание массивов производится в разделе описания переменных .
    var А:array [1..N] of тип;

    var А:array [1..N, 1..M] of тип;

    Далее
    Назад

  • Ввод массива в память:одномерного A(N)двумерного A(N, M)For i:=1 to n do
	Rea...

    4 слайд

    Ввод массива в память:
    одномерного A(N)
    двумерного A(N, M)
    For i:=1 to n do
    Read(A[i]);
    For i:=1 to n do
    For j:=1 to m do
    Read(A[i,j]);
    с клавиатуры
    случайным образом
    Randomize;
    For i:=1 to n do
    A[i]:=Random(10);

    Заполняет целыми случайными числами от 0 до 9
    Randomize;
    For i:=1 to n do
    For j:=1 to m do
    A[i,j]:=Random(100);
    Заполняет целыми случайными числами от 0 до 99
    Далее
    Назад

  • Вывод массива на экран:одномерного A(N)двумерного A(N, M)For i:=1 to n do
	Wr...

    5 слайд

    Вывод массива на экран:
    одномерного A(N)
    двумерного A(N, M)
    For i:=1 to n do
    Writeln(A[i]);
    For i:=1 to n do
    begin
    For j:=1 to m do
    Write(A[i,j]:4);
    Writeln;
    end;
    в столбик таблицей
    в строчку
    For i:=1 to n do
    Write(A[i]:4);
    Далее
    Назад

Получите профессию

Копирайтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Выбранный для просмотра документ Презентация1.pps

Скачать материал "Открытый урок на тему "Массивы" 9 класс"

Получите профессию

Няня

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Описание презентации по отдельным слайдам:

  • Действия над массивами9 класс.

    1 слайд

    Действия над массивами
    9 класс.

  • Массив - это структура данных, которую можно рассматривать как набор переменн...

    2 слайд

    Массив - это структура данных, которую можно рассматривать как набор переменных одинакового типа, имеющих общее имя. Массивы удобно использовать для хранения однородной по составу информации, например, элементов таблиц, коэффициентов уравнений, матриц.

    Перед использованием массив, как и любая переменная, должен быть объявлен в разделе объявления переменных. В общем виде объявление массива выглядит так:
    Имя: array [нижний_индекс .. верхний_индекс] of тип
    где
    Имя - имя переменной-массива;
    array - ключевое слово, обозначающее, что переменная является массивом;
    нижний_индекс и верхний_индекс - целые числа, определяющие диапазон изменения индексов (номеров) элементов массива и, неявно, количество элементов (размер) массива;
    тип - тип элементов массива.
    МАССИВЫ
    Объявление массива

  • Примеры объявления массивов:
	temper: array [1..31] of real;
	koef: array [0....

    3 слайд

    Примеры объявления массивов:
    temper: array [1..31] of real;
    koef: array [0..2] of integer;
    name: array [1..30] of string [25];
    При объявлении массива удобно использовать именованные константы. Именованная константа объявляется в разделе описания констант, который располагают перед разделом объявления переменных. Начинается раздел объявления констант словом CONST. Например, массив названий команд участниц чемпионата по футболу можно объявить так:
    const
    NT=18; {число команд}
    SN=25; {предельная длина названия команды}
    var
    team: array [1..NT] of string [SN];
    Чтобы в программе использовать элемент массива, надо указать имя массива и номер элемента (индекс), заключив его в квадратные скобки. Индекс может быть константой или выражением целого типа. Например:
    team [1]:= Зенит;
    d:= koef [1] * koef [1] - 4 * koef [2] * koef [1];
    readln (name [n + 1]);
    writeln (temper [i]);

  • К типичным действиям с массивами можно отнести следующие:...

    4 слайд

    К типичным действиям с массивами можно отнести следующие: - вывод массива; - ввод массива;
    - сортировка массива; - поиск в массиве заданного элемента;
    - поиск в массиве максимального или минимального элемента;
    - это вывод на экран значений элементов массива. Если в программе необходимо вывести значения всех элементов массива, то для этого удобно использовать инструкцию FOR, переменная-счётчик которой может быть реализована как индекс элемента массива.
    Например, программа, выводящая на печать номера и названия дней недели, хранящиеся в массиве day, может быть реализована так:
    var
    day: array [1..7] of string [11];
    i: integer;
    begin
    day [1]:=‘Понедельник’;
    day [2]:=‘Вторник’;
    day [3]:=‘Среда’;
    day [4]:=‘Четверг’;
    day [5]:=‘Пятница’;
    day [6]:=‘Суббота’;
    day [7]:=‘Воскресенье’;
    for i:= 1 to 7 do writeln (i, ‘ ’, day [i]);
    end.
    Вывод массива

  • Под вводом массива понимается ввод значений элементов массива. Как и вывод...

    5 слайд



    Под вводом массива понимается ввод значений элементов массива. Как и вывод массива, ввод удобно реализовать при помощи инструкции FOR. Чтобы пользователь программы знал, ввода какого элемента массива ожидает программа, следует организовать вывод подсказок перед вводом очередного элемента массива. В подсказке обычно указывают индекс элемента массива.
    Пример:
    Следующая программа запрашивает температуру воздуха в течении недели и запоминает введённые значения в массиве temper, затем вычисляет среднее значение. Для организации подсказок используется массив строк day.

    Ввод массива
    Пример

  • Пример:	
	var
	     day: array [1..7] of string [11];  {название дней недели}...

    6 слайд

    Пример:

    var
    day: array [1..7] of string [11]; {название дней недели}
    temper: array [1..7] of real; {температура}
    sum: real; {сумма температур за неделю}
    sredn: real; {средняя температура за неделю}
    i: integer;
    begin
    day [1]:=‘Понедельник’;
    day [2]:=‘Вторник’;
    day [3]:=‘Среда’;
    day [4]:=‘Четверг’;
    day [5]:=‘Пятница’;
    day [6]:=‘Суббота’;
    day [7]:=‘Воскресенье’;
    writeln (‘Задайте температуру воздуха за неделю.’);
    for i:= 1 to 7 do
    begin
    write (day [i], ‘-->’);
    readln (temper [i]);
    end;
    {вычисление средней температуры за неделю}
    sum:= 0;
    for i:= 1 to 7 do
    sum:= sum + temper [i];
    sredn:= sum / 7;
    writeln (‘Средняя температура за неделю:’, sredn: 6: 2);
    end.

  • Под сортировкой массива подразумевается процесс перестановки элементов с цель...

    7 слайд

    Под сортировкой массива подразумевается процесс перестановки элементов с целью упорядочивания их в соответствии с каким-либо критерием. Например, если имеется массив целых a , то после сортировки по возрастанию должно выполняться условие:
    a [1] <= a [2] <= … <= a [SIZE]
    SIZE - верхняя граница индекса массива.
    Так как можно сравнивать переменные типов INTEGER, REAL, CHAR и STRING, то можно сортировать массивы этих типов.
    Задача сортировки распространена в информационных системах и используется как предварительный этап задачи поиска, так как поиск в упорядоченном (отсортированном) массиве проводится намного быстрее, чем в неупорядоченном.
    Существует много методов (алгоритмов) сортировки массивов. Здесь мы рассмотрим два метода:
    метод прямого выбора
    метод прямого обмена
    Сортировка массива

  • Алгоритм сортировки массива по возрастанию методом прямого выбора может быть...

    8 слайд

    Алгоритм сортировки массива по возрастанию методом прямого выбора может быть представлен так:
    1. Просматривая массив от первого элемента, найти минимальный и поместить его на место первого элемента, а первый на место минимального.
    2. Просматривая массив от второго элемента, найти минимальный и поместить его на место второго элемента, а второй на место минимального.
    3. И так далее до последнего элемента.
    В Примере представлена программа сортировки массива целых чисел по возрастанию. Для демонстрации процесса сортировки программа выводит массив после каждого обмена элементов.
    Сортировка методом прямого выбора

  • Пример:	const
	   SIZE = 5;
	var
	   a: array [1..SIZE] of integer;
	   i:...

    9 слайд



    Пример:
    const
    SIZE = 5;
    var
    a: array [1..SIZE] of integer;
    i: integer; {номер элемента, которого ведётся поиск минимального элемента}
    min: integer; {номер минимального элемента в части массива от i до верхней границы массива}
    j: integer; {номер элемента, сравниваемого с минимальным}
    buf: integer; {буфер, используемый при обмене элементов массива}
    k: integer;
    begin
    writeln (‘Сортировка массива.’);
    write (‘Введите’, SIZE: 3,’ целых в одной строке’);
    writeln (‘через пробел и нажмите<ENTER>’);
    for k:=1 to SIZE do read (a [k]);
    begin
    {поиск минимального элемента в части массива от f [i] до a [SIZE]}
    min:= i;
    for j:= i + 1 to SIZE do begin
    if a [j] < a [min] then min:= j;
    {поменяем местами a [min] и a [j]}
    buf:= a [i];
    a [i]:= a [min];
    a [min]:= buf;
    {выведем массив}
    for k:= 1 to SIZE do write (a [k], ‘ ‘);
    writeln;
    end;
    end;
    writeln (‘Массив отсортирован.’);
    end.

  • В основе алгоритма лежит обмен соседних элементов массива. Каждый элемен...

    10 слайд






    В основе алгоритма лежит обмен соседних элементов массива. Каждый элемент массива, начиная с первого, сравнивается со следующим и если он больше следующего, то элементы меняются местами. Таким образом элементы с меньшим значением продвигаются к началу массива (всплывают), а элементы с большим значением - к концу массива (тонут), поэтому этот метод иногда называют “пузырьковым”. Этот процесс повторяется на единицу меньше раз, чем элементов в массиве.



    Сортировка методом обмена
    (Метод пузырька)

  • Пример:Программа сортировки массива целых чисел по возрастанию. Для демонстра...

    11 слайд

    Пример:
    Программа сортировки массива целых чисел по возрастанию. Для демонстрации процесса сортировки программа выводит массив после каждого цикла обменов.
    const
    SIZE
    var
    a: array [1..SIZE] of integer;
    i: integer; {счетчик циклов}
    k: integer; {текущий индекс элемента массива}
    buf: integer;
    begin
    writeln (‘Сортировка массива пузырьковым методом.’);
    write (‘Введите’,SIZE: 3,’целых в одной строке через пробел’);
    writeln (‘и нажмите <ENTER>’);
    for k:= 1 to SIZE do read (a [k]);
    writeln (‘Сортировка.’);
    for i:= 1 to SIZE - 1
    do begin
    for k:= 1 to SIZE - 1
    do begin
    if a [k] > a [k + 1]
    then begin
    {обменяем k-й и (k + 1)-й элементы}
    buf:= a [k];
    a [k]:= a [k + 1];
    a [k + 1]:= buf;
    end;
    end;
    for k:= 1 to SIZE do write (a [k], ‘ ’);
    writeln (‘Массив отсортирован.’);
    end.

  • При решении многих задач возникает необходимость установить, содержит ли масс...

    12 слайд

    При решении многих задач возникает необходимость установить, содержит ли массив определенную информацию или нет. Например, проверить, есть ли в массиве фамилий студентов фамилия “Петров”. Задачи такого типа называются поиском в массиве.
    Для организации поиска в массиве могут быть использованы различные алгоритмы. Наиболее простой - это алгоритм перебора. Поиск осуществляется последовательным сравнением элементов массива с образцом до тех пор, пока не будет найден элемент, равный образцу, или не будут проверены все элементы. Алгоритм простого перебора применяется, если элементы массива не упорядочены.
    В Примере представлен текст программы поиска в массиве целых чисел. Перебор элементов массива осуществляет инструкция REPEAT, в теле которой инструкция IF сравнивает текущий элемент массива с образцом и присваивает переменной naiden значение TRUE, если текущий элемент равен образцу. Цикл завершается, если в массиве обнаружен элемент, равный образцу (naiden = TRUE), или если проверены все элементы массива. По завершении цикла, по значению переменной found можно определить, успешен поиск или нет.
    Очевидно, что чем больше элементов в массиве и чем дальше расположен нужный элемент от начала массива, тем дольше будет программа искать нужный элемент.
    Так как операции сравнения применимы как к числам, так и строкам, то данный алгоритм может использоваться для поиска как в числовых, так и в строковых массивах.
    На практике довольно часто проводится поиск в массиве, элементы которого упорядочены по некоторому критерию. Например, массив фамилий, как правило, упорядочен по алфавиту, массив данных о погоде упорядочен по датам наблюдений.
    Поиск в массиве

  • Пример:var
          massiv: array [1..10] of integer; {массив целых}...

    13 слайд

    Пример:
    var
    massiv: array [1..10] of integer; {массив целых}
    obrazec: integer; {образец для поиска}
    naiden: boolean; {признак совпадения с образцом}
    i: integer;
    begin
    {ввод 10 целых чисел}
    writeln (‘Поиск в массиве.’);
    write (‘Введите 10 целых в одной строке через пробел’);
    writeln (‘и нажмите <ENTER>’);
    write (‘-->’);
    for i:= 1 to 10 do read (massiv [i]);
    {числа введены в массив}
    write (‘Введите образец для поиска (целое число) -->’);
    readln (obrazec);
    {поиск простым перебором}
    naiden:= FALSE; {совпадений нет}
    i:= 1; {проверяем с первого элемента массива}
    repeat
    if massiv [i] = obrazec
    then naiden:= TRUE {совпадение с образцом}
    else i:= i + 1; {переход к следующему элементу}
    until (i > 10) or (naiden); {завершим, если совпадение с образцом или}
    {проверен последний элемент массива}
    if naiden
    then writeln (‘Совпадение с элементом номер’, i : 3, ‘ . ‘, ‘Поиск успешен.’)
    else writeln (‘Совпадений с образцом нет.’);
    end.

  • Алгоритм поиска минимального и максимального (максимального) элемента массива...

    14 слайд

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

    const
    GRANICA = 10;
    var
    a: array [1 .. GRANICA] of integer; {массив целых чисел}
    min: integer; {номер минимального элемента массива}
    i: integer; {номер элемента сравниваемого с минимальным}
    begin
    {здесь инструкции ввода массива}
    min:= 1; {пусть первый элемент минимальный}
    for i:= 2 to GRANICA do
    if a [i] < a [min] then min:= i;
    writeln (‘Минимальный элемент массива:’., a [min]);
    writeln (‘Номер элемента:’, min);
    end.
    Поиск минимального (максимального)
    элемента массива

  • Исходные данные для решения многих задач можно представить в табличной форме:...

    15 слайд

    Исходные данные для решения многих задач можно представить в табличной форме:





    В программе для хранения и обработки табличных данных можно использовать совокупность одномерных массивов. Например таблица результатов производственной деятельности нескольких филиалов фирмы может быть представлена так:
    zavod1: array [1..4] of integer;
    zavod2: array [1..4] of integer;
    zavod3: array [1..4] of integer;
    Для подобных случаев Pascal предоставляет более удобную структуру данных - двумерный массив.
    В общем виде описание двумерного массива выглядит так:
    Имя :array [НижняяГраницаИндекса1..ВерхняяГраницаИндекса1,
    НижняяГраницаИндекса2..ВерхняяГраницаИндекса2] of Тип
    где Имя - имя массива; array - слово языка Pascal, показывающее, что описываемый элемент данных - массив;
    НижняяГраницаИндекса1, ВерхняяГраницаИндекса1, НижняяГраницаИндекса2, ВерхняяГраницаИндекса2 - константы или выражения типа INTEGER, определяющие диапазон изменения индексов и, следовательно, число элементов массива;
    Тип - тип элементов массива.


    Многомерные массивы
    Продукт1 Продукт2 Продукт3 Продукт4
    Завод1

    Завод2

    Завод3

  • Приведенная выше таблица может быть представлена в виде двумерного массива та...

    16 слайд

    Приведенная выше таблица может быть представлена в виде двумерного массива так:
    product : array [1..3, 1..4] of integer
    Этот массив состоит из 12 элементов типа INTEGER.
    Чтобы использовать элемент массива, нужно указать имя массива и индексы элемента. Первый индекс обычно соответствует номеру строки таблицы, второй - номеру колонки. Так элемент product [2, 3] содержит число продуктов третьего наименования, выпущенных вторым заводом.
    Значения элементов двумерных массивов выводят на экран и вводят с клавиатуры, как правило, по строкам, т.е. Сначала все элементы первой строки, затем второй и т.д. Это удобно выполнять при помощи вложенных инструкций FOR. Следующий фрагмент программы выводит на экран значения элементов массива по строкам:
    for i:= 1 to 3 do
    begin
    for j:= 1 to 4 do
    write (product [i, j]);
    writeln;
    end;
    Каждый раз, когда внутренний цикл завершается, внешний цикл увеличивает i на единицу, и внутренний цикл выполняется вновь. Таким образом, выводятся все компоненты массива product : product [1, 1], product [1, 2],... product [1, 4], product [2,1], product [2, 2],... product [2, 4] и т.д.
    При описании массивов в программе удобно использовать именованные константы как значения верхних границ индексов массива.

  • Пример:Представленная ниже программа обрабатывает результаты соревнований по...

    17 слайд

    Пример:
    Представленная ниже программа обрабатывает результаты соревнований по легкой атлетике.







    Программа считывает исходные данные, вводимые с клавиатуры, вычисляет общее количество медалей и затем расставляет клубы по порядку в соответствии с общим количеством медалей. Для представления данных о количестве медалей используется двумерный массив medal, количество строк которого на единицу больше, чем количество клубов, а количество столбцов на единицу больше, чем медалей. Дополнительный столбец используется для хранения общего количества медалей, которое вычисляется после ввода исходных данных, дополнительная строка - как буфер при обмене строк во время сортировки строк таблицы. ПРИМЕР
    КлубЗавоевано медалей:
    Золотые Серебряные Бронзовые
    Буревестник 4 4 4
    Динамо 2 4 3
    Зенит 6 4 4
    Спартак 3 3 4

  • const
        NC = 4; {}
var
        club : array [1..NC + 1] of string [30];...

    18 слайд

    const
    NC = 4; {}
    var
    club : array [1..NC + 1] of string [30]; {}
    medal: array [1.. NC + 1, 1..4] of integer; {}
    m, i, j : integer;
    begin
    club [1] := ‘Буревестник’;
    club [1] := ‘Динамо ’;
    club [1] := ‘Зенит ’;
    club [1] := ‘Спартак ’;
    writeln (‘Для каждой команды в одной строке введите’);
    writeln (‘через пробел’ число золотых, серебряных и’);
    writeln (‘бронзовых медалей и нажмите <ENTER>’);
    for i:= 1 to NC do
    begin
    write (club [i],’->’);
    readln (medal [i, 1], medal [i, 2], medal [i, 3]);
    end;
    {подсчет общего количества медалей}
    for i := 1 to NC do
    begin
    medal [i, 4] := 0;
    for j := 1 to 3 do
    medal [i, 4] := medal [i, 4] + medal [i, j];
    end;
    {сортировка таблицы}
    for i:= 1 to NC - 1 do
    begin


    {найти строку, в которой максимально общее число медалей}
    m := i;
    for j := i + 1 to NC do
    if medal [j, 4] > medal [m, 4] then m := j;
    {обменяем i-ю строку с m-й}
    club [NC + 1] := club [i];
    club [i] := club [m];
    club [m] := club [NC + 1];
    for j := 1 to 4 do
    begin
    medal [NC + 1, j] := medal [i, j];
    medal [i, j] := medal [m, j];
    medal [m, j] := medal [NC + 1, j];
    end;
    end;
    {вывод итоговой таблицы}
    writeln;
    writeln (‘Клуб Золотые Серебряные Бронзовые Всего’);
    writeln (‘** Итоговая таблица**’);
    for i:= 1 to NC do
    begin
    write (i : 2, ‘. ‘, club [i]);
    for j := 1 to 4 do
    write (medal [i, j] : 11);
    writeln;
    end;
    end.

  • При использовании массивов наиболее распространенной ошибкой является превыше...

    19 слайд

    При использовании массивов наиболее распространенной ошибкой является превышение индексом значения выражения верхней границы индекса, указанной при объявлении массива. Если в качестве индекса используется константа и ее значение превышает верхнюю границу, то такая ошибка обнаруживается на этапе компиляции. Например во время компиляции программы
    var
    day : array [1..6] of string [11];
    begin
    day [1] := ‘Понедельник’;
    day [7] := ‘Воскресенье’;
    end.
    будет выведено сообщение об ошибке для инструкции
    day [7] := ‘Воскресенье’;
    Если при обращении к элементу массива в качестве индекса используется переменная или выражение, то возможно возникновение ошибки времени выполнения программы (run time error). Например, в программе, представленной ниже, ошибок времени компиляции нет.
    var
    temper : array [1..12, 1..31] of real;
    month, day: integer;
    begin
    writeln (‘’);
    write ( ‘->’);
    readln (day, month, t);
    temper [month, day] := t;
    end.
    Ошибки при использованими массивов

  • Однако если во время работы программы в ответ на запрос будет введена строка...

    20 слайд

    Однако если во время работы программы в ответ на запрос будет введена строка
    -15 17 12
    что соответствует -15 градусов 17 января, то при выполнении инструкции
    temper [month, day] := t будет выведено сообщение
    Run time error 104;
    В программы, в которых возможны ошибки времени выполнения вследствие неправильного ввода исходных данных, следует добавлять инструкции проверки вводимых данных. Для приведенной выше программы это можно сделать, например, так:
    var
    temper : array [1..12, 1..31] of real;
    month, day : integer;
    t : real;
    begin
    writeln (‘Веедите дату (число, номер месяца) и температуру воздуха’);
    write (‘->’);
    readln (day, month, t);
    if ((day . 31) OR (month > 12) OR (day < 1) OR (month < 1))
    then writeln (‘Неверные данные’);
    else temper [month, day] := t;
    end.

Получите профессию

HR-менеджер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Получите профессию

Экскурсовод (гид)

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

Класс  9                                                        Урок №  11                           Дата   10.11.2014

Предмет «Информатика»                                                            Учитель Куцева А.А.

 

Тема: ПОНЯТИЕ О МАССИВАХ.

Цели урока:

  1. Образовательная – познакомить учеников с понятиями массив данных, имя массива, элемент массива, индекс; формировать навыки и умения составлять программы с использованием массивов
  2. Развивающая – развитие приемов умственной деятельности (обобщение, анализ, синтез, сравнение); развитие внимания, восприятия.
  3. Воспитательная – воспитывать дисциплинированность, ответственность, бережное отношение к вычислительной технике.

Вид урока - комбинированный

План урока

  1.  

Орг. момент.

2-3 мин.

  1.  

Актуализация опорных знаний. Слайд-шоу «Массивы»

7 минут

  1.  

Закрепление усвоенного материала

15 минут

 

a.                                  Тренинг

 

 

b.                                  Набора программ

7 минут

  1.  

Объяснение нового материала.

5 минут

  1.  

Выполнение заданий на компьютере.

Закрепление  усвоенного материала.

Тренинг на нахождении ошибки.

10 мин.

  1.  

Дополнительное задание .Сортировка массивов.

5 минут.

  1.  

Подведение итогов урока.

3 минут

  1.  

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

2 минут.

Ход урока

1.      Организационная часть (запись даты и темы в тетрадь) Подготовка учащихся к уроку, выявление отсутствующих, концентрация внимания, постановка цели урока.

Тема урока Понятие о массивах.

Цель урока: познакомить учеников с понятиями массив данных, имя массива, элемент массива, индекс; формировать навыки и умения составлять программы с использованием массивов

Рефлексия на начало занятий:

Красный – мне нечего не интересно, настроение 2-

Синий – опять информатика, настроение на 3

Желтый – интересно,  что будет дальше, настроение на 4

Розовый – готов к работе, настроение отличное

По теме: что вы знаете о массивах?

2.      Актуализация опорных знаний. Слайд-шоу «Массивы»

3.      Закрепление усвоенного материала.

a.       Тренинг на интерактивной доске.

                                                              i.            Определение.


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

                                                            ii.            Группа элементов с одним именем.

                                                          iii.            Упорядоченная последовательность разнотипных величин, обозначаемая одним именем.

                                                          iv.            Упорядоченная последовательность однотипных величин, обозначаемая одним именем.

                                                            v.            Сложная переменная, состоящая из строковых переменных

                                                          vi.            Описание массива

Выберите служебное слово для описания массива

                                                        vii.            Array

                                                      viii.            Arrey

                                                          ix.            Dim

                                                            x.            Dam

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

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

                                                          xi.            Количество элементов

                                                        xii.            Количество строк

                                                      xiii.            Количество столбцов

                                                      xiv.            Количество индексов

Что такое индекс?

                                                        xv.            Число в скобках

                                                      xvi.            Количество элементов

                                                    xvii.            Количество строк

                                                  xviii.            Количество столбцов

Что обозначает индекс в имени одномерного массива?

                                                      xix.            Количество элементов

                                                        xx.            Количество строк

                                                      xxi.            Количество столбцов

                                                    xxii.            Порядковый номер элемента

Что обозначает индекс в имени элемента одномерного массива?

                                                  xxiii.            Количество элементов

                                                  xxiv.            Количество строк

                                                    xxv.            Количество столбцов

                                                  xxvi.            Порядковый номер элемента


4.      Объяснение нового материала.

 Итог Массив – это множество однотипных объектов, имеющих общее название (имя). В жизни мы часто сталкиваемся с такими множествами. Назовите окружающие вас в кабинете объекты, которые можно объединить в массивы. (столы, компьютеры,  ученики класса)

Как правило, массивы содержат большое количество данных, которые необходимо где-то сохранить и обработать. И сделать это может? (компьютер).

В компьютерной программе массив - это набор однотипных данных, хранящихся в памяти и имеющих имя.

Какие характеристики имеет массив?

Массив имеет следующие характеристики:

имя - название массива;

индекс - номер элемента в массиве;

элемент - каждое значение в массиве; 

размер - количество элементов в массиве.

Максимальное число размерностей – 8.

Максимальный номер индекса – 32768.

4. Выполнение заданий на компьютере

Как описать массив на языке Pascal?  Слайд шоу «Действия над массивами»

a.         Последовательность на писание программы с массивом.

1. Описание (объявление) массива;

2. Ввод массива в память;

3. Обработка элементов массива;

4. Вывод массива на экран.

 Дополнение: Вспомните, в каком разделе программы описываются переменные, константы? (в разделе Var).

Массив также задаётся в разделе Var. Запишите формат описания:

Имя массива: array [размер]  of  тип данных;

(где array и of – ключевые слова, размер:  [начальный индекс . . конечный индекс ])

Имя массива выбираем по основным правилам имен идентификаторов.

Пример: 


 Program mas_1;

uses Crt;

Var i: integer;

M : array [1..5] of Real;

begin

Clrscr;

For i:=1 to 5 do

begin

write ('m[',i,']=');

readln(m[i);

Writeln ('          ', m[i]:6:2);

readln;

end;

end.

 

Program Create; Type Mas = Array[1..100] Of Integer; Var A : Mas; I, J, N : Byte; Log : Boolean; Begin     Write(''); ReadLn(N);     randomize; A[1] := -32768 + random(65535);     For I := 2 To N Do     Begin         Log := True;         Repeat             A[i] := -32768 + random(65535); J := 1;             While Log and (j <= i - 1) Do             begin Log := a[i] <> a[j]; j := j + 1 End         Until Log     End;     For i := 1 to N Do Write(a[i]:7); writeln End.


5. Закрепление  усвоенного материала.

Тренинг на нахождении ошибки.

Пример 1. Ввод значений элементов массива с клавиатуры  из 10 элементов используется обычно тогда, когда между элементами не наблюдается никакой зависимости. Например, последовательность чисел 1, 2, -5, 6, -111, 0 может быть введена в память следующим образом:

Program Vvod;

 Var N, I : Integer;

     A : Array [1..20] Of Integer;

Begin

  Write('Введите количество элементов массива ');  ReadLn(N);

  FOR I := 1 TO N DO

  Begin

   Write('Введите A[', I, '] '); ReadLn(A[I])

End.

 

Пример2, программа, выводящая на печать номера и названия дней недели, хранящиеся в массиве day, может быть реализована так:

            var

               day: array [1..7] of string [11];

               i: integer;

            begin

                day [1]:= writeln ‘Понедельник’;

                day [2]:= writeln ‘Вторник’;

                day [3]:= writeln ‘Среда’;

                day [4]:= writeln ‘Четверг’;

                day [5]:= writeln ‘Пятница’;

                day [6]:= writeln ‘Суббота’;

                day [7]:= writeln ‘Воскресенье’;

                for i:= 1 to 7 do writeln (i, ‘   ’, day [i]); readln;

                                                     end.

 

6. Дополнительное задание .Сортировка массивов. Слайд шоу «Действия над массивами»

К типичным действиям с массивами можно отнести следующие:

i.            Описание (объявление) массива;

ii.            Ввод массива в память;

iii.            Обработка элементов массива;

iv.            Вывод массива на экран.

v.            сортировка массива;

vi.            поиск в массиве заданного элемента;

vii.            поиск в массиве максимального или минимального элемента;

Применение знаний на практике.

Задача1. Дан линейный массив. Упорядочить его элементы в порядке возрастания.

{Сортировка массива выбором (в порядке возрастания).

 Идея решения: пусть часть массива (по K-й элемент включительно)

 отсортирована. Нужно найти в неотсортированной части массива

 минимальный элемент и поменять местами с (K+1)-м}

Program Sortirovka;

Var N, I, J, K, Pr : 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 - 1 Do

    Begin

     K := I;

     For J := I + 1 To N Do If A[J] <= A[K] Then K := J;

     Pr := A[I]; A[I] := A[K]; A[K] := Pr;

    End;

    For I := 1 To N Do Write(A[I], ' ');

  End.

Тест: N = 10; элементы массива - 1, 2, 2, 2, -1, 1, 0, 34, 3, 3.

Ответ: -1, -1, 0, 1, 2, 2, 2, 3, 3, 34.

7.      Задачи для самостоятельной работы на ПК

1.      Составьте программу, заменяющее меньшее из двух данных чисел суммой, а большее – произведением этих чисел.

2.      Составьте программу расположения трех чисел в порядке возрастания

3.      Составьте программу, вычисления значения выражения для данного числа N: 4+8+12+…+4*N.

4.      Составьте программу вычисления среднего арифметического целых чисел из отрезка  [6;33].

 

8.      Домашнее задание: 

Составьте блок-схему и программу с учебника пример 2-3 стр.123

 

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 664 567 материалов в базе

Скачать материал

Другие материалы

Презентация по информатике "Перевод десятичных чисел в другие СС" (10 класс)
  • Учебник: «Информатика (углублённый уровень) (в 2 частях)», Семакин И.Г., Шеина Т.Ю., Шестакова Л.В.
  • Тема: 1.3.2. Перевод десятичных чисел в другие системы счисления
  • 01.10.2020
  • 1535
  • 66
«Информатика (углублённый уровень) (в 2 частях)», Семакин И.Г., Шеина Т.Ю., Шестакова Л.В.

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 21.11.2014 912
    • RAR 118.7 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Куцева Альфия Анатольевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Куцева Альфия Анатольевна
    Куцева Альфия Анатольевна
    • На сайте: 9 лет и 5 месяцев
    • Подписчики: 0
    • Всего просмотров: 13997
    • Всего материалов: 5

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Технолог-калькулятор общественного питания

Технолог-калькулятор общественного питания

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в образовательной организации

Учитель математики и информатики

500/1000 ч.

от 8900 руб. от 4150 руб.
Подать заявку О курсе
  • Сейчас обучается 685 человек из 79 регионов
  • Этот курс уже прошли 1 809 человек

Курс повышения квалификации

Методика преподавания информатики в начальных классах

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Этот курс уже прошли 67 человек

Курс профессиональной переподготовки

Информатика: теория и методика преподавания в образовательной организации

Учитель информатики

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 494 человека из 73 регионов
  • Этот курс уже прошли 1 525 человек

Мини-курс

Продвижение экспертной деятельности: от личного сайта до личного помощника

6 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Педагогические идеи выдающихся педагогов, критиков и общественных деятелей

10 ч.

1180 руб. 590 руб.
Подать заявку О курсе

Мини-курс

Проведение и применение трансформационных игр

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 107 человек из 47 регионов
  • Этот курс уже прошли 56 человек