Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/75: Рейтинг темы: голосов - 75, средняя оценка - 4.51
0 / 0 / 0
Регистрация: 09.05.2009
Сообщений: 4

Преобразование integer в real

09.05.2009, 21:20. Показов 14077. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята есть элементарная задачка (надо для девушки моей решить, а я Паскаль уже не помню (:
"ввести одно число в показательной форме (с плавающей запятой) и вывести в форме целого числа, другое число ввести в форме целого, а вывести на экран в форме с плавающей запятой"
есть такой вариант у меня

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
uses CRT;
var a:real;
    b:integer;
begin
  ClrScr;
  writeln('vvedite Q v decatichnoj forme');
  readln(a);
  writeln('vvedite R v pokazatelnoj forme');
  readln(b);
  writeln;
  writeln('Resulyatu rabotu');
  writeln('Q v pokazatelnoj forme ',a);
  writeln('R v desytichnoi forme ',b)
   end.
но выдает ошибку. может есть какая функция чтобы integer в real конвертила, типа val для строк? заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.05.2009, 21:20
Ответы с готовыми решениями:

Нельзя преобразовать тип function(z: integer;w: integer;e: integer): real к real
program pract18; uses crt; var x,a,i,k:integer; y:real; function prm1 (z,w,e:integer):real; ...

Операция '+' не применима к типам function(I: integer;n: integer): real и real
Program Program2; Uses graphABC; Var t,b,z:real; function sum(I,n:integer):real; begin Var...

Нельзя преобразовать тип function(a: integer;b: integer):integer к real
unit matr1; interface type matr2=array of real; matr3=array of real; procedure sum...

7
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
09.05.2009, 21:54
А задача на какую тему? Удобно использовать строковый ввод и вывод.
0
0 / 0 / 0
Регистрация: 09.05.2009
Сообщений: 4
09.05.2009, 21:56  [ТС]
задача я так понимаю без всякой темы, просто задали в колледже, решить как угодно, у них даже предмета нет "программирования"... но лучше самым элементарным способом, для "чайников" в программировании, но буду рад любому совету...
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
09.05.2009, 22:01
Для целого можно так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses crt;
var a,b,k,s:integer;
begin
clrscr;
write('a=');
readln(a);
b:=a;
k:=0;s:=1;
while b>1 do
 begin
  b:=b div 10;
  k:=k+1;
  s:=s*10;
 end;
write('a=',a div s,'.',a mod s,'*10^',k);
readln
end.
0
0 / 0 / 0
Регистрация: 09.05.2009
Сообщений: 4
09.05.2009, 22:10  [ТС]
да, из целого в вещественное у меня тоже получается, а вот как наоборот сделать? никак не соображу... сижу читаю список функций, может там что-то есть подобное....
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
09.05.2009, 22:14
Кстати вот поправил, с учетом отрицательных.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses crt;
var a,b,k,s:longint;
begin
clrscr;
write('a=');
readln(a);
b:=abs(a);
k:=0;s:=1;
while b>10 do
 begin
  b:=b div 10;
  k:=k+1;
  s:=s*10;
 end;
if a>0 then write('a=',a div s,'.',a mod s,'*10^',k)
else write('a=',a div s,'.',abs(a) mod s,'*10^',k);
readln
end.
Добавлено через 53 секунды
да, из целого в вещественное у меня тоже получается,
А по Вашему коду этого не скажешь.
0
0 / 0 / 0
Регистрация: 09.05.2009
Сообщений: 4
09.05.2009, 22:19  [ТС]
когда мы задаем a:real, и вводим, например, "4600", читаем его readln(a);
и выводим writeln('Q v pokazatelnoj forme ',a); на экране получается "4.60000000Е+03, как раз то что нам надо...
что скажете?
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
09.05.2009, 22:57
Вот в этом и проблема с вещественными числами, мы не можем определть последнюю цифру, потому что в машинном представлении 1,2 не равно 1,2, а что-то вроде 0,120000000000000405Е+0000.
Поэтому предлагаю выриант со строками.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
uses crt;
const cf=['0'..'9','.','-'];{разделитель целой и дробной части-точка}
var a,c,d:string;
    i,k:byte;
begin
clrscr;
repeat
write('a=');
readln(a);
k:=0;
for i:=1 to length(a)do
if not (a[i]in cf) then
 begin
  k:=1;
  break;
 end;
until (pos('.',a)>1)and(k=0);
c:=copy(a,1,pos('.',a)-1);
d:=copy(a,pos('.',a)+1,255);
k:=length(a)-pos('.',a);
a:=c+d+'*10^-';
write('a=',a,k);
readln
end.
Добавлено через 1 минуту 27 секунд
с плавающей запятой)
Не знаю кто это задание давал, но вообще принято говорить числа с плавающей точкой, и по умолчанию, разделитель всегда точка.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.05.2009, 22:57
Помогаю со студенческими работами здесь

Нельзя преобразовать тип function(x: real): real к real
Ничего не понимаю, почему нельзя? Помогите пожалуйста найти ошибку в коде. uses CRT; type ...

Нельзя преобразовать тип function(x: real): real к real
Здравствуйте! Не могу написать формулу. Ошибка:Нельзя преобразовать тип function(x: real): real к...

Нельзя преобразовать тип function(x real) real к real
program Simpson; var x,a,b,h,s:real; n:integer; function Y(t:real):real; begin...

Нельзя преобразовать тип function(x: real): real к real
var g,s,s1,s2,fi,h:real; label k; begin write('Vvedite visotu'); readln(h);k: write('Vvedite...

Ошибка: Нельзя преобразовать тип function x real real к real
Здравствуйте, не могу понять как исправить ошибку (строка 32) var a,b,e,h,xi,fi,ln1,ln2:real;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru