Информатика и информационные технологии в образовании ГЛАВНАЯ  |  КАРТА САЙТА  |  ПОИСК ПО САЙТУ  |  ПОДПИСКА НА РАССЫЛКУ  |  НАПИСАТЬ ПИСЬМО  |  ЛИЧНЫЙ КАБИНЕТ  
 
Новая педагогическая сеть для работы, общения и отдыха
3

Урок информатики в 11-ом классе (13)

“Массивы. Решение задач”

Из материалов сайта
Скородянской средней школы
Губкинского района, Белгородской области

Цель урока:

  1. Познакомить учащихся с решением логических задач по массивам.
  2.  Проверить знания прошлого урока.
  3. Воспитание умения слушать учителя.
  4. Развитие познавательного интереса.

План урока:

  1. Проверка домашнего задания.
  2. Решение задач
  3. Домашняя работа.
  4. Подведение итогов урока.

Ход урока

  • Проверка домашнего задания.
  • Постановка цели урока.
  • Решение задач.

Решение различных логических задач при обработке массивов связано с поиском различных элементов в массиве, с упорядочинием массива по определенному принципу, с перестановками и заменами различных элементов  в массиве и.т.д.

Решим задачу по нахождению max числа из трех действительных чисел. Напримере этой задачи понятен сам принцип, который в дальнейшем будет применяться при нахождении min и max элементов в одномерных массивах.

Алгоритм нахождения максимального числа из трех чисел

Пример

 Найдите max их трех чисел А, В, С.

10 INPUT “Введите числа А,В,С”;A, B, C
20 MAX=A
30 IF B>MAX THEN MAX=B
40 IF C>MAX THEN MAX=C
50 PRINT “MAX=”;MAX
60 END

Пример

Найдите MIN элемент одномерного массива A(N).

10 INPUT N
20 FOR I=1 TO N
30 INPUT A(I)
40 NEXT I
50 MIN=A(1)
60 FOR I=2 TO N
70 IF A(I)<MIN THEN MIN=A(I)
80 NEXT I
90 PRINT “MAX=”;MIN

Пример

В одномерном массиве A(N) найдите минимальный и максимальный элементы и их индексы.

Блок-схема алгоритма нахождения минимального и максимального элементов массива

10 rem min и max элемент массива
20 input”введите размер массива”;n
30 dim a(n)
40 rem ввод массива
50 for i=1 to n
60 input a(i)
70 next i
80 m1=a(0)
90 i1=0
100 m2=a(0)
110 i2=0
120 for i=1 to n
130 if a(i)>= m1 then 160
140 m1=a(i)
145 i1=i
150 goto 190
160 if a(i)<= m2 then 190
170 m2=a(i)
180 i2=i
190 next i
200 ?”min=”;m1;”инд=”;i1
210 ?”max=”;m2;”инд=”;i2
220 end

Пример

В одномерном массиве найти некоторое заданное число М.

Алгоритм поиска заданного числа в одномерном массиве

10 rem поиск заданного элемента
20 input n
30 dim a(n)
40 for i=1 to n
50 input a(i)
60 next i
70 input”Введите число”:m
80 for i=1 to n
90 if a(i)=m then 130
100 next i
110 print “НЕТ”;m
120 goto 140
130 print”ЕСТЬ”;m
140 end

Пример

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

10 INPUT “Введите размер”;N
20 DIM A(N)
30 FOR I=1 TO N
40 INPUT A(I)
50 NEXT I
70 M=INT(N/2)
80 FOR I=1 TO M
90 P=A(I)
100 A(I)=A(N-I+1)
110 A(N-I+1)=P
120 NEXT I
130 ? “Перевернутый массив”
140 FOR I=1 TO N
150 PRINT “A(“;I:”)=”;A(I)
160 NEXT I
170 END

Пример

Найдите все простые числа меньшие n.

Простыми называются те числа, которые делятся сами на себя и на единицу. В предлагаемом сейчас алгоритме используется “просеивание” массива из i натуральных чисел.

Блок-схема алгоритма нахождения всех простых чисел, которые меньше n 

CLS
INPUT “Введите число n”; n
DIM mas(n-1)
FOR i=1 TO n-1
mas(i)=i
NEXT i
CLS
PRINT”Простые числа меньше”; n
IF n=1 THEN END
FOR i=2 TO n-1
IF mas(i)<>0 THEN PRINT mas(i);
z=2*i
WHILE z<n
mas(z)=0
z=z+i
WEND
NEXT i
END

Пример

Описать числовые маасивы X, Y, Z и выполните следующие преобразования:

  1. переписать элементы массива X в массив Y в обратном порядке;
  2. сформировать массив Y(1)=X(1)+X(N), Y(2)=X(2)+X(N-1), Y(3)=X(3)+ X(N-2) и.т.д (N – четное);
  3. записать в массив Y номера элементов массива X, лежащих на отрезке [0,1];
  4. записать в массив Y элементы массива X, имеющие четные индексы, а в массив Z элементы, имеющие нечетные индексы;
  5. записать в начало массива Y положительные, а в конец – отрицательные элементы массива X, сохранив порядок элементов.

1)

10 input”Введите кол-во элементов”;N
20 dim X(N), Y(N)
30 for I=1 to N
40 print”введите элемент X(“;I:”):”
50 input X(I)
60 Y(N-I+1)=X(I)
70 next I
80 for I=1 to N
90 print Y(I)
100 next I
110 end

2)

10 INPUT N
20 DIM X(N), Y(N/2)
30 FOR I=1 TO N
40 INPUT X(I)
60 NEXT I
70 FOR I=1 TO N/2
80 Y(I)=X(I)+X(N-I+1)
90 PRINT Y(I)
100 NEXT I
110 END

3)

10 INPUT N
20 DIM X(N), Y(N)
30 K=0
40 FOR I=1 TO N
50 INPUT X(I)
60 IF X(I) > 1 AND X(I) < 0 THEN 100
70 K=K+1
80 Y(K)=I
100 NEXT I
110 FOR I=1 TO K
120 PRINT Y(I)
130 NEXT I
140 END

4)

10 INPUT N
20 DIM X(N), Y(INT(N/2)), Z(INT(N/2)+1)
30 K=0
35 L=0
40 FOR I=1 TO N
50 INPUT X(I)
70 IF I/2=INT(I/2) THEN K=K+1 : Y(K)=X(I)
     ELSE L=L+1: Z(L)=X(I)
80 NEXT I
90 FOR I=1 TO K
100 PRINT Y(I)
110 NEXT I
120 FOR I=1 TO L
130 PRINT Z(I)
140 NEXT I
150 END

5)

10 INPUT N
20 DIM X(N), Y(N)
30 K=0
40 FOR I=1 TO N
50 INPUT X(I)
70 IF X(I) > 0 THEN K=K+1 : Y(K)=X(I)
80 NEXT I
90 FOR I=1 TO N
100 X(I) < 0 THEN K=K+1 : Y(K)=X(I)
110 NEXT I
120 FOR I=1 TO K
130 PRINT Y(I)
140 NEXT I
150 END

Домашняя работа.

  1. В массиве Х найдите min из положительных элементов.
  2. В массиве Х найдите min и max элементы и поменяйте их местам

Опубликовано: 2006-01-25 22:30:05