пятница, 18 декабря 2015 г.

Урок 16

Желающих решать задачи в Скретч в моем 7 классе не нашлось.

Зато многие получили по несколько дипломов в "Часе кода".

Но если задан вопрос, ответ на него необходимо дать, правда?

Ниже - решения задач, предложенных на выбор в уроке 15.

Задача 1.

Небольшой спрайт в начале программы стоит в центре экрана. При нажатии на зеленый флажок задается вопрос: "Что будем рисовать?" При ответе "Круг" рисуется круг, при ответе "Треугольник" рисуется треугольник, при ответе "Квадрат" рисуется квадрат.


Задача 2.

В начале программы персонаж (можно оставить кота) спрашивает номер месяца. Месяцев у нас 12 в году, если что.
По номеру месяца вывести время года. Например, 1 - январь - зима; 5 - май - весна. Если месяц не существует - вывести сообщение об ошибке.


Неожиданно, да? Маловато будет... Дело в том, что это скрипт для кота. А вот для сцены отдельный скрипт:


Задача 3.

В начале программы создается список из 15 чисел. Два спрайта - МИН и МАКС продвигаются вдоль списка, останавливаясь в итоге у наименьшего числа (МИН) и у наибольшего числа (МАКС).

Сначала рассмотрим скрипт для сцены. Он самый большой, и, главное, именно он будет управлять процессом.


Прошу обратить внимание, что программа начинает работу с очистки старого списка и формирования нового. Список называется array - как у настоящих взрослых программистов.

Поскольку сцена выполнила практически всю работу, для МИН и МАКС остались мелочи:




Задача 4.

Запросить длины трех сторон треугольника. Проверить "Неравенство треугольника" - каждая из сторон треугольника должна быть по длине меньше, чем суммы длин двух других сторон.
Если неравенство не выполняется, сообщить, что треугольник не существует. Рассчитать периметр и площадь для существующего треугольника.


Вот и все...

Творческих успехов всем! И хороших зимних каникул!

пятница, 11 декабря 2015 г.

Урок 15

На прошлом уроке мы с вами узнали о ресурсе "Година коду", в рамках которого много игр.

Полезных. Разных.

Теперь у каждого из вас есть учетная запись, а у меня есть возможность посмотреть, кто сколько заданий в какой из игр прошел. Примерно так:


До конца семестра у нас осталось два урока.
Я предлагаю вам выбор:

1. Вы можете сдать тему, получив дипломы за различные уровни "Години коду". В том числе, проходя игры с домашнего компьютера. Расценки: 1 диплом - 3 балла (3 балла).
Первые свои дипломы вы заработали сегодня, Доска почета ждет ваших дипломов для размещения. Места хватит всем!

2. Вы можете решить в среде программирования Скретч на выбор 2 из 4 задач.

Задача 1.
Небольшой спрайт в начале программы стоит в центре экрана. При нажатии на зеленый флажок задается вопрос: "Что будем рисовать?" При ответе "Круг" рисуется круг, при ответе "Треугольник" рисуется треугольник, при ответе "Квадрат" рисуется квадрат.

Решение будет оценено так:


  • до 6 баллов - если программа умеет рисовать не все три фигуры
  • 6 - 9 баллов - если программа рисует по одной фигуре за запуск, и умеет очищать экран перед следующим рисунком.
  • 10-12 баллов - если после ответа о форме фигуры задается вопрос "Сколько раз?", и воспроизводится несколько аналогичных фигур, не накладывающихся одна на другую. Очистка экрана обязательна.
Демонстрация работы программы на 12 баллов:

Задача 2.

В начале программы персонаж (можно оставить кота) спрашивает номер месяца. Месяцев у нас 12 в году, если что.
По номеру месяца вывести время года. Например, 1 - январь - зима; 5 - май - весна. Если месяц не существует - вывести сообщение об ошибке.

Решение будет оценено так:

  • до 6 баллов - программа не попадает во времена года и рассматривает несуществующие варианты, например, 15 месяц.
  • 6-9 баллов - программа составлена нерационально, отдельно рассмотрено условие для каждого из месяцев. Но работает правильно.
  • 10-12 баллов - программа использует СПИСОК (вспоминаем грузы для машинки из уроков 12 и 13), и, конечно, работает правильно.
Демонстрация работы программы на 12 баллов:


Задача 3.

В начале программы создается список из 15 чисел. Два спрайта - МИН и МАКС продвигаются вдоль списка, останавливаясь в итоге у наименьшего числа (МИН) и у наибольшего числа (МАКС).

Решение будет оценено так:

  • до 6 баллов - список задается вручную, программа работает не стабильно, иногда давая верный, а иногда - не верный результат.
  • 6-9 баллов - список создается автоматически но программа работает не всегда правильно ИЛИ список создается вручную, но программа никогда не ошибается в расчетах.
  • 10-12 баллов - все автоматизированно и работает без сбоев. И красиво.
Демонстрация работы программы на 10-11 баллов (ну, лень мне было красивые МИН и МАКС рисовать...)



Задача 4.

Запросить длины трех сторон треугольника. Проверить "Неравенство треугольника" - каждая из сторон треугольника должна быть по длине меньше, чем суммы длин двух других сторон.
Если неравенство не выполняется, сообщить, что треугольник не существует. Рассчитать периметр и площадь для существующего треугольника.

Решение будет оценено так:

  • до 6 баллов - программа только определяет факт существования треугольника
  • 6-9 баллов - для существующего треугольника считается периметр (сумма длин всех сторон), для несуществующего выводится сообщение "Треугольник не существует"
  • 10-12 баллов - в дополнение к пункту "6-9 баллов" программа рассчитывает площадь треугольника по формуле Герона. Для вас рассчет площади в Скретче будет выглядеть так:

Демонстрация работы программы на 12 баллов:


Выбирайте, каким образом вы сдаете тему - 4 диплома или две задачи? 
Подсказки к задачам на следующем уроке!

Удачи!

Результаты "Час кода"



Вот так оно было. Всем спасибо.
‪#‎HourOfCode‬ , ‪#‎ГодинаКоду‬ 
11 декабря в Одесской специализированной школе № 117 прошел урок в рамках конкурса "Година коду". Ученики 7 классов разделились на тех, кто под руководством волонтера программы "Година коду" студента-партнёра Microsoft Алексея Манойло создавал свои первые сайты, и тех, кто боролся за дипломы мероприятия, помогая Злым птицам под руководством учителя информатики.
Победители получили браслеты от Майкрософт.
Город - Одесса;
Область - Одесская;
Школа - Одесская СШ № 117
Учитель - Клейн Елена Викторовна.


вторник, 1 декабря 2015 г.

Урок 14

Внимание! Внимание! Ответственное задание!

Мы с вами начинаем большую игру! (А заодно повторяем модули повторения и ветвления в программировании).

Сначала все будет очень просто:

1. Переходим по ссылке: http://studio.code.org/join/VGNLVU
2. Регистрируемся под своим настоящим именем и фамилией, вспоминая, какой у вас почтовый ящик и как им пользоваться.

Имя в системе - ваше имя и фамилия;
Электронная почта - ваш адрес в формате 7kl117@ukr.net
Пароль и подтверждение пароля - обязательно совпадающие наборы символов, которые вы действительно запомните.
Возраст - ваш возраст.
Пол - мальчик вы или девочка. От этого могут зависеть некоторые задания.

После заполнения нажать желтую кнопку регистрации под анкетой.

3. В открывшемся окне выберите картинку с фоткой создателя FaceBook и Сердитой птичкой.

4. Начинайте проходить задания. 

Вот, например, первое...

Вам надо взять блоки из среднего раздела, и доставить их в место сбора блоков - правее.
Потом нажать кнопку "Выполнить".

Если вы решили задачу верно - вы перейдете к следующему заданию.

А когда вы решите все 20 задачек - вы получите сертификат. Вот такой:


Сертификат вы получите на почту, поэтому важно написать СВОЙ адрес электронной почты.

ВНИМАНИЕ! Все сертификаты мы будем выставлять на Доске Почета.

Для этого вы должны:
1. Получить сертификат.
2. Перейти по ссылке Доска Почета.
3. Дважды щелкнуть ЛКМ в любом месте доски. Получится вот так:

4. Щелкнуть на плюсик в кружочке. Появится окно, в котором вы сначала нажмете на раздел, выделенный красным, а потом на ссылку, обозначенную желтым:


5. Теперь надо указать файл, в котором на вашем компьютере сохранился диплом. И тогда будет примерно так...

Места хватит всем!

А для тех, кому понравилась обязательная программа - прохождение всех 20 уровней в "Птичке" - я рекомендую получить дипломы еще в трех играх:




Интересно, кто больше всех соберет дипломов? Начали!


среда, 25 ноября 2015 г.

Урок 13

Презентация к уроку.

Видео работы программы на 10-12 баллов.




Сегодня мы продолжим решать задачку про отправку грузов. Давайте вспомним условие:


Открываем на компьютерах программы, сохраненные на прошлом уроке. Мы закончили прошлый урок тем, что научили программу запоминать значения массы каждого из 10 грузов. Подробности - в Уроке 12.

Теперь перед нами встает следующий вопрос:


 Как реализовать это при помощи среды программирования Scratch?


Все готово к началу погрузки. Давайте рассмотрим, из каких действий состоит процесс?


 Как реализовать это при помощи среды программирования Scratch?


Теперь давайте рассмотрим два важных случая: если общая загрузка машины после погрузки очередного груза стала больше 50 тонн, машину отправлять нельзя! Последний груз надо снять, и отправлять следующей машиной!


А если сумма грузов равна ровно 50, мы должны отправить машинку. не снимая последний груз. Поэтому...


Давайте остановимся на 2 последних блоках немного подробнее.


Нижний рисунок - если загрузка равна ровно 50 тонн - отличается от верхнего - если загрузка больше 50 тонн - одним элементом. Это команда "Изменить номер груза на -1". Зачем эта команда нужна?

Если у вас машина последним грузом просто наполнилась до максимума - мы отправляем эту машину, В ТОМ ЧИСЛЕ И ПОСЛЕДНИЙ ГРУЗ на ней.

А вот если при прибавлении груза мы получили перегрузку. то ПОСЛЕДНИЙ ГРУЗ НАДО СНЯТЬ, чтоб загрузить его еще раз, но уже на машину со следующим номером. Вот поэтому для перегруза и используется дополнительная команда "Изменить номер груза на -1".

Давайте пройдем по алгоритму программы в этом случае:

Допустим, у нас машина уже загружена на 40 тонн.
Следующий по счету груз равен 20. Пусть это будет груз № 7, например.
Мы грузим его в машину, и загрузка становится равна 60 тонн.
Если мы просто отправим машинку, то программа на следующую машину начнет грузить с груза № 8 - посмотрите внимательно, в каком месте алгоритма мы меняем номер груза!
Но мы ведь сняли эти 20 тонн с перегруженной машины, нам нельзя грузить груз № 8, пока мы не отправили № 7...


Внимание! На картинке выше показано только использование блока "Повторять до...", а что должно быть в этом блоке - подумайте сами. И будьте внимательны!




Удачи!

вторник, 17 ноября 2015 г.

Урок 12

Презентация к уроку.

Тема нашего сегодняшнего урока:


Давайте вспомним, над какой задачей вам предлагалось подумать дома.


Какие есть предложения по алгоритмам решения?

Начнем решать задачу по этапам:


Давайте создадим эти переменные. Помните, как создавать переменные в Scratch?




Придумайте по два примера, которые могут проиллюстрировать понятие массив. Кто хочет порадовать нас массивами? Кто согласен с тем, что озвученные группы являются массивами? Какие свойства их объединяют?

Вернемся к нашим грузам.







Где взять кругляш с надписью НГ? А какого он цвета? Рыжего? Так это же раздел переменных! Ищем!


Упс! А где взять эту голубую штуку со словом "Ответ"? Стоп, она ГОЛУБАЯ? Значит, на панели инструментов "Сенсоры"! А где брать "НГ" мы уже нашли, не правда ли?








среда, 11 ноября 2015 г.

Урок 11


Презентация к уроку ЗДЕСЬ.

Мы начинаем новую тему. Вся тема будет называться "Алгоритмы с повторением и ветвлением", за эту большую тему вы получите целых две тематических оценки - одну до нового года, вторую уже в третьей четверти. Работы, короче будет много. Но самый длинный путь начинается с первого шага. а наш первый шаг будет называться вот так:


Ого, сколько много слов, и половина - непонятные! Давайте разбираться, о чем это тут...


А теперь давайте поиграем!



Давайте, уже зная, что такое высказывание, разберемся с тем. какие они бывают.


Идея понятна? Тогда еще одна игра!


Давайте разбирать, почему так.

У кота зеленые глаза - неопределимо. Почему? Потому, что не сказано, у какого именно кота. Не у каждого кота глаза зеленые.

У всех котов зеленые глаза - ложное. Я лично знаю пару котов с карими (коричневыми) глазами.

У кошки по кличке Зеленоглазка глаза зеленые - истина. Ну не просто же так ей кличку давали!

Все яблони - деревья. Истина.

Все деревья - яблони. - Ложь. Вот, за окном каштан растет. Он - дерево, но не яблоня.

В радиусе 500 км от нас растет ровно 45872 яблони. Неопределимо. Ну, действительно, 500 км это знаете, как далеко? Это дальше, чем от Одессы до Киева. И это только в одну сторону, а не по кругу! Кто готов идти пересчитывать яблони? Я - нет. Может, и правда, конечно, но - неопределимо.

Антананариву действительно столица Мадагаскара, а Мадагаскар действительно независим с 1960 года. Правда. Значит, выражение - истинно.

Антананариву в переводе означает 100 деревень или 1000 воинов. проверить можно элементарно, найдя информацию в Википедии. Про воинов - правда. А деревням не хватает одного нолика. Одно истинно, другое ложно, значит, все вместе - ложно.

Завтра в Антананариву будет 19 градусов тепла. Мы сможем узнать об этом завтра, а сегодня - неопределимо.

В информатике высказывания используют как условия. Впервые с условиями мы с вами столкнулись при изучении алгоритмов, на 3 уроке в 6 классе. Дома очень рекомендую вспомнить, пройтись по урокам 3-4-5...

Смысл использования высказываний в информатике при составлении алгоритмов следующий:


  • Высказывание используется как условие
  • Если условие выполняется, программа идет по пути "Условие выполнилось"
  • Если условие не выполняется, программа идет по пути "Условие не выполнилось"

Давайте для примера вспомним задачу про робота:

1     Робот должен собрать все ягоды на поляне. Робот умеет выполнять команды:
a.     Видишь ягоду (да, нет) - это высказывание, ставшее условием.
b.     Идти к ягоде
c.      Взять ягоду

Для иллюстрации задач мы рисовали Блок-схемы.



Посмотрите, если наш робот видит ягоду (условие, полученное из высказывания "робот видит ягоду") - он идет ее собирать.

Если робот не видит ягоду ( уже все ягоды на поляне закончились, и высказывание "робот видит ягоду" стало ложным) - он заканчивает работу.



А теперь -


Подсказка к задаче.

Сначала узнаем массы всех грузов. Для этого 10 раз повторяем запрос вида: "Сколько весит груз № ... ?" После получения ответа запоминаем массу груза и меняем номер груза на 1.

Берем грузовик № 1. Начинаем в него грузить грузы. Загружаем 1 груз. Если масса 1 груза меньше 50 тонн, берем груз 2 и проверяем: груз 1 + груз 2 меньше 50 тонн? Если да, добавляем груз три и проверяем...

Если сумма с последним грузом больше 50 тонн, то мы:

  • меняем номер используемого грузовика на 1.
  • грузим в него последний из грузов, тот, что не поместился в предыдущий грузовик.
  • продолжаем грузить, пока сумма грузов не превышает 50 тонн.
В самом конце программы сообщаем, сколько грузовиков мы использовали.

Удачи!