16.12.2011, 23:18 | #1 (permalink) |
Member
Регистрация: 16.12.2011
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Подскажите, как сделать?
вот я делала но..нужно чтобы результат выводился сразу на экран program Project2; {$APPTYPE CONSOLE} uses SysUtils; const n=15; var chuslo,sum, dob,i: integer; intfile: file of integer; begin assign (intfile, 'chusla'); rewrite (intfile); writeln (' Vvedit chusla vid 5 do 20: '); for i:=1 to n do begin write(' '); readln (chuslo); write (intfile, chuslo); end; close (intfile); reset (intfile); sum:=0; dob:=1; while not eof (intfile) do begin read (intfile,chuslo); sum:=sum+chuslo; dob:=dob*chuslo; end; close (intfile); writeln (' sum=' ,sum,' dob=',dob); readln end. |
16.12.2011, 23:18 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
На форуме часто создаются аналогичные темы, вот аналоги вашей Подскажите, как сделать усилитель 2.1? Подскажите, как сделать гитарный комбик? Подскажите как сделать колонки для 5800 без подзарядки Подскажите, как из этого сделать красивый корпус? Подскажите что можно сделать c LCD из калькулятора ? |
17.12.2011, 10:44 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Тут есть одна тонкость. Произведение (dob) этих чисел (кстати, в промежутке от 5 до 20 их 16, а не 15) далеко выходит за рамки целочисленных форматов, а потому его надлежит объявить вещественным (real).
Вот вариант, где это исправлено, а также я решил, что уж если вводятся последовательные натуральные числа, то вовсе ни к чему делать это вручную. Код:
program Project2; {$APPTYPE CONSOLE} uses SysUtils; const Nmin=5; Nmax=20; var chuslo,sum,i: integer; dob:Real; intfile: file of integer; begin assign (intfile, 'chusla'); rewrite (intfile); for i:=Nmin to Nmax do write (intfile, i); close (intfile); reset (intfile); sum:=0; dob:=1; while not eof (intfile) do begin read (intfile,chuslo); sum:=sum+chuslo; dob:=dob*chuslo; end; close (intfile); writeln (' sum=' ,sum,' dob=',dob:0:0); readln end. |
17.12.2011, 17:59 | #3 (permalink) |
Member
Регистрация: 16.12.2011
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
БОЛЬШОЕ СПАСИБО
Спасибо, все работает
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|