Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2022, 13:55   #1
lerupsen
 
Регистрация: 28.01.2022
Сообщений: 6
По умолчанию Инсталляция, состоящая из пустых листов бумаги, содержащих в точности h (0 ≤ h ≤ 510) дырок каждый.

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

Представьте теперь печатную машинку с очень острыми буквами, которые вместо печати протыкают бумагу. Ясно, что цифра 0 на такой машинке вырежет дырку в бумаге, и из нее выпадет маленький овал.
То же самое случиться с цифрами 4, 6, 9. А 8 вырежет уже две дырки. Остальные проткнут бумагу, но не вырежут дырку.

Лучшие умы в программировании готовят выставку, посвященную юбилею создания Паскаля.
Одна из идей для этой выставки — сделать инсталляцию, состоящую из пустых листов бумаги, содержащих в точности h (0 ≤ h ≤ 510) дырок каждый.
Дырки делаются описанной печатной машинкой, путем пробивания на ней неотрицательного целого числа. Число должно быть минимально возможным и не содержать ведущих нулей. Помогите организаторам подобрать соответствующее число.

Входные данные
На вход подается число h (0 ≤ h ≤ 510).

Выходные данные
Выведите число, которое должно быть напечатано.

Примеры
входные данные
15
выходные данные
48888888
входные данные
70
выходные данные
88888888888888888888888888888888888


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

Последний раз редактировалось lerupsen; 28.01.2022 в 14:36.
lerupsen вне форума Ответить с цитированием
Старый 28.01.2022, 14:58   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

4 *(n mod 2) * 10**((n div 2)+1) + 8 * 10 **(n div 2 )

Цитата:
в какой среде
любая где есть возведение в степень (**) и остаток от деления (mod)
P.S. сложение(+) и умножение(*) есть наверное везде.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 28.01.2022 в 15:05.
evg_m на форуме Ответить с цитированием
Старый 28.01.2022, 16:53   #3
lerupsen
 
Регистрация: 28.01.2022
Сообщений: 6
По умолчанию

Боюсь решение приведенное вами не совсем для 5 класса или могу ошибаться.
скорее можно сформулировать вопрос таким образом.
в какой среде можно реализовать написание подобного алгоритма:
*"введите число от 1 до 510 не начинающееся с нуля?" А
* Задаем
b:=a/2 (число пар/восьмерок)
c:=(a-1)/2 (число пар в нечетном числе)
*если введена единичка пишем минимальную "дырку" соответствующую 4
*и все
*если нет идем дальше
*если b не целое (тут как то надо обозначить нецелое число, вот это ODD как реализовать?)
*соответственно если не целое печатаем в начале 4
*и задаем цикл от 1 до с ("целого числа "пар/восьмерок" минус 1)
*печатаем восьмерки согласно цикла сколько надо


*если четное число просто печатаем необходимое количество восьмерок циклом до числа b
lerupsen вне форума Ответить с цитированием
Старый 30.01.2022, 08:57   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

evg_m, умножение на 10 в степени дает нули, а нужно дописывать 8.
lerupsen, а вам хочется код писать или блоки расставлять?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 30.01.2022, 12:20   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

А я считаю, что это правильно: не "сделаю за тебя", а "подскажу, как надо делать".
digitalis вне форума Ответить с цитированием
Старый 30.01.2022, 17:04   #6
lerupsen
 
Регистрация: 28.01.2022
Сообщений: 6
По умолчанию

BDA, скорее блоки расставлять.
lerupsen вне форума Ответить с цитированием
Старый 30.01.2022, 17:16   #7
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Цитата:
Число должно быть минимально возможным и не содержать ведущих нулей.
Не понятно, в чём проблема?
Нечётное минимальное число должно начинаться с 4 (одна дырка), а остальные цифры - 8 (по две дырки)
У чётного - все цифры 8 (по две дырки).

Есть другие варианты?
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 30.01.2022, 19:42   #8
lerupsen
 
Регистрация: 28.01.2022
Сообщений: 6
По умолчанию

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

Последний раз редактировалось lerupsen; 31.01.2022 в 09:37.
lerupsen вне форума Ответить с цитированием
Старый 31.01.2022, 10:20   #9
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Тут есть посты, в которых говорится о третьеклассниках, изучающих Python.
Видел интервью с одним из победителей в международных соревнованиях по информатике. Он сказал, что начал изучать программирование с 3-го класса.

Замечу, что, на мой не очень опытный взгляд, Python по своей простоте "душевной" (начальный уровень) не намного сложнее Basic, но очень сильно продвинутый.

Конечно же это не попытка сравнивать языки. Это попытка дать предложение, которое сегодня имеет перспективу.

Особенностью Python является то, что это объектно-ориентированный язык.
Упрощённо:
В Паскале и Си имена переменных - это бирки на ящичках, в которых хранятся данные.
В Python - это бирки на ящичках, в которых хранятся ссылки (адреса) на места, где хранятся данные.
Тут данные следует понимать в самом общем смысле: числовые и строковые типы, функции, объекты классов, ...

Basic убран из ЕГЭ и вместо него - Python.
Для робото-технических решений желателен Си, но ...

В моём понимании язык программирования не столь важен, как это может показаться. Это инструмент (лом, дрель, ...) позволяющий реализовать алгоритм.
Сам алгоритм можно писать на любом языке, например, на языке "дикарей" из Амазонии

PS: Не подумайте, что я агитирую за Python. Он сам умело это делает
Полагаю, что основную массу задач по информатике школьного уровня можно решать на этом языке.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 31.01.2022, 11:52   #10
lerupsen
 
Регистрация: 28.01.2022
Сообщений: 6
По умолчанию

ViktorR,
Благодарим за развернутый ответ.
Даст ли он (Phyton) базовое понимание с нуля взаимодействия человека с компьютером, вот в чем вопрос.
Сейчас все больше, как мне кажется, уже заточено под "блочное"или "библиотечное" (сорри не силен в терминологии) программирование, когда складываешь уже из готовых , откатанных годами решений пазл. в том виде какой он тебе нужен.

Например скретч дает им уже готовые объекты, для различных манипуляций.
При определенной сообразительности, можно самому и отрисовывать, зная графический редактор и совмещать это.
Но!!!
Понимание того, что картинка, по сути - это массив из точек определенного разрешения, каждая их которых задает цвет, которая может меняться в зависимости от целой кучи параметров и пр.
этого то не дают.
или это еще рано?
lerupsen вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ вывести на печать те числа, для которых выполняется неравенство ai ≤ i P1rit Помощь студентам 1 08.12.2018 10:42
Дана строка S0, целое число N (≤ 4) и N файлов целых чисел с именами S1, …, SN mm00 Помощь студентам 2 03.03.2014 22:36
Вычислить сумму квадратов чисел от 1 до N. N≤100 necromicus Помощь студентам 6 24.01.2014 13:50
Пользователь вводит действительные числа a, b, c,.d. Если а ≤ b ≤ c ≤ d, то каждое число заменить наибольшим из них. Vanya_11 Помощь студентам 0 25.05.2013 20:02
си, y-0.3y2/(y+1), y>1 z = cos y, |y|≤1, 0, y<-1 HoOpe Помощь студентам 4 26.03.2009 02:25