- •Содержание:
- •1 Урок.
- •Самостоятельное усвоение нового материала с помощью самостоятельной работы (на 10-15') при наличии проблемной ситуации.
- •Самостоятельная работа (с разно уровневыми заданиями)
- •1 Уровень.
- •2 Уровень
- •3 Уровень (творческие задания и проекты)
- •§2. Представление алгоритма в виде блок-схемы. Алгоритмический язык.
- •1 Урок.
- •Самостоятельное усвоение нового материала с помощью самостоятельной работы (на 10-15') при наличии проблемной ситуации.
- •Самостоятельная работа (с разноуровневыми заданиями)
- •1 Уровень
- •Урок результирующей самостоятельной работы
- •2 Уровень
- •3 Уровень
- •§1 Представление алгоритма на языке программирования q basic
- •§2 Графические операторы q basic
- •2)Самостоятельная работа
- •2 Уровень.
- •3 Уровень
- •2 Уровень
- •3 Уровень
- •§3 «Программирование линейных алгоритмов»
- •В данной таблице приведи примеры величин:
- •Составь программу на q basic вычисления выражения
- •3 Уровень
- •Уровень
- •Уровень
- •§4 Программирование алгоритмов с ветвлениями.
- •§5 Оператор выбора
- •Самостоятельная работа (с разноуровневыми заданиями)
- •1 Уровень
- •2 Уровень
- •3 Уровень
- •§6 Циклические алгоритмы
- •Самостоятельное усвоение нового материала с помощью самостоятельной работы (на 10-15') при наличии проблемной ситуации
- •2) Самостоятельная работа (с разноуровневыми заданиями)
- •1 Уровень
- •2 Уровень
- •3 Уровень
- •§6 Циклические алгоритмы
- •1) Самостоятельное усвоение нового материала с помощью самостоятельной работы (на 10-15') при наличии проблемной ситуации
- •2) Самостоятельная работа (с разноуровневыми заданиями)
- •1 Уровень
- •Уровень
- •Уровень
- •§6 Циклические алгоритмы
- •1) Самостоятельное усвоение нового материала с помощью самостоятельной работы (на 10-15') при наличии проблемной ситуации
- •2) Самостоятельная работа (с разноуровневыми заданиями)
- •2 Уровень
- •3 Уровень
- •§6 Циклические алгоритмы
- •§7 Массивы
- •1) Самостоятельное усвоение нового материала с помощью самостоятельной работы (на 45') при наличии проблемной ситуации
- •1 Уровень
- •2 Уровень
- •3 Уровень
- •§8 Алгоритмы работы с литерными величинами.
- •1) Самостоятельное усвоение нового материала с помощью самостоятельной работы (на 45') при наличии проблемной ситуации
- •2) Самостоятельная работа (с разноуровневыми заданиями)
- •1 Уровень
- •2 Уровень
- •3 Уровень
- •§9 Вспомогательные алгоритмы. Подпрограммы
- •1) Самостоятельное усвоение нового материала с помощью самостоятельной работы (на 45') при наличии проблемной ситуации
§7 Массивы
УРОК 1
1) Самостоятельное усвоение нового материала с помощью самостоятельной работы (на 45') при наличии проблемной ситуации
Рассмотрим пример написания данных. Каким образом записываем данные в обоих случаях?
А) 1. 4 2 3 4, 5 6,1 __________________________
Б)
-
1
2
3
4
5
1,4
2
3
4.5
6, 1
_____________________________________________________________________
Для удобства обработки информации часто её сводят в таблицу, линейную или прямоугольную. Данная таблица имеет 5 элементов.
? Назовите пятый элемент таблицы, _______
четвертый________
третий________
второй________
первый________
Если некая величина является линейной таблицей, нужно задать тип элементов таблицы, ее имя, начальный и конечный порядковые номера. Для того, чтобы указать, какой элемент в данный момент используется, достаточно указать его порядковый номер – индекс.
Для таблицы: А[5]=6,1
A [2]=2
Для работы с табличными величинами используются массивы – упорядоченная по номерам совокупность значений, объединенных общим именем и типом.
Массивы в Qbasic описываются с помощью оператора DIM
Оператор |
Форма строки |
Название |
Назначение |
DIM |
DIM имя массива (максимальный индекс) |
Оператор размерности массива |
Резервирует память ПК под массив |
Рассмотрим пример 1:
Определить сумму элементов таблицы А
-
1
2
3
4
5
1,4
2
3
4.5
6, 1
Дано: таблица А из 5 элементов
Требуется: S – сумма элементов
Связь: S=S+очередное слагаемое А[ I ]
Алгоритм |
Qbasic |
алг сумма (арг вещ таб А[1:5], рез вещ S) нач цел I S:=0 для I от 1 до 5 нц ввод А[ I ] S=S+ А[ I ] кц вывод S кон
|
REM сумма DIM I AS INTEGER OPTION BASE I DIM A(10) S=0 FOR I=1 TO 10 INPUT A(I) S=S+a(i) NEXT I PRINT “S=”;S |
Рассмотрим назначение оператора OPTION. Начальным индексом элементов массива считается ноль. При выполнении оператора DIM А (3) Qbasic выделит 4 ячейки под массив и присвоит им нулевое значение
-
А(0)
А(1)
А(2)
А(3)
0
0
0
0
Для удобства моно изменить номер первого элемента на 1 с помощью оператора OPTION BASE 1:
OPTION BASE 1
DIM A(3)
В этом случае будет выделено 3 ячейки под массив.:
-
А(1)
А(2)
А(3)
0
0
0
Пример 2
Составить алгоритм вычисления превых 30 чисел Фибоначи. Эти числа определяются так: А [1]=1, A [2]=1, а каждое следующее число равно сумме двух предыдущих
Дано: количество чисел Фибоначчи равно 30
Требуется: вычислить числа Фибоначчи
Связь:
A[1]=1
A [2]=1
A[3]= A[2}+A[1]=1+2=2
A[4]=A[3]+A[2]=2+1=3
В общем виде: A[I]=A[I-1]+A[I-2]
Алгоритм |
Qbasic (составь сам) |
алг числа Фибоначчи (рез цел таб A [1:30]) нач цел I A[1]:=1; A[2]:=2 для I от 3 до 30 нц A[I] :=A[I-1]+A[I-2] кц вывод А кон
|
|
Пример3
Определить для таблицы А сумму положительных, количество нулевых, произведение отрицательных элементов
Дано: таблица A[1:N], размерность таблицы N
Требуется:
S – сумма положительных,
Р – произведение отрицательных
К –количество нулевых элементов таблицы А
-
A[1]
A[2]
A[3]
A[4]
A[5]
A[6]
A[7]
A[8]
5
-1
0
0
-8
4
…
…
Для определения результатов следует просматривать поочередно все элементы таблицы и делать выбор:
1) если элемент A[I] положителен (), то считать его слагаемым для суммы
S=S+A[I]
2)если элемент A[I] отрицателен (A[I]<0), от считать его сомножителем для произведения P=P *A[I]
Если 0 от значение К=К+1
Алгоритм (составь сам) |
Qbasic |
|
REM S,K,P DIM N,K,I AS INTEGER INPUT “N=”:N DIM A(N) FOR I=1 TO N INPUT A(I) NEXT I S=0: K=0: P=0 FOR I=1 TO N IF A(I)>0 THEN S=S+A(I) IF A(I)=0 THEN K=K+1 IF A(I)<0 THEN P=P*A(I) NEXT I PRINT”S=”;S, “K=”;K, “P=”;P END
|
ПРИМЕР 4. Поиск заданного элемента в массиве.
Найти максимальный элемент в массиве
Дано: N – размерность таблицы, таблица A[1:N]
Требуется: max – максимальный элемент таблицы А
Порядок выполнения:
просмотреть все элементы начиная с первого элемента таблицы и запомнить первый элемент
начиная со второго элемента и до конца делать сравнение и текущего элемента таблицы A[I]. Если A[I] окажется больше max то испонитель запоминает его в качестве max, забывая о предыдущем значении.
Алгоритм
|
Qbasic (составь сам) |
алг мах (арг цел N, вещ таб A[1:N], рез вещ МАХ) нач цел I ввод А МАХ:= A[1] для I от 2 до N нц если A[I]>MAX то MAX:= A[I] все кц вывод МАХ кон |
|
I
ПРИМЕР 5. СОРТИРОВКА МАССИВОВ.
Найти максимальный элемент в таблице и запомнить его индекс, например как переменную С. обменять значение последнего элемента A[N] и элемента A[С] В результате в последней клетке таблицы окажется самый большой элемент. Найти максимальный элемент среди A[1], …A[N-1] и обменять его с A[N-1] и т.д.
Алгоритм |
Qbasic (составь сам) |
алг сортировка (арг цел N, вещ таб A[1:N], рез вещ таб A[1:N]) нач цел I, J, C, вещ MAX, R ввод А для J от N до 1 шаг -1 нц MAX:= A[1]; С:=1 для I от 1 до J нц если A[I]>MAX то МАХ:= A[I]; C:=I все кц R:=A[C]; A[C]:=A[J]: A[J]:=R вывод А кон
|
|
ПРИМЕР 6
На школьных соревнованиях зафиксированы результаты кросса. Напечатать фамилии учащихся в порядке показанных результатов и определить, кто же их учеников занял первое, втрое, третье место.
Алгоритм (составь сам) |
Qbasic |
|
INPUT “Введи количество участников”; N DIM A$(N), B(N) PRINT “Введи фамилию участника и его результат:” For I=1 TO N INPUT A$(I), B(I) NEXT I FOR J=1 TO N-1 FOR I=1 TO N-J IF B(I)>B(I+1) THEN SWAP B(I), B(I+1): SWAP A$(I),A$(I+1) NEXT I NEXT J FOR I=1 TO N PRINT A$(I),B(I) NEXT I PRINT “Распределение мест:” FOR I=1 TO 3 PRINT A$(I), B(I), I; “место” NEXT I
Примечание: оператор SWAP B(I), B(I+1) производит обмен значений B(I) и B(I+1), т.е. действия, аналогичные следующим операциям: R=B(I): B(I)=B(I+1):B(I+1)=R
|
УРОК 2. САМОСТОЯТЕЛЬНАЯ РАБОТА (С РАЗНОУРОВНЕВЫМИ ЗАДАНИЯМИ)