Есть ответ 👍

Янаписал программу в pascal abc net: var a,x,n,y: integer; i,s,sum,b: real; begin n : = 7; sum : = 0.0; for y : = 1 to n do begin write(y, '-е число = '); readln(b); sum : = sum + b end; a: =sum; readln( a ); x: =a; s: =0; while ( x< > 0 ) do begin s : = s + (x mod 10); x : = x div 10; end; case round(a/s) of 1,5,7,9,11,13,15: writeln('выпадет: красное'); 2,4,6,8,10,12,14,16: writeln('выпадет: чёрное'); 3: writeln('выпадет: зелёное'); else writeln('выпадет: неизвестный цвет'); end; readln; end. при попытке запустить её, пишет: program1.pas(12) : нельзя преобразовать тип real к integer. как мне это исправить, чтобы прога нормально работала? ругается на строчку a: =sum; суть программы такова, что нужно человеку сначала ввести n чисел, после чего программа должна сложить данные числа и эту сумму поделить на сумму чисел в числе,которое получилось в первой сумме, когда человек вводил числа. формула: \frac{ sum_{1} }{sum_{2}} где sum1= сумму n чисел, которые ввёл человек sum2=сумму чисел в числе, получившееся в результате сложения чисел, вводимых человеком.

146
308
Посмотреть ответы 2

Ответы на вопрос:


Ну конечно он будет ругаться , у вас значению а с типом integer присваивается значение sum с вещественным типом, это недопустимо. можно исправить , либо сменить тип переменной а на real, либо сменить тип переменной sum на integer. ну или 3й вариант. переменная а будет вещественного типа, а sum- целого, так как только вещественным значениям могут присваиваться целые.
kolopok
4,8(17 оценок)

ответ: 21Объяснение:

Каким бы длинным решение не казалось - это не так, оно очень короткое, просто очень подробно расписано во всех деталях. Итак, что нам известно:

Команда 1: +1Команда 2: *2Начальное: 2Конечное: 34Проходит через: 10Не проходит через: 28

Траектория вычислений должна содержать число 10. Узнаем сколько таких есть различных путей:

2 +1 +1 +1 +1 +1 +1 +1 +1 = 102 *2 +1 +1 +1 +1 +1 +1 = 10(2 +1) *2 +1 +1 +1 +1 = 10(2 +1 +1) *2 +1 +1 = 10(2 *2) *2 +1 +1 = 10(2 +1 +1 +1) *2 = 10(2 *2 +1) *2 = 10

Как мы видим - 7. Так как мы узнали все возможные пути до 10, узнаем теперь пути от 10 до 34. Чтобы они не проходили через число 28, нам нужно "перескочить" его, то есть какое-то число, меньшее 28, мы должны умножить на 2 и получить какое-то число, большее 28. Получаем такое неравенство: 10≤x<28 и 28<2x≤34

(10≤x<28 и 28<2x≤34) => (10≤x<28 и 14<x≤17) => (14<x≤17).

Подыщем такие значения:

10 +1 +1 +1 +1 +1 = 1510 +1 +1 +1 +1 +1 +1 = 1610 +1 +1 +1 +1 +1 +1 +1 = 17

Как мы видим - их 3. Дальше рассмотрим каждый:

15 *2 +1 +1 +1 +1 = 3416 *2 +1 +1 = 3417 * 2 = 34

Выходит для каждого только 1 вариант ("15+1", "15+1+1", "16+1" будет иметь такой же путь, как и просто 16 и 17, поэтому их не рассматриваем).

Получается 7 путей от 2 до 10 и 3 пути от 10 до 34. Итого: 7*3 = 21.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS