Страница 1 из 1

Помогите, добрые люди!!!!

Добавлено: 21 май 2007, 10:50
Маришка
в чмсиловую переменную вводится отличное от нуля вешественное число в десятичной системе счисления. необходимо вывести на экран значения сумм цифр его целой и дробной части. предусмотреть проверку правильности ввода информации

Re: Помогите, добрые люди!!!!

Добавлено: 21 май 2007, 11:05
Хыиуду
str(x,s);
cel=true;
for i:=1 to length(s) do
begin
if s='.' then cel:=false
else
if cel then summa_celih:=summa_celih+ord(s)-ord('0')
else summa_drobnih:=summa_drobnyh+ord(s)-ord('0');
end;

Re: Помогите, добрые люди!!!!

Добавлено: 21 май 2007, 23:52
Ramzey
можно и так

Код: Выделить всё

var
  s      : string;
  chislo : real;
  code   : integer;
BEGIN
  readln(s);
  val(s, chislo, code);
  if code<>0 then
    writeln('nevernoe chislo')
  else
    writeln('celaia chast: ',copy(s,1,pos('.',s)-1),#13#10,
            'drobnaia chast: ',copy(s,pos('.',s)+1,length(s)))
END.

Re: Помогите, добрые люди!!!!

Добавлено: 22 май 2007, 10:45
Хыиуду
там требовалась именно сумма цифр целой и дробной части, а не сама по себе целая и дробная

Re: Помогите, добрые люди!!!!

Добавлено: 22 май 2007, 16:34
Сумрачная
Может кто ещё подскажет,хоть что-нибудь.
Буду благодарна до конца жизни :rolleyes:

1. Известно, что a mod b не равен нулю. Какое число нужно добавить к переменной а, чтобы она стала кратной b.

2.Определить, какую задачу решает предложенный фрагмент программы. Здесь n – натуральное число.
s:= 0;
i:=n;
while i>0 do
begin s:=s+i;
i:=i-1;
end.

3.. Определить, чему равен Y:
y:=0; i:=0;
while i:<5 do i:=i+1;
y:=y+1/i;

4.. Определить, чему равен Z:
z:=0; i:=1;
repeat z:=z+1/i; i:=i-1 until i<=1;

5.Определить, в чем сходство следующих записей: 101; 10,1; ‘101’

6.Определить, в чем отличие следующих записей: 101; 10,1; ‘101’

И ещё у меня один вопросик.Вот в прошлой помощи,мне написали,что чтобы узнать,что выводиться на печать в результате программы,надо просто эту прогу ввести и посмотреть.

Вы уж извините неграмотную школьницу,но где вообще вводить?Я рыла,рыла,так и ничего не нарыла.Куда вообще идти?

Re: Помогите, добрые люди!!!!

Добавлено: 22 май 2007, 16:39
somewhere
&quot писал(а):1. Известно, что a mod b не равен нулю. Какое число нужно добавить к переменной а, чтобы она стала кратной b.
b - (a mod b)
&quot писал(а):2.Определить, какую задачу решает предложенный фрагмент программы. Здесь n – натуральное число.
Cумма целых чисел от 1 до N
&quot писал(а):3.. Определить, чему равен Y:
1/5
&quot писал(а):4.. Определить, чему равен Z:
1

Re: Помогите, добрые люди!!!!

Добавлено: 22 май 2007, 18:10
Хыиуду
5. В цифрах :)
6. В типах (целое, дробное, строка)
<без номера> Ой, мама, как же у вас там программированию учат? На пальцах?

В общем, есть такой язык программирования - Паскаль. Большинство тех, кто на нем программируют, пользуются средой программирования Borland Pascal или чуть более старой Turbo Pascal. Скачиваем любой из них и запускаем исполняемый файл - соответственно bp.exe или turbo.exe. Видим на экране текстовый редактор, вбиваем в него текст программы, нажимаем Ctrl+F9 - программа выполняется. Потом нажимаем Alt+F5 - смотрим результат

Re: Помогите, добрые люди!!!!

Добавлено: 23 май 2007, 15:16
Сумрачная
огромное человеское вам спасибо люди добрые.
благодаря вам у меня появилась надежда на сдачу сессии.

Re: Помогите, добрые люди!!!!

Добавлено: 23 май 2007, 18:13
Сумрачная
Все сделала,как было сказано ранее.Установила программу.Теперь вот долблю её.

Только у меня не получается все равно.Все какие-то ошибки показывает.
то 42,то 85.
Пыталась узнато,что выводиться на печать отсюда:


var b,k,x,z: integer;
begin
k:=2;
for x:=1 to 3 do
begin
for z:=4 downto 1 do
begin
b:=k+z;
k:=k+x-b;
end;
end;
writeln(‚k=’,k);
end.
Не идет и все.Что не так я делаю?

Re: Помогите, добрые люди!!!!

Добавлено: 24 май 2007, 09:59
BBB
Сумрачная писал(а):

Код: Выделить всё

	writeln(‚k=’,k);
Если переписано правильо, то тут синтаксическая ошибка, вместо кавычки появилась запятая. Правильно:

Код: Выделить всё

	writeln('k=’,k);

А тут,вроде как, выражение можно упростить:

Код: Выделить всё

			begin
				b:=k+z;
				k:=k+x-b;
			end;
Подставляя первое выражение в левую часть второго, получим:
k = k+x-b = k+x-(k+z) = x - z
т.е.:

Код: Выделить всё

			begin
				k:=x-z;
			end;