IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Литерный ввод
JOKER
сообщение 15.09.2005 15:26
Сообщение #1


Гость






Задали нам такую задачку "Используя только литерный ввод, ввести вещественное число, записаное в виде: d.ddE-d,
и присвоить его вещественной переменной У"
ответ нужен до завтра мне в обед уходить ответьти плиз желательно исходником и пояснениями я в долгу не останусь пиво обещаю поставить первому давшему конструктивный ответ но не пойже чем завтра до абеда (к сведению время +5 от гринвича)
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 3)
virt
сообщение 15.09.2005 15:59
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


Код
var ch : char;
   r : real;
   i : integer;
......................
read(ch);
  r := ord(ch) - ord('0');
read(ch);
read(ch);
  r := r * 10 + ord(ch) - ord('0');
read(ch);
  r := r * 10 + ord(ch) - ord('0');
  r := r / 100;
read(ch);
read(ch);
readln(ch);
  i := ord(ch) - ord('0');
  while i > 0 do
     begin
        r := r / 10;
        i := i - 1;
     end;
writeln(r:0:11);


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
kent
сообщение 15.09.2005 16:11
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Андрей

Репутация: -  1  +


Другой вариант:

uses Crt;
var lit : Char;
    y : Real;
    S : String;
    code,count : Integer;
    point : Integer;
begin
     Clrscr;
     S := '';
     count := 0;
     point := 0;
     repeat
       Write('Введите символ:');
       ReadLn(lit);
       if not (lit in ['0'..'9','.','-','+','E']) then begin
         WriteLn('Error');
         Halt;
       end;
       if (lit = '.') then
         inc(point);
       S := S + lit;
       if (point = 1) then
       if (lit = '-') or (lit = '+') then
         inc(count)
       else if (count > 0) then
         inc(count);
     until count = 5;
     Val(S,y,code);
     WriteLn('Полученное число: ',y);
     ReadKey;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Joker
сообщение 16.09.2005 6:28
Сообщение #4


Гость






большое спасибо как теперь с вами связаться надо же всё таки пиво поставить за помощь putnik-13#@narod.ru(please remove # and sand me письма) :thanks: :flowers: :yes: :low: ;)
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 24.07.2025 15:47
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"