Автор |
Сообщение |
02.01.2008 15:25:38
Тема: "Одномерный массив" - проблемы и решения
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Курсом "Одномерный массив" у нас с лета занимался Влад.
Однако до сих пор там очень много проблем, главные из которых:
1. Нет НИКАКОГО обучения в "Контрольных заданиях"
2. Абсолютная каша в "Сумме"
3. Дети повыходили из курса, а решать задачи из него же - не умеют :-(
Данная тема заведена, чтобы помочь Владу нормализовать курс.
Оля смотрела курс и даже пыталась высказывать свои замечания - просьба к Оле - зафиксировать свои замечания в этой теме форума.
Кроме того, мы договорились с Владом, что ОТНЫНЕ каждый ребенок в его курсе работает ДО ПЕРВОГО ВОПРОСА. Если ребенок сам не может справиться - Влад (и все мы точно также делаем)отправляет ребенка в СТРОКИ (сначала "Отладчик", потом "Элементарные алгоритмы"), а ВОПРОС РЕБЕНКА записывает (записываем) здесь в форуме. Точнее надо просить детей писать в КОНСУЛЬТАЦИЮ свой вопрос, а потом сюда его копировать (или сразу в форум пусть дети пишут?).
Всех НОВЫХ детей отправляем ТЕПЕРЬ по маршруту:
"Учим слова" - "Введение в программирование" - "Строки"
И так до тех пор, пока не исправим "Одномерный массив".
Кроме того, я УЖЕ собрал коллекцию "задач", которые дети не могут пройти:
- Холупко Антон - "Код максимально встречающегося символа"58840 Кугейко Мария
- Андрухович Н. - -"-
- Бабицкий - "Номера элементов"37004 Бобровская Наталья
- Литвинов - "Количество недостающих символов"58842 Кугейко Мария
- Андрухович С. - "Грибники"12386 Вераксич Сергей
Влад попросил ПОМОЧЬ ему - придумывать обучающие задания.
Что я и буду делать. Было бы здорово, если бы Оля и Маша тоже пытались помочь, по возможности.
|
02.01.2008 17:13:26
Тема: Re:"Одномерный массив" - проблемы и решения
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Код максимально встречающегося символа
На 2 января не справились с этой задачей
(на них проверять вновь установленные в "не получилось" задания):
Холупко Антон (7 кл)
Андрухович Настя (4 кл)
Если переформулировать, эта задача звучит так:
Найти номер максимального элемента в одномерном массиве из 256 элементов с номерами от 0 до 255.
Какие проблемы могут возникать у школьников при решении этой задачи:
1) Они как раз и не могут переформулировать условия
2) Они не работали с массивами с номерами от 0 до 255
3) Они забыли как искать номер максимального элемента
Предлагаю следующую последовательность заданий в папке "Не получилось"
"Ручной просчет"
- показываем таблицу с кодами символов (a-97, b-98, c-99)
предлагаем 3 примера типа
дана строка "babaacacacaa", просим:
выписать последовательность кодов: (98 97 98 ... 97)
указать код буквы a, сколько раз встречается этот код
код буквы b, сколько раз встречается этот код
код буквы c, сколько раз встречается этот код
заполнить массив чисел от 0 до 255 для строки "babaacacacaa"
при этом уже есть нули от 0 ... до 94 и от 102 до 255
- ввести ответ для нескольких тестов
(первый - из условия задачи, цветами-шрифтами ПОДСКАЗАТЬ, как искать ответ)
- В конце выбрать правильный вариант переформулированного задания:
В массиве из 256 чисел (от 0 до 255) найти
- максимальный элемент
- номер максимального элемента
- минимальный элемент
- номер минимального элемента
"Работа с массивами от 0 до 255"
- выбрать фрагменты программ, где правильно объявлены и вводятся массивы от 0 до 255
- АЛЬТЕРНАТИВА - заполнить пропуски (и есть показать правильные ответы) - вырезаны именно все 0 и все 255.
"Выбрать правильную программу"
- для нахождения номера максимального элемента в массиве от 0 до 255
|
02.01.2008 17:52:32
Тема: Re:"Одномерный массив" - проблемы и решения
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Количество недостающих символов
Не справился с этой задачей:
Литвинов Леша (2 кл)
Проблемы/непонимания могут быть такими
- суть задачи (сумма разностей количеств одинаковых букв)
- как строки представляются массивами чисел от 0 до 255
- как считать сумму разностей
- как "не учитывать пробелы"
Предлагаю следующие задания:
Ручной просчет:
- для нескольких пар строк (для тех, что тестах для программы?) дать ответ
- для этих же пар строк (не всех?) создать массивы чисел - встречаемости кодов символов
- для пар массивов посчитать разности и ответы
(суммы разностей БЕЗ учета количеств пробелов)
Выбор правильных фрагментов программ:
(сопоставление фрагмента программы и описания)
- ввод двух массивов чисел от 0 до 255
- суммирование разностей (без учета пробелов, вычитая только из большего меньшее)
|
02.01.2008 18:23:26
Тема: Re:"Одномерный массив" - проблемы и решения
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Номера элементов
Не справился с этой задачей:
Бабицкий Алан (5 кл)
Проблемы/непонимания могут быть такими
- проверка на неравенство одного числа другому
- проверка на неравенство одного числа двум другим
- вывод номеров элементов массива (неравного одному)
- вывод номеров элементов массива, неравных двум
Предлагаю такие задания:
Ручной просчет
(тех же тестов, что для программы стоят, возможно не всех)
Вспомогательные программы
(с подсказкой - идеей решения, с нее ссылкой на текст программы?)
- проверка на неравенство одного числа другому
- проверка на неравенство одного числа двум другим
- вывод номеров элементов массива (неравного одному)
- вывод номеров элементов массива, неравных двум
|
02.01.2008 18:48:03
Тема: Re:"Одномерный массив" - проблемы и решения
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Грибники
Не справился с этой задачей:
Андрухович Сергей (4 кл)
Вот его решение:
program p5;
var
a : array [1..10000] of longint;
max,min,i,n : longint;
begin
readln(n);
for i:=1 to n do readln(a[i]);
max:=a[1];
for i:=2 to n do
if a[i]>max then max:=a[i];
min:=a[1];
for i:=2 to n do
if a[i]<min then min:=a[i];
if (a[i]<>max) and (a[i]<>min)
then writeln(i);
end.
При этом он сделал (уж не знаю сам или с помощью сестры - Насти) оба подводящих задания.
А ошибка его заключается в том, что он не сделал ЦИКЛ для вывода номеров несовпавших элементов.
Предлагаю добавить задание СОПОСТАВЬ исходник ОШИБКЕ и кроме этого текста добавить следующие РЕАЛЬНО посылавшиеся ошибочные программы:
Коробейников Федя (2 кл)
program s;
var
a : array [1..10000] of longint;
n,i,max,min : longint;
begin
readln(n);
for i:=1 to n do readln(a[i]);
max:=a[1]; min:=a[1];
for i:=2 to n do
begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
end;
for i:=2 to n do
if (max<>i) and (min<>i) then writeln(i);
end.
Андрухович Настя (4 кл)
program stroki;
var
a : array [1..1000] of longint;
n,k,m,i : longint;
begin
readln(k,m);
readln(n);
for i:=1 to n do readln(a[i]);
for i:=1 to n do
if (a[i]<>k) and (a[i]<>m)
then writeln(i);
end.
Марсиков Павел (8 кл) - только этот текст ОТФОРМАТИРОВАТЬ нужно?
var
a,c,d : array [1..100] of integer;
i,n,max,min,nmax,nmin,k,j : integer;
begin
readln(n);
for i:=1 to n do readln(a[i]);
max:=a[1];
min:=a[1];
nmax:=1;
nmin:=1;
for i:=2 to n do
if a[i]>max then
begin
max:=a[i];
nmax:=i;
end;
for i:=2 to n do
if a[i]<min then
begin
min:=a[i];
nmin:=i;
end;
for i:=1 to n do
if (a[i]<max) and (a[i]>min) then
writeln(a[i]);
end.
Храменков Дима (7 кл)
program gribi;
var
a:array [1..10000] of longint;
l,n,i,max,min:longint;
begin
readln(n);
for i:=1 to n do readln(a[i]);
max:=a[1]; min:=a[1];
for i:=2 to n do
begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
end;
for i:=1 to n do
if (max<>a[i]) and (min<>a[i]) then writeln(a[i]);
end.
Приставко Марина (1 курс)
program al;
var
a : array [1..10000] of longint;
n,k,i,max,s,min: longint;
begin
readln(n);
for i:=1 to n do readln(a[i]);
max:=a[1];
for i:=1 to n do
if a[i]>max then max:=a[i];
min:=a[1];
for i:=1 to n do
if a[i]<min then min:=a[i];
for i:=1 to n do
if (a[i]<max) and (a[i]>min)
then writeln(i);
end.
Мороз Инна, 1 курс
program i1;
var
a : array [0..1000] of longint;
i,n,max,min,k : longint;
begin
readln(n);
for i:=1 to n do readln(a[i]);
min:=a[1];
for i:=1 to n do
if a[i]<min then min:=a[i];
max:=a[1];
for i:=2 to n do
if a[i]>max then max:=a[i];
for i:=1 to n do
if (a[i]<>min) and (a[i]<>max) then writeln(i);
end.
Коротков Алексей, 6 кл
program massiv;
var
a : array [1..15000] of longint;
i,max,nom,n,s,nom2,max2 : longint;
begin
readln(n);
for i:=1 to n do readln(a[i]);
max:=a[1]; nom:=1; max2:=a[1]; nom2:=1;
for i:=1 to n do
if a[i]>max then begin
max:=a[i];
nom:=i;
end;
for i:=1 to n do
if a[i]<max2 then begin
max2:=a[i];
nom2:=i;
end;
for i:=1 to n do
if (i<>nom) and (i<>nom2) then writeln(i);
end.
Зубронов Слава, 9 кл.
program slava;
var
a : array[1..10000] of longint;
n,i,max,min : longint;
begin
readln(n);
for i:=1 to n do readln(a[i]);
max:=a[1];
min:=a[1];
for i:=1 to n do
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
for i:=1 to n-1 do
if (a[i]<>max) and (a[i]<>min)
then writeln(i);
end.
Терехов Дима, 9 кл
program xxx;
var
a : array [1..10000] of longint;
n,x,k,s,i : longint;
begin
readln(n);
for i:=1 to n do readln(a[i]);
s:=a[1]; x:=a[1];
for i:=1 to n do
if s<a[i] then s:=a[i];
if x>a[i] then x:=a[i];
for i:=1 to n do
if (a[i]<>s) and (a[i]<>x) then writeln(i);
end.
Грибанов Вадим, 6 кл
var
a : array [1..20000] of longint;
n,m,k,i,s,y,x : longint;
begin
read(n);
for i:=1 to n do read(a[i]);
m:=a[1]; k:=a[1]; y:=1; x:=1;
for i:=1 to n do
if a[i]>m then begin m:=a[i]; x:=i; end;
for i:=1 to n do
if a[i]<k then begin k:=a[i]; y:=i; end;
for i:=1 to n do
if (a[i]<>x) and (a[i]<>y)
then writeln(i);
end.
|
06.01.2008 17:11:14
Тема: Re:"Одномерный массив" - проблемы и решения
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Я не могу решить задачу:
Одномерный массив\По Владу Добрыдину\Контрольные задания\Задачи для строк\4 - "Сколько раз встречались?" 58853 Кугейко Мария, ПО-22, июль 2007
-- Спрашивает 114934 [Мозоль Дарья]
-- Курс 'Информатика 2007-2008'
Distance Learning Belarus - http://dl.gsu.unibel.by - 05.01.2008 11:24
Сколько раз встречались?
Даша (10 кл) решала и пыталась сдавать (4 отсылки) эту задачу.
Поэтому прежде чем советовать, я решил посмотреть, а ЧТО она отсылала? А вот что:
Попытка 1.
program gds;
var
k1,k2,k3 : array [0..255] of longint;
i : longint;
begin
for i:=0 to 255 do readln(k1[i]);
for i:=0 to 255 do readln(k2[i]);
if k1[i]=0 then k3[i]:=255;
for i:=0 to 255 do
begin
k3[i]:=k2[i] div k1[i];
end;
writeln(k3[i]);
end.
Проблемы таковы:
1. Пишет k1[i] и k3[i] вне цикла
2. Делит на k1[i] НЕ ПРОВЕРЯЯ (проверяя в другом месте) равенство делителя нулю
3. В цикле один оператор - и все равно используются операторные скобки begin ... end
Попытка 2.
program gds;
var
k1,k2,k3 : array [0..255] of longint;
i : longint;
begin
for i:=0 to 255 do readln(k1[i]);
for i:=0 to 255 do readln(k2[i]);
for i:=0 to 255 do
if k1[i]=0 then k3[i]:=255;
if k2[i]=0 then k3[i]:=0;
for i:=0 to 255 do
begin
k3[i]:=k2[i] div k1[i];
end;
writeln(k3[i]);
end.
Добавилась еще ошибка:
В цикле используются два оператора
if k1[i]=0 then k3[i]:=255;
if k2[i]=0 then k3[i]:=0;
А операторных скобок begin ... end нет !!!
Попытка 3.
program gds;
var
k1,k2,k3 : array [0..255] of longint;
i : longint;
begin
for i:=0 to 255 do readln(k1[i]);
for i:=0 to 255 do readln(k2[i]);
for i:=0 to 255 do
if k1[i]=0 then k3[i]:=255;
if k2[i]=0 then k3[i]:=0;
for i:=0 to 255 do
if k2[i]<>0 then k3[i]:=k2[i] div k1[i];
writeln(k3[i]);
end.
Есть шаги вперед
- прежде чем делить на ноль - проверяем делитель
- в последнем цикле, использующем только один оператор, убраны операторные скобки (begin ... end)
Попытка 4.
program gds;
var
k1,k2,k3 : array [0..255] of longint;
i : longint;
begin
for i:=0 to 255 do readln(k1[i]);
for i:=0 to 255 do readln(k2[i]);
for i:=0 to 255 do
if k1[i]=0 then k3[i]:=255;
if k2[i]<>0 then k3[i]:=k2[i] div k1[i];
if k2[i]=0 then k3[i]:=0;
writeln(k3[i]);
end.
Оказывается оператор if ... then ... else Даше не известен :-(
Я предлагаю добавить упражнения, в которых последовательно предъявляются Дашины исходники и список ОШИБОК (с лишними тоже)
Ученик должен чекбоксами указать все ошибки, сделанные в программе.
Еще лучше (но сложнее в реализации?)
- чекбоксами указать фрагменты (строки) с ошибками
- а затем для каждой указанной ошибки выбрать ее ОПИСАНИЕ (из выпадающего списка)
|
12.01.2008 19:44:06
Тема: Re:"Одномерный массив" - проблемы и решения
|
Владислав Добрыдин
Темы: 2
Сообщений: 57
Мой профиль
|
Контрольные задания / Задачи для строк:
-Код максимально-встречающегося символа
Добавил в "Не получилось":
-Коды символов
-Массив чисел
-Максимальное и его номер из 10 чисел
-Количество недостающих символов
Добавил в "Не получилось":
-Решение вручную
-Сопоставление
|
13.01.2008 10:15:06
Тема: Re:"Одномерный массив" - проблемы и решения
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
я не могу решить задачу Количество недостающих символов. Вернее я её решаю правильно, т.к. уже решала,но при отправке задача непрвильна
-- Спрашивает 114934 [Мозоль Дарья]
-- Курс 'Информатика 2007-2008'
Distance Learning Belarus - http://dl.gsu.unibel.by - 13.01.2008 10:06
|
14.01.2008 18:38:46
Тема: Re:"Одномерный массив" - проблемы и решения
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
"Грузовики"58537 Добрыдин Владислав, июнь 2007
Я не могу решить эту задачу
-- Спрашивает 114442 [Туманов Вова]
-- Курс 'Информатика 2007-2008'
Distance Learning Belarus - http://dl.gsu.unibel.by - 13.01.2008 11:47
|
21.01.2008 20:07:15
Тема: Re:"Одномерный массив" - проблемы и решения
|
Владислав Добрыдин
Темы: 2
Сообщений: 57
Мой профиль
|
Сделал обучение к следующим задачам:
Код максимально встречающегося символа / Контрольные задания
Дополнил в "Не получилось"
- Максимально встречающийся символ
(Слисова Ирина, Мороз Инна, Коробейников Федя, Андрухович Настя, Грибанов Вадим,
Кошевников Иван, Мозоль Дарья, Подтелкин Влад)
Количество недостающих символов / Контрольные задания
- Ввод-вывод массива
(Слисова Ирина, Мороз Инна, Коробейников Федя, Андрухович Настя, Грибанов Вадим,
Кошевников Иван, Мозоль Дарья, Подтелкин Влад)
Сколько раз встречались / Контрольные задания
- Найди ошибки
- Найди ошибки 2
- Найди ошибки 3
(Слисова Ирина, Мороз Инна, Коробейников Федя, Андрухович Настя, Грибанов Вадим,
Кошевников Иван, Мозоль Дарья, Подтелкин Влад)
Грибники / Контрольные задания
- Грибники-сопоставление ошибке
(Андрухович Сергей)
Номера элементов / Грибники / Контрольные задания
- Сравнение с одним числом
- Номера элементов 2
(Бабицкий Алан)
Грузовики / Сумма
- Выбрать правильную программу
(Туманов Вова)
Птицефабрика / Сумма
- Птицефабрика с первого по N
- Птицефабрика с M по последний
- Птицефабрика 2
(Тихонов Богдан, Ребко Сергей, Крупенко Женя)
|
21.01.2008 20:41:57
Тема: Re:"Одномерный массив" - проблемы и решения
|
Федор Коробейников
Темы: 46
Сообщений: 162
Мой профиль
|
Я не понимаю задачу "Степень возрастания"60794 . Напишите к ней пожалуйсто более подробное Не знаю
______________________
Work hard and win a prize
|
26.01.2008 10:20:50
Тема: Re:"Одномерный массив" - проблемы и решения
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
-----Исходное сообщение-----
От: Алексей Литвинов [SMTP:alex.o.litvinov@gmail.com]
Отправлено: Saturday, January 26, 2008 10:00 AM
Кому: Michael Dolinsky
Тема: Re: Здравствуй, Леша
Да, получилось
Спасибо за помощь
12.01.08, Michael Dolinsky < dolinsky@gsu.by <mailto:dolinsky@gsu.by>>
написал(а):
Владислав Викторович ПОСТАВИЛ "НЕ ЗНАЮ" к задаче
"Количество недостающих символов"
- попробуй ТЕПЕРЬ ее решить
Обязательно сообщи мне результат - получилось или нет
Спасибо
|
29.01.2008 15:29:32
Тема: Re:"Одномерный массив" - проблемы и решения
|
Дмитрий Храменков
Темы: 0
Сообщений: 2
Мой профиль
|
не могу решить задачу: одномерный массив - модуль суммы.
______________________
Не могу разобраться с задачей: одномерный массив - модуль суммы
|
29.01.2008 20:05:24
Тема: Re:"Одномерный массив" - проблемы и решения
|
Владислав Добрыдин
Темы: 2
Сообщений: 57
Мой профиль
|
Добавил в Не получилось следующие задания:
Степень возрастания / Контрольные задания
Идея решения
(Коробейников Федя)
Нефть / Контрольные задания
Решение вручную
Минимальная цена
Две минимальные цены
(Лапицкий Слава, Ничипорчик Сергей, Марухленко Андрей,
Терехов Дима, Астахов Сергей)
Модуль суммы / Контрольные задания
Что такое модуль
Решение вручную
Модуль числа
(Храменков Дима, Лапицкий Слава)
|
31.01.2008 18:20:36
Тема: Re:"Одномерный массив" - проблемы и решения
|
Владислав Добрыдин
Темы: 2
Сообщений: 57
Мой профиль
|
Электронная почта DL
Отправитель Ничипорчик Сергей
Дата 31.01.2008 12:26:45
Тема Нефть
Сообщение Я её решил.
Отправитель Лапицкий Слава
Дата 31.01.2008 14:13:04
Тема Re:Реши задачи
Сообщение Я решил задачу "Модуль суммы" !
|
|
|