Когда ваши дети впервые учатся программировать, независимо от того, на каком языке они пишут, конечно, они будут делать ошибки. Это просто естественная часть обучения, и она необходима вашему ребенку, чтобы выздороветь. Однако, хотя в словесных языках можно легко обнаружить ошибки, в кодировании это не потому, что они могут быть немного сложнее.
Когда вы со своими детьми и пытаетесь помочь им понять, что не так, очевидно, что это очень тяжелая работа. Если вы не умеете программировать сами, это может быть еще сложнее, потому что что вы вообще ищете?
Не волнуйтесь, вас не нужно откладывать из-за сложности кодирования и ощущений, и вам не нужно думать, что вы не можете помочь своим детям стать лучшими программистами, которыми они могут быть. Есть несколько уловок и советов, которые могут помочь.
В сегодняшнем руководстве я расскажу вам о некоторых ключевых способах поиска распространенных ошибок в кодировании вашего ребенка, помогая им легко определить, где они пошли не так и что им нужно улучшить. В конечном итоге это поможет вашему ребенку стать успешным программистом!
Работа на диапазонах
Итак, ваши дети написали код, но что-то не работает. Вы получаете всплывающие сообщения об ошибках, код продолжает работать бесконечно и заканчивается конечным результатом, как и должно быть, и небольшими ошибками, подобными этой. Первое, что вам нужно найти, - это ошибка, известная как «бесконечный цикл».
Бесконечные циклы, возможно, являются наиболее распространенной ошибкой, потому что буквально означает, что программа или скрипт будут работать вечно, отсюда и название. Когда программа не заканчивается, она никогда не завершится, и именно здесь возникают ошибки.
Давайте рассмотрим это чуть подробнее.
Бесконечные циклы при кодировании на Java
Допустим, ваш ребенок пишет небольшой фрагмент кода, в котором он может запустить программу, чтобы вывести числа от одного до девяти. Действительно простой пример кодирования может выглядеть так:
Для (int index = 0; index <10; index–)
{
System.out.println (индекс);
}
Сразу же возникла ошибка. Сможете ли вы заставить ребенка заметить это? Позвольте мне дать вам подсказку. После запуска код будет выглядеть следующим образом;
индекс = 0
Индекс <10? да
Индекс печати 0
индекс = индекс - 1 индекс = -1
Индекс <10? да
Индекс печати -1
индекс = индекс - 1 индекс = -2
Индекс <10? да
Индекс печати -2
индекс = индекс - 1 индекс = -3
И так далее.
Посмотрите на конечный результат. В нем указано, что index = -1, -2 и т. Д. Это бесконечный цикл, потому что код никогда не будет больше или равен десяти. Он также будет в минусовой цифре, поэтому он будет просто продолжать печатать числа, пока вы не отключите код самостоятельно, потому что он никогда не достигнет точки +10, только -10.
Чтобы исправить что-то подобное в JavaScript, ваш исходный код должен выглядеть так:
Для (int index = 0; index <10; index ++)
{
System.out.println (индекс);
}
Когда вы проверяете код своего ребенка, всегда ищите мелкие детали, такие как знаки плюс и минус, которые находятся не в том месте. Лучший способ проверить это - запустить программу и посмотреть, что произойдет. Если в коде задействованы числа и математика, убедитесь, что в коде используется правильный диапазон, как в примере выше!
Кодирование на сложном языке, таком как JavaScript, может быть трудным, потому что детали, такие как наличие знака плюс или минус, могут иметь такое большое значение. Если вам удобно разбираться в этих ошибках, продолжайте, и вы исправите их вовремя. Однако может быть полезно начать с более простого языка программирования, такого как Scratch.
Как устраняется ошибка бесконечного цикла в царапинах
В то время как бесконечные циклы в основном проблематичны в таких языках, как JavaScript, где вам нужно быть очень внимательными с вашей точностью, вы удивитесь, узнав, что в некоторых случаях они действительно могут быть полезны. Взгляните, например, на язык Scratch.
В языке Scratch есть функция, известная как «отключение по одному».
Например, предположим, что у вас на экране маленький мультяшный персонаж, который здоровается с членами семьи. Кодировка - «Привет, фамилия», в которой «фамилия» заменена текстом из списка фамилий, который вы записали ранее. Вы запускаете код, и в мультфильме написано «Привет, мама», «Привет, папа» и так далее.
Если у вас в списке отсутствует фамилия, то, что умно в Scratch, так это то, что он сам автоматически обработает эту ошибку.
Допустим, вы запускаете программу четыре раза, но в вашем списке фамилий есть только три записи (скажем, мама, папа и Бен), в четвертый раз код будет запущен, он пропустит FamilyName, потому что нет записи, и просто скажи привет'!
Изучение такого языка, как Scratch, - это здорово, потому что он пропускает эти ошибки и позволяет вашим детям сосредоточиться на фундаментальных аспектах кодирования, а не на точных деталях, которым можно будет научить позже.
Делаем вещи немного более интенсивными с помощью Python
Python, пожалуй, самый сложный язык из всех языков кодирования, о которых мы говорили выше, и было бы намного проще, если бы он использовал правило «выключить одним», как это делает Scratch, но это не так.
Допустим, вы пишете аналогичный код для Scratch, но на Python он выглядит примерно так;
family = ['Папа', 'Мама', 'Бен']
для x в диапазоне (1, 3):
print ('Привет' + семья [x])
Обратите внимание, у вас есть ошибка. Запись «Папа» в этом коде не будет напечатана, потому что вы начинаете диапазон с «1», а не с «0», поэтому именно здесь может возникнуть ошибка. Для правильной работы кода вам потребуется написать следующее.
family = ['Папа', 'Мама', 'Бен']
для x в диапазоне (0, 3):
print ('Привет' + семья [x])
Когда вы пишете код, будь то Scratch, JavaScript или Python, возможно, самое важное, о чем вам нужно подумать, - это диапазоны, которые использует этот язык кодирования. Если ваш ребенок изучает несколько языков, диапазоны будут отличаться, как мы уже говорили.
Scratch автоматически закроет себя, опуская код, который не работает, Python начинает диапазон с 0, а Javascript будет использовать несколько диапазонов, в зависимости от того, что вы установили!
Итак, что, по вашему мнению, произойдет, если вы напишете такой код Python;
family = ['Папа', 'Мама', 'Бен']
для x в диапазоне (0, 4):
print ('Привет' + семья [x])
Что ж, получилось бы что-то вроде этого;
Привет папа
Привет мама
Привет, Бен
Отслеживание (последний вызов последний):
Файл "filename.py", строка 4, в
print ('Привет') + семья [x]
IndexError: список индекса вне допустимого диапазона
Python не использует функцию «по одному», потому что family4 не существует.
Заключение
Обучая детей программировать, не откладывайте, насколько сложной может быть одна ошибка, особенно потому, что диапазоны будут меняться в зависимости от того, на каком языке они пишут. Просто не торопитесь, чтобы изучить различия, и это станет второй натурой в кратчайшие сроки.
ОБ АВТОРЕ
Кристин Херман - технический менеджер проекта в Академизированный. Ей нравится учить детей программировать и помогать большему количеству людей получать знания в области STEM.