Теория: переменные, операторы, строки и приведение типов — 20 минут

Расскажи ребятам, что для работы программ почти всегда нужно что-нибудь запоминать: возраст пользователя, логин-пароль или тип персонажа в игре. Для этого нужны переменные — в них можно что-нибудь сохранить, и потом этим пользоваться. Но сначала переменную нужно объявить — т.е. сказать компилятору (продолжаем использовать усвоенные понятия), что нам нужна переменная такого-то типа. Разбери это на доске на примере винрейта (от англ. win-rate — соотношения числа побед в игре к общему числу игру). Определись с ребятами, что это — дробное число, выберите для его хранения нужный тип, пользуясь графом выбора типов данных. Запиши на доске double и спроси у детей: Ок, объявили, а как к нему обратиться (получить к нему доступ)?. Приведи их к мысли об именах для переменных. Сразу договорись, что будете давать переменным только осмысленные имена! Никаких a, b, c1, someVarible!

Далее предложи группе написать вместе программку, выясняющую win-rate пользователя. Расскажи ребятам, что вся вводимая с клавиатуры информация — всегда текст! Если они удивились — хорошо. А если при этом спросили как же тогда его умножать/делить? — еще лучше! Расскажи про основные способы преобразования типов: Parse (приучит ребят к организации классов), кастинг (явное приведение типа).

Спроси у детей, что нужно знать, чтобы посчитать винрейт пользователя. Разбери с ребятами за несколько минут на доске основные операторы. Пускай они тебе сами расскажут, что можно делать с числами, а затем попробуй попросить их о том же со строками. Покажи им, что строки можно склеивать. Отметь также, что существует обратная операция, но она сложнее, и о ней позже. Здесь подробнее рассказать про ReadLine — это команда, на выходе которое есть строка, введенная пользователем.

Напиши на доске сложное арифметическое выражение (со скобочками и приоритетами операции) и попроси посчитать его значение (лучше, конечно, заготовить его заранее и не импровизировать). В случае успеха замени заранее подготовленные в нем одинаковые числа на переменные. Вначале используй математический подход (без декларирования типа данных, например, х = 3), затем поясни, что компьютеру нужно указать тип. Чтобы доказать необходимость этого, со словами предположим, компьютер решил, что это текст используй сначала строковый тип и покажи, что 3 + 5 = 35. Обычно это убеждает всех ребят, но непредвиденных сложностей никто не отменял: будь готов объяснять по нескольку раз. Только ни в коем случае не делай это одними и теми же словами!

Поясни ребятам смысл оператора =: мы читаем слева направо записать в int Х число 5. Напомни, что все действия выполняются последовательно: покажи, как выполнить одни и те же вычисления в одно большое сложное выражение и в несколько строк с сохранением промежуточного результата. Расскажи о том, что это может пригодиться, если нужно много раз считать одно и то же — проще ведь запомнить и потом использовать готовый результат! Если время позволяет, можешь перед этим пригласить кого-то к доске и попросить вычислить что-нибудь, а потом показать (или спросить у остальных), как можно было бы сделать быстрее, если запомнить результат вон того выражения.

Очень хорошо в этом примере будет видна разница между обычным и целочисленным делением: винрейт всегда получится нулевым! Поясни ребятам причину такого поведения программ и способы, которыми можно это исправить.

Пример программы-результата:

Console.WriteLine(Привет! Я — программа, вычисляющая твой винрейт! Мне нужно, чтобы ты ввел немного данных о себе!);

Console.WriteLine(Сколько игр ты успел сыграть?);

string answer = Console.ReadLine(); // объявляем переменную и сохраняем результат в нее

int totalGames = int.Parse(answer); // обрати внимание детей на всплывающую к методу подсказку

Console.WriteLine(А сколько из них ты выиграл?);

answer = Console.ReadLine(); // переменная уже есть — второй раз объявлять не нужно!

// поясни, что ее значение в целочисленном виде уже хранится в totalGames, оно не потеряется!

int gamesWon = int.Parse(answer);

double winRate = (double)gamesWon / (double)totalGames;

Console.WriteLine(Твой винрейт: + winRate.ToString());

Console.ReadKey();

Практика — 15 минут

Напиши с ребятами несколько простеньких программок на пользовательский ввод-вывод. Это нужно для закрепления усвоенных навыков. Примеры программ:

1. Попугай. Программа повторяет все, что введет пользователь;

2. Введи свой возраст. Пользователь вводит свой возраст, и программа сообщает ему, сколько лет ему будет через N лет;

3. Единицы измерения. Пользователь вводит значение в сантиметрах, а программа преобразует его в метры и выдает ответ. Это упражнение позволит детям закрепить понимание разницы между целочисленным и обычным делениями.

Будь чуток и внимателен: ребята могут стесняться просить помощи! Заранее предупреди, что удаление нужной скобочки или установка лишней может привести к сотне ошибок, причем часто проще написать программу сначала, чем найти проблему!

Турнир – 15 минут

За день до этого занятия ты должен получить задания турнира. Если этого не произошло – свяжись с методистом. Расскажи детям о том, что им предстоит делать и следи за дисциплиной. Более подробные инструкции будут в письме с заданиями.

Конец занятия — 5 минут

Отметь вместе с ребятами достижения группы, новую усвоенную информацию, выпиши все это на доске. Бегло повтори с ними теорию, потрать пару минут на сбор отзывов и пожеланий.

Затем выдай домашнее задание! Это могут быть либо задачи из учебника, либо подготовленные тобой заранее задания. Пример домашнего задания: Учебник, страницы 31-32, задачи №№1, 2, 3, 6, 12.

Поясни им важность выполнения домашней работы: они делают ее ни в коем случае не для оценки! Они пришли, чтобы чему-то научиться, а для этого нужно каждое занятие узнавать что-нибудь новое. К сожалению, этого нельзя достичь, если каждое занятие повторять предыдущую тему (а так и будет, если не делать домашнее задание!).

Напоследок похвали их и поблагодари за занятие, каким бы странным это ни показалось им и тебе. Дерзай! Удачного занятия!

Результат

По итогам занятия ребята должны:

— понимать, что такое типы данных;

— знать основы хранения информации в двоичном виде;

— уметь выбирать тип данных для хранения информации;

— и изменять его;

— создавать более сложные программы в выбранной технологии.

Теория струн и суперструн простыми словами


Похожие статьи.

Понравилась статья? Поделиться с друзьями: