Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 16.12.2011, 23:18   #1 (permalink)
Pyx
Member
 
Регистрация: 16.12.2011
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Post Подскажите, как сделать?

Создайте файл целых чисел, записав в него 15 последовательных чисел от 5 до 20. Вычислить сумму и произведение элементов.
вот я делала но..нужно чтобы результат выводился сразу на экран

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.
Pyx вне форума   Ответить с цитированием

Старый 16.12.2011, 23:18
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

На форуме часто создаются аналогичные темы, вот аналоги вашей

Подскажите, как сделать усилитель 2.1?
Подскажите, как сделать гитарный комбик?
Подскажите как сделать колонки для 5800 без подзарядки
Подскажите, как из этого сделать красивый корпус?
Подскажите что можно сделать c LCD из калькулятора ?

Старый 17.12.2011, 10:44   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 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.
Vladimir_S вне форума   Ответить с цитированием
Старый 17.12.2011, 17:59   #3 (permalink)
Pyx
Member
 
Регистрация: 16.12.2011
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию БОЛЬШОЕ СПАСИБО

Спасибо, все работает
Pyx вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 18:17.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.