Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Имитационное моделирование при нахождении алгоритма поиска минимального элемента в массиве чисел






Основная цель обучения – развитие учащегося. Возможности развития учащихся таятся в соответствующем образом отображенном содержании учебного материала и составленных на этой основе познавательных заданий. Однако эти средства являются лишь предпосылкой развития. Для того, чтобы обучение имело развивающий эффект, нужно соблюдать следующее условие – развиваемый субъект должен быть включен в активную деятельность и общение. Содержательной стороной активизации учащихся являются задания на активизацию памяти, процесса логического мышления, на творческую деятельность, на поиск новых знаний. Тема «Поиск в линейной таблице элемента, обладающего заданным свойством» посвящена изучению процесса нахождения данных с определенной идентификацией. Например, в вычислительной задаче нам может понадобиться найти f(x), имея x и таблицу значений f; в лингвистической – может интересовать английский перевод данного русского слова. Существует много различных видов поиска: линейный поиск, бинарный поиск, метод золотого сечения и др. В школьном курсе информатики изучают два метода поиска: линейный и бинарный. Рассмотрим некоторые методические аспекты активации логического мышления, творческой деятельности, «открытия новых знаний» при изучении этой темы в школьном предмете «Информатика и ИКТ».

Задача поиска минимального элемента ставится следующим образом. Имеется линейный массив (таблица) вещественных чисел А[ t: n ], требуется найти номер k элемента А[ k ], который имеет в массиве минимальное значение.

A[1] A[2] A[3] A[4]
       
       

Для разъяснения идеи построения алгоритма полезно обратиться к конкретному примеру. Для осознанного получения новых знаний мы предлагаем при составлении алгоритма использовать моделирование памяти компьютера. Пусть имеется линейный массив, состоящий из четырех элементов. Запишем имена элементов массива, их индексы и значения в клетки таблицы. В первой строке таблицы запишем имена элементов массива, во второй строке – индексы элементов массива, в третьей строке – значения соответствующих элементов массива. Выберем две вспомогательные переменные: k – для запоминания номера минимального элемента, min 1 – для запоминания значения этого элемента. Имена и значения переменных k и min 1 для наглядности также будем записывать в особые клетки.

1 шаг. Предположим, что минимальным элементом массива является его первый элемент. Поместим в клетку k номер первого элемента массива (1), в клетку min 1 – значение первого элемента массива (10).

k min 1   A[1] A[2] A[3] A[4]
             
             

Далее будем сравнивать все значения элементов массива, начиная со второго, со значением переменной min 1, т.е. cо значением, записанным в клетке min 1. Если при этом окажется, что сравниваемый с min 1, элемент A[ i ], где i изменяется от 2 до 4, меньше, чем значение min 1, то переменной min 1 присвоим значение A[ i ], а переменной k –номер элемента A[ i ] (i). Если же элемент A[ i ] окажется больше min 1, то значения переменных min 1 и k будем оставлять без изменения.

2 шаг. i = 2, сравниваем A[2] с min 1. A[2] = 8, min 1 = 10. A[2] меньше min 1? Да, так как 8 < 10. Следовательно, min 1 нужно присвоить значение A[2], а переменной k – значение 2, min 1: = A[2], k: =2. В клеточку min 1 записываем значение 8, а в клеточку k значение 2.

k min 1   A[1] A[2] A[3] A[4]
             
             

i =2

A[2]< min 1 (да)

min 1: = A[2]

k: =2

 

3 шаг. i = 3, сравниваем A[3] с min 1. A[3] = 14, min 1 =8. A[3] меньше min 1? Нет, так как 14 > 8, значения min 1 и k оставляем без изменения.

 

k min 1   A[1] A[2] A[3] A[4]
             
             

i =3

A[ i ]< min 1 (нет)

(ничего не делаем)

 

4 шаг. i = 4, сравниваем A[4] с min 1. A[4] = 6, min 1 = 8. A[4] меньше min 1? Да, так как 6 < 8. Следовательно, min 1 нужно присвоить значение A[4], а переменной k – значение 4, min 1: =A[2], k: =4. В клеточку min 1 записываем значение 6, а в клеточку k значение 4.

k min 1   A[1] A[2] A[3] A[4]
             
             

i =4

A[ i ]< min 1 (да)

min 1: = A[ i ]

k: = i

Итак, минимальный элемент массива A[1: 4] – это четвёртый элемент, его значение 6.

Пример программы поиска минимального элемента
в последовательности целых чисел – элементов массива,
начиная с номера t до номера r.

алг поиск минимального (арг цел n, t, r) начцелтаб a[1: n], цел i, цел k, цел min1 │ input (n, a); print (n, a) │ |поиск k -индекса минимального │ |элемента и min 1- значения │ |минимального элемента │ |в массиве, начиная │ |с номера t до номера r │ min1: =a[t]; k: =t │ нцдля i от t+1 до r │ │ если min1> a[i] │ │ │ то │ │ │ min1: =a[i]; k: =i │ │ всекц │ |вывод k и min 1 │ выводнс, " k= ", k, " ", " min1= ", min1 Кон алг print (аргцел n, аргцелтаб a[1: n]) начцел i │ |вывод элементов массива │ выводнснцдля i от 1 до n │ │ вывод a[i], " " │ кц кон алг input (аргцел n, резцелта б a[1: n]) начце л i │ |ввод элементов массива │ нцдля i от 1 до n │ │ выво д " a[", i, " ]= " │ │ ввод a[i] │ кц кон
Программа поиска минимального элемента массива на языке Ершол, система Кумир





© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.