результат, ст пиши :сп пиши :сумкв
конец
это подсказка3
покажи [1) Сначала определяем списка "сп с числами]
покажи [2) Затем переменную "сумкв, которой присваиваем значение 0]
покажи [3) Затем переменную "х, которой присваиваем значение 1]
покажи [4) Затем открываем цикл]
покажи [5) К переменной "сумкв прибавляем значение элемента №х из списка "сп, помноженное на само себя]
покажи [6) К переменной "х прибавляем 1]
покажи [Анализируем является элемент "х из списка "сп последним. Если "Да, то останавливаем цикл (команда - стоп)]
покажи [7) Выводим результат в текстовое окно]
конец
Задача4 Тест по русскому языку
Напишите две процедуры.
Процедура "задача№4 Определите два списка. Один [витрина винегрет окно]. Другой - [в_трина вин_грет _кно]. Первый список выведите в текстовое окно "результат.
Процедура "задача№4 - проверка Копирует содержимое тестового окна (внт выделяй вкт копируй). И сравнивает содержимое второго списка со скопированной информацией. В случае, если значение списков совпадает - сообщает "Все верно. В противном случае - "Вы ошиблись. Используйте команды равны?, разбери.
это задача№4
пусть "сп1 [витрина винегрет окно]
пусть "сп2 [в_трина вин_грет _кно]
результат, ст вставь :сп2
конец
это задача№4-проверка
результат, внт выделяй вкт копируй
пусть "сс разбери буфер
если_иначе равны? :сп1 :сс
[сообщи [все правильно] ]
[сообщи [вы ошиблись]]
конец
это подсказка4
покажи [После работы команды копируй, информация находится в ячейке буфер в виде цепочки символов.]
покажи [Для преобразования символов в список использутся команда "разбери. (пусть "ссс разбери буфер)]
конец
Программирование списков №4
Задача1 Перевод восьмеричных чисел в двоичные
Напишите процедуру, которая восьмеричное число переводит в двоичное. ;Восьмеричное число берется из текстового окна "восьмеричное. А двоичное ;выводится в текстовое окно "двоичное.
Решение:
это задача№1
десятичное, внт выделяй вкт копируй
пусть "ч буфер
двоичное, ст
цикл [
пусть "о остаток :ч 2
пусть "ч целое :ч / 2
двоичное, вставь :о кнд
если :ч = 0 [стоп]
]
конец
это подсказка1
покажи [1) скопируйте информацию из текстового окна "десятичное ]
покажи [2) определите переменную "ч, в которое поместите содержимое буфера обмена]
покажи [3) определите переменную "х и присвойте ей значение 1.]
покажи [4) откройте цикл]
покажи [5) определите переменную "0, которая будет равна остатку деления переменной "ч на 2 (примитив Лого: остаток - смотри Словарь)]
покажи [6) переменной "ч присвойте значение целой части после деления её на 2 (примитив Лого: целое - смотри Словарь)]
покажи [7) в тестовое окно "двоичное выведите значение переменной "о. Используйте команду вставь. ]
покажи [8) Курсор верните назад на 1 позицию]
покажи [9) Не забудьте к переменной "х прибавить единицу ]
покажи [10) проанализируйте равна ли переменная "ч 0 для завершения цикла]
конец
Задача2 Перевод двоичных чисел в десятичные
Напишите процедуру, которая двоичное число переводит в десятичное. Двоичное;число берется из текстового окна двоичное. Десятичное число выводится в; текстовое окно десятичное.
Решение:
это задача№2
двоичное, внт выделяй вкт копируй
пусть "чдв буфер
десятичное, ст
пусть "х 0 ;счетчик шагов в цикле
пусть "чисдес 0 ;десятичное число
пусть "с сколько :чдв ;кол-во знаков в двоичном числе
цикл [
пусть "эл элемент (:с - :х) :чдв ;берем по очереди цифры; из "чдв с конца
если :эл > 1 [сообщи [число не двоичное] останов]
пусть "чисдес :чисдес + (степень 2 :х) * :эл
пусть "х :х + 1
если :х = :с [стоп]
]
десятичное, пиши :чисдес
конец
это подсказка2
покажи [1) Определите переменную "чдв, в которую поместите информацию из ТО "двоичное]
покажи [2) определите переменную "х, которая будет задавать номер элемента в списке и присвойте ей значение 1]
покажи [3) Определите переменную "чисдес, куда в итоге поместится десятичное число и присвойте ей значение 0]
покажи [4) Определите переменную "с равную количеству элементов в "чдв]
покажи [5) Затем откройте цикл]
покажи [6) Определите переменную "эл, которая равна значению элемента № (:с - :х)из "чдв]
покажи [7) Проанализируйте: если "эл больше 1, то введенное в ТО число - не двоичное и остановите выполнение процедуры]
покажи [8) В текстовое окно реклама выводим элемент №х из списка "рекл]
покажи [9) Прибавляем к переменной "чисдес значение переменной "эл, умноженное на 2 в степени :х]
покажи [10) Прибавляем к переменной "х единицу ]
покажи [11) Анализируем равно ли значение переменной "х значению переменной "с. Если "да, то останавливаем цикл]
конец
Задача3 Перевод восьмеричных чисел в десятичные
Напишите процедуру, которая восьмеричное число переводит в десятичное. Восьмеричное число берется из текстового окна восьмеричное.
Решение:
это задача№3
восьмеричное, внт выделяй вкт копируй
пусть "ч буфер
десятичное, ст
пусть "х 0
пусть "чис 0
пусть "с сколько :ч
цикл [
пусть "эл элемент (:с - :х) :ч
если :эл > 7 [сообщи [число не восьмеричное] останов]
пусть "чис :чис + (степень 8 :х) * :эл
пусть "х :х + 1
если :х = :с [стоп]
]
десятичное, пиши :чис
конец
это подсказка3
покажи [ смотри предыдущую задачу ]
конец
Задача4 Перевод восьмеричных чисел в двоичные
Напишите процедуру, которая восьмеричное число переводит в двоичное. ;Восьмеричное число берется из текстового окна восьмеричное. А двоичное выводится в текстовое окно двоичное.
Решение:
это задача№4
пусть "8-ич [ 0 1 2 3 4 5 6 7]
пусть "2-ич [000 001 010 011 100 101 110 111]
двоичное, ст
восьмеричное, внт выделяй вкт копируй
пусть "ч буфер
пусть "х 1
цикл [
пусть "п элемент :х :ч
пусть "т элемент (:п + 1) :2-ич
двоичное,
если (сколько :т) = 2 [вставь "0]
если (сколько :т) = 1 [вставь "00]
вставь :т вставь символ 32
если :х = сколько :ч [стоп]
пусть "х :х + 1
]
конец
это подсказка4
покажи [Здесь придется воспользоваться своим умом. Удачи!]
конец
Дополнительные задачи по теме «Программирование списков»
Задача 1 Подсчет количества нечетных чисел в списке
Дан следующий список [24 25 34 33 45 67 78 87 65]. Подсчитать количество нечетных элементов данного списка (используйте команду остаток). Сам список и полученное число выведите в текстовое окно.
Задача 2 Создаем новый список из элементов другого списка, которые больше 10.
Дан следующий список [1 12 10 78 3 45 4 6 56 7]. Подсчитать количество элементов списка больших 10. Составить другой список, содержащий эти элементы. Оба списка и полученное число выведите в текстовое окно.
Задача 3 Объединяем два списка в один.
Определить 2 списка, один список "девочки - содержащий имена всех девочек класса, другой "мальчики, содержащий имена всех мальчиков класса. Образовать третий список "класс, состоящий из элементов, встречающихся в обоих списках. Все три списка вывести на экран.
Задача 4 Делим элементы списка пополам.
Дан список, содержащий целые различные числа. Составить другой список, содержащий элементы первого списка, деленные пополам. Оба списка выведите на экран.
Задача 6 Определяем класс для любого ученика
Даны списки, содержащие фамилии учащихся трех классов (по 3 фамилии). Программа запрашивает у пользователя фамилию и определяет, в каком классе учится ученик с этой фамилией. Ответ вывести в текстовое окно.
Задача 7 Подсчет количества четных чисел в списке
Дан следующий список [24 25 34 33 45 67 78 87 65]. Подсчитать количество четных элементов данного списка (используйте команду остаток). Сам список и полученное число выведите в текстовое окно.
Задача 8 Составляем таблицу роста.
Определить 3 списка, один список "фамилии - содержащий фамилии всех девочек класса, другой "имена, содержащий имена этих же девочек, третий -"врост, содержащий информацию о росте этих девочек. В текстовое окно вывести информацию в виде
имя1 фамилия1 - Хсм имя2 фамилия3 - Хсм имя3 фамилия3 - Хсм
Задача9 Премещаем черепашку, используя 2 списка: Х-координат и У-координат
Определить два списока"Хк и "Ук состоящий из Х и У координат черепашки. Написать процедуру для черепашки, чтобы она перемещалась, используя элементы из этих списков
Задача 10 Переставляем элементы списка.
Дан список, содержащие фамилии учащихся (от 5ти до 10 фамилий). Составить другой сисок, где фамилии перечислены в обратном порядке. Оба списка вывести в текстовое окно.
Задача11 Рисуем ломаную линию по списку координат
Определяется список, состоящий из списков координат черепашки. Затем черепашка перемещается по экрану, используя элементы из списка. Черепашка оставляет след и получается рисунок.
Решение:
это ломаная
по
нрп 1 нц 4
пусть "сп_к [[150 50] [267 10] [37 42] [34 78]]
пусть "х 1
цикл [
нм элемент :х :сп_к
пусть "х :х + 1
если :х > сколько :сп_к [стоп]
]
конец
Задача2 Считаем и премещаем элементы списка
Для список целых положительных чисел [5 45 78 10 90 34 11 89 55 2 77 44 38 49 99 22] определить, сколько элементов списка больше 50 и сколько элеменов списка меньше 50. Все числа, которые больше 50 поместить в конец нового списка, а те, которые меньше 50 – в начало нового списка. Результат вывести в текстовые окна.
Решение:
это граница
пусть "х 0
пусть "б [5 45 78 10 90 34 11 89 55 2 77 44 38 49 99 22]
пусть "к [ ]
пусть "Г 50
пусть "кэ сколько :б
цикл [
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |


