Урок 5

 

Алгоритм поиска в таблицах элементов с некоторым свойством.

 

                       

Цели урока:

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

 

 

Ход урока.

I.                    Орг . момент. Сообщение цели урока.

На этом занятии вы познакомитесь с алгоритм поиска в таблицах элементов с некоторым свойством. Научитесь формировать массивы в программах, применять их при составлении программ.

 

II.                 Проверка дом задания. ( Всем ученикам написать программу на компьютерах).

Дом задание. Сложите два двумерных массива — А и В. Результатом является двумерный массив С.

Вопрос: Чем отличается условие этой задачи от условий предыдущих задач?

 

Program Tab_1;

const n=20; m=20;

var a:array[1..n,1..m] of integer;

  b:array[1..n,1..m] of integer;

 c:array[1..n,1..m] of integer; k,l,i,j:integer;

begin

 writeln('‘ Сколько строк и столбцов в массивах?');

readln(k,l);

 

  for i:=1 to k do

       begin

 for j:=1 to l do

begin

  writeln(' vvest chisla mas a');

    readln(a[i,j]);  {vvod chisel}

    writeln(' vvest chisla mas b');

  readln(b[i,j]);  {vvod chisel}

 end; end;

 

  for i:=1 to k do

       begin

 for j:=1 to l do

begin

  c[i,j]:=a[i,j]+b[i,j];

    writeln(c[i,j]);  end;end;

   end.

Примечание: Оценить работу всех учеников.

III.                         Новая тема.

  1. Учитель.

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

Алгоритмы поиска бывают разные.  Рассмотрим пример, когда возможен поиск элементов массива путем полного перебора.

·        Если элемент найден, напечатаем его номер; если – нет, то сообщим об этом.

·        Для досрочного выхода из цикла будем использовать оператор GOTO и Метки(LabeL) .

Примечание:

·        Метки(LabeL) обявляются в заголовке после оператора Program;

·        LabeL имена меток;

·        Метка ставится перед оператором; отделяется от оператора двоеточием  .

 

Формат оператора:

·        GOTO номер метки;

 

2.      Задача

Задан одномерный массив A, состоящий из 7 чисел. Определить: существует ли среди введенных в массив чисел число 3.

 

Program Poisk;

Label 1,2

      Var A: array[1..7] of  real; x:real; i:integer;

        i,S: integer;

 Begin

              writeln('Введите элементы массива ');

      for i:=1 to 7 do

         readln(A[i]);

         writeln('Введите число для поиска ');

readln(x);

 

      for i:=1 to 7 do

if a[i] =x then goto 1;

          writeln(' такого числа в массиве нет’);

goto 2;

1: writeln(' номер элемента массива,  равного данному’,i);

2:end.

 

 

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

Учитель . –В этом случае нужно использовать цикл обратного пересчета:

        for i:=n  downto 1 do

 

Program Poisk;

Label 1,2;

      Var A: array[1..7] of  real;

      x:real; i:integer;

 Begin

              writeln('Введите элементы массива ');

        for i:=7 downto 1 do

         readln(A[i]);

         writeln('Введите число для поиска ');

readln(x);

 

      for i:=1 to 7 do

if a[i] =x then goto 1;

          writeln(' такого числа в массиве нет');

goto 2;

1: writeln(' номер элемента массива,  равного данном',i);

2:end.

 

IV.              Итоги урока. Выставление оценок.

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

·        Выучить конспект.

·        Задача 1. Задан одномерный массив A, состоящий из n чисел. Найти числа, которые больше заданного числа Х.

 

 

 

Hosted by uCoz