Программирование задач

                                                 

  Рейтинг@Mail.ru                       

           

 

Программирование задач

При изучении наук примеры полезнее, чем правила.

Исаак Ньютон, "Универсальная арифметика"

 В этом разделе рассмотрим программирование  стандартных алгоритмов с помощью Скретч. Кота, если он  не нужен, скрываем, но не удаляем!

Задача 1. Генерируются 2 случайных числа. Найти их сумму и разность.

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

 Разумеется, диапазон чисел может быть не от 10 до 50, а любой другой.                                                                                                                                                                      

Задача 2. Несколько усложним задание: генерируется случайное число, котенок его проговаривает и, если число > 30, то мяукает.  

В этой задаче нам нужно создать только одну переменную. Чтобы окно переменной не фиксировалось на сцене, уберем галочку слева от ее имени, увидеть ее сможем, заставив кота "проговорить" ее. Затем нужно проверить выполнение условия >, используя блок контроля ЕСЛИ. Скрипт программы может выглядеть так:

 

Проверить работу программы можно здесь.

Дополнительно: доработать программу, чтобы она выполнялась 5 раз подряд. Для того, чтобы числа появлялись по очереди, после каждого исполнения поставьте паузу (Команда ЖДИ...)

 

 Задача 3. С клавиатуры вводится число. Проверить, является оно четным или нечетным. Ответ говорит котенок.

В этой задаче число вводится с клавиатуры, т.е. используется конструкция блока КОНТРОЛЬ передать - когда я получу.

Используя готовый скрипт, проверить работу программы:

 

 Задача 4. Из слов "тепло" и "снабжение" получить слово "теплоснабжение".

В данной задаче нужно выполнить действие, которое в других языках программирования называется конкатенация. В Скретч  в блоке ОПЕРАТОРЫ есть команда слить (...) (...). Создадим 2 переменные сл1 и сл2 и уберем их со сцены.  Дальнейшее  легко понять из следующего скрипта:

 Кстати, в блоке ОПЕРАТОРЫ  есть 3 команды, с помощью которых можно решать задачи на обработку строк:

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

Дополнительно:   попробуйте, используя эти два слова и новые команды, получить слово "стена".

 

 Задача 5. Для любого значения переменной Х найти соответствующее значение У

Для решения этой задачи нам требуется создать 2 переменные  х и у, чтобы мы могли отслеживать их значения, пусть обе переменные останутся на сцене. В зависимости от промежутка, в котором находится значение переменной х, значение у будут вычисляться по разным формулам. В связи с этим значение х будем вводить с клавиатуры.

Выполнить программу.

 

Задача 6. Генерируется два числа. Проверить каждое из них на четность.

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

( ) mod ( ), не ( ), ( ) и ( ). Можно воспользоваться советом 6 страницы СОВЕТЫ & СЕКРЕТЫ.

Нужна помощь - смотри здесь.

 

 Задача 7. Для любого двузначного числа, полученного случайным образом, сформировать число-перевертыш, т.е. из числа 45 получаем 54.

В данной задаче нам понадобится 4 переменных: для исходного числа - число, для "перевертыша" - перевертыш, для первой цифры (единицы) - х, для второй цифры (десятки) - у. Переменные х и у на сцене не отображаются. Скрипт задачи такой:

Первая команда генерирует двузначное число. Вторая дает остаток от деления числа на 10, т.е. цифру единиц. Третья команда позволяет получить цифру десятков (в самом деле, для числа 45: 45 - 5 =40, 40/10=4). Последняя строка дает само число-перевертыш :5*10+4=54.

Посмотреть работу программы.

 

 Задача 8. В целочисленном массиве из 10 случайных чисел найти сумму элементов и посчитать количество четных чисел.

В задаче нам необходимо создать список (дадим ему имя МАССИВ) и две переменные сумма и k. Все переменные должны отображаться на сцене. Дальнейшее разберем по скрипту программы:

Три верхние команды очищают список от имеющихся там элементов, а также обнуляют сумму и счетчик  k. Далее используется команда цикла на 10, т.к. в массиве 10 элементов. Формируем список, добавляя в него случайные числа.Команда ЕСЛИ проверяет каждый  элемент списка (в Скретч используется понятие последний из...) на четность и, если условие верно, т.е. число четное, изменяет счетчик k на 1. Последняя строка суммирует все элементы списка. Кстати, эту строку можно поставить и перед командой ветвления ЕСЛИ.

Поработать с программой.

 

 Задача 9. В целочисленном массиве из 15 случайных чисел посчитать  количество элементов, больших 25 и меньших 40.

Эта задача отличается от предыдущей только более сложным условием ЕСЛИ (...) И (...). Зато не надо считать сумму элементов.

Не получается?.. Посмотри здесь.

 

Задача 10. Протабулировать функцию y=3x2 + 4,  где х принадлежит промежутку [ 1, 15].

Протабулировать функцию - значит, найти все её значения на указанном промежутке. Однако, если мы воспользуемся переменной у, то на сцене останется только последнее значение у. Для фиксации всех значений у предлагаем создать не переменную, а список по имени у. Скрипт программы:

Обратите внимание: поставить Х в 1- здесь задается начальное значение из промежутка Х,

повторять до х>15 - указываем конечное значение Х,

следующая строка задает функцию и записывает полученное значение как элемент списка У,

в нашей задаче шаг изменения функции не задан, значит, он равен 1, последняя строка 

изменить х на 1 - как раз и фиксирует этот факт. Если шаг не 1, а напрмер, 0,5, то вместо 1 запишем 0,5.

 

Задача 11. С клавиатуры вводится 6-значное число. Найти сумму его цифр.

Введите переменные для числа, очередной цифры и суммы цифр. Затем повторить 6 раз алгоритм задачи 7 про числа-перевертыши.

Не получилось? Смотри здесь.

 

 

Hosted by uCoz