Вопрос задан 25.08.2018 в 09:21. Предмет Информатика. Спрашивает Заграничный Ярик.

Татьяна Ларина,читала очередной французский роман, подсчитала сумму номеров прочитанных страниц.

Обозначим эту сумму Q. Написать программу, определяющую номер страницы. (PascalABCNET)
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Макагонов Даниил.
Var q,i,s:integer;
begin
readln(q);
s:=0;
i:=0;
while s<q do
 begin
 i:=i+1;
 s:=s+i;
 end;
if s=q then writeln('Страница = ',i+1)
else writeln('Ошибка ввода');
end.

Пример:
5
Страница = 6
0 0
Отвечает Калашников Михаил.
Сумма страниц q = 1+2+3+4+...+n.
Это арифметическая прогрессия, формула суммы которой известна из математики.
\displaystyle S= \frac{2a_1+d(n-1)}{2}\cdot n; \quad a_1=d=1\to S= \frac{n(n+1)}{2} ; \\ \\&#10;n^2+n-2S=0; \quad D=1+8S; \quad \sqrt D=\sqrt{1+8S} \\ \\&#10;n= \frac{-1\pm \sqrt{1+8S}}{2}= \frac{\sqrt{1+8S}-1}{2}

// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var q:=ReadInteger('q=');
  Writeln('n = ',(Sqrt(1+8*q)-1)/2:0)
end.

Пример
q= 55
n = 10
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

Вот пример программы, которая решает данную задачу:

```pascal program PageNumber;

var Q, pageNumber, sum: integer;

begin // Введите сумму номеров прочитанных страниц write('Введите сумму номеров прочитанных страниц (Q): '); readln(Q);

sum := 0; pageNumber := 1;

while sum < Q do begin sum := sum + pageNumber; pageNumber := pageNumber + 1; end;

// Выводим номер страницы writeln('Номер страницы: ', pageNumber - 1); end. ```

В этой программе мы считываем сумму номеров прочитанных страниц (Q) с помощью функции `readln`. Затем мы инициализируем переменные `sum` и `pageNumber` со значениями 0 и 1 соответственно.

Затем мы используем цикл `while`, чтобы увеличивать `sum` на значение `pageNumber` и увеличивать `pageNumber` на 1 до тех пор, пока `sum` не станет больше или равно `Q`.

Наконец, мы выводим номер страницы, который равен `pageNumber - 1`, так как в конце цикла `while` `pageNumber` будет на 1 больше, чем нужно.

Вы можете запустить эту программу в среде разработки PascalABC.NET или воспользоваться онлайн-компилятором PascalABC.NET для проверки ее работы.

Примечание: Убедитесь, что вводимая сумма номеров прочитанных страниц (Q) является корректным числом и не превышает общего количества страниц в романе.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос