В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История

Получить внутреннее представление вещественных чисел 21,75 в формате чисел с плавающей запятой в 2-х байтовой янейче

Показать ответ
Ответ:
Twister04
Twister04
09.10.2020 18:51

Мне понравилась задачка, как мне кажется, наиболее изящное решение через рекурсивную функцию

Пусть А(Размер) - массив, в котором хранится исходная цепочка. Тогда основная процедура будет иметь вид

//

Процедура Сформировать()
ТХТ=""+А(1);
Для ц=2 по Размер Цикл
      След=Следующий(А(ц-1)+А(ц));
      ТХТ=ТХТ+";"+След;
КонецЦикла;
Сообщить(ТХТ);
КонецПроцедуры

 

Вот и всё! Осталось написать процедуру-функцию Следующий

У меня она рекурсивная

//

Функция Следующий(тЧ)
Если тЧ<10 Тогда
    Возврат(тЧ);
Иначе 
    Д=Цел(тЧ/10);
     Е=тЧ-Д*10;
     Возврат(Следующий(Д+Е));
КонецЕсли;
КонецФункции

 

Вот теперь совсем всё.

При подстановке цепочки 1;7;5;2;6 программа выдала 1;8;3;7;8 то есть чаще встречается 8.

 

Замечание1 Можешь написать и не рекурсивную, это просто, НО рекурсия красивей(как мне кажется), да и просто делать дальнейшие модификации задачи(например для исходных многозначных чисел).

Замечание2 Я, по сути дела, "вручную" находил десятки и единицы, если в языке, которым ты владеешь, есть функции типа, "остаток от деления", можешь их использовать 

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

Успехов!

 

 

Кстати, вот что у меня получилось(не адаптированный текст), если исходная цепочка может содержать любые неотрицательные целые числа, а на выходе - сумма цифр первого, ну и Сумма цифр предыдущего с текущим. Как видишь, практически тот же текст, но более общий.

 

Функция Следующий(тЧ)
Если тЧ<10 Тогда
   Возврат(тЧ);
Иначе
   сТЧ=Строка(тЧ);
   чч=0;
   Для цц=1 по СтрДлина(сТЧ) Цикл
      чч=чч+Число(Сред(сТЧ,цц,1));
   КонецЦикла;

   Возврат(Следующий(чч));
КонецЕсли;
КонецФункции

//
Процедура Сформировать()
ТХТ=""+Следующий(Цепь.ПолучитьЗначение(1));
Для ц=2 по Цепь.РазмерСписка() Цикл
   След=Следующий(Цепь.ПолучитьЗначение(ц-1)+Цепь.ПолучитьЗначение(ц));
   ТХТ=ТХТ+";"+След;
КонецЦикла;
Сообщить(ТХТ);
КонецПроцедуры

 

 

0,0(0 оценок)
Ответ:
zhuckovanatali1
zhuckovanatali1
10.05.2020 04:43

А1. 3) устройство вывода предназначено для передачи информации от компьютера пользователю;

А2. 2) D:\SCHOOL\PHYSICS ( в каталоге PHYSICS создан подкаталог 10_CLASS, а потом туда перетащили файл)

А3. 4) 48 байт. (тк 48 символов в высказывании умножить на 1 байт получится 48 байт)

А4. 2) ADD - первая гласная А, вторая согласная (раз первая гласная), третья  -буква, которая не стоит на 1 месте.

В3. Для кодирования всех слов требуется 4 бита (N = 2^i , где N - количество слов Эллочки, i - количество бит, нужное для кодирования всех слов)

В4. 

1) 225 Кбайт = 230400 байт = 1843200 бит - всго нужно передать

2) 1843200 бит / 14 400 бит/с = 128 секунд нужно модему, чтобы передать сообщение.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота