Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/64: Рейтинг темы: голосов - 64, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 22.01.2016
Сообщений: 12

Константы. Запись числа в виде 10*степень

23.01.2016, 16:25. Показов 13621. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать так, чтобы константы (например постоянное Авогадро) записывались как 10* степень? Дело в том, что в ответе при подсчёте записывается полное число (0.000...023), из-за этого не получается приравнять к целому числу.
Как получить в ответе число, например 42*10 в степени (-23)? Очень надо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.01.2016, 16:25
Ответы с готовыми решениями:

Задано число, представленное в виде строковой константы. Определить сумму цифр числа
Задано число, представленное в виде строковой константы.Определить, сумму цифр числа.

возведение числа в степень в виде процедуры

Вычислить выражение y=x^2+(x^3+5^6)/3). Оформить вычисление возведения числа в степень в виде процедуры
Вычислить выражение y=x^2+((x^3+5^6)/3). Оформить вычисление возведения числа в степень в виде процедуры. я бы написала помогите, но на...

12
318 / 208 / 162
Регистрация: 08.12.2015
Сообщений: 863
23.01.2016, 23:28
Пример кода есть? Как вы предлагаете угадать, почему у вас что то не получается?
Цитата Сообщение от KinimaToAss Посмотреть сообщение
42*10 в степени (-23)
- это real ,но не integer.
0
0 / 0 / 0
Регистрация: 22.01.2016
Сообщений: 12
24.01.2016, 09:14  [ТС]
Цитата Сообщение от capricornus CF Посмотреть сообщение
Пример кода есть? Как вы предлагаете угадать, почему у вас что то не получается? - это real ,но не integer.
Pascal
1
2
3
4
5
6
7
8
9
NA = 6*exp(ln(10)*23);
n: real;
  Nm: integer;
if x = 'Nm' then begin
    writeln('Чему равно количество вещества?');
    readln(n);
    Nm := Round(n*NA);
    write('Количество молекул равно' , ' ', Nm);
end;
В ответе получается всё число как есть (0.000...42) из-за этого целую часть не может выделить. Мне надо чтобы в ответе приравнивалось к целому числу и умноженное на 10*степень (как в физике).
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
24.01.2016, 09:50
Pascal
1
const NA=6.02214129E23;//число Авогадро
или если не нужно точно,то
Pascal
1
const NA=6E23;
0
0 / 0 / 0
Регистрация: 22.01.2016
Сообщений: 12
24.01.2016, 11:06  [ТС]
Неа, всё равно. Пишет: Ошибка времени выполнения: Значение было недопустимо малым или недопустимо большим для Int32.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
24.01.2016, 11:41
Цитата Сообщение от KinimaToAss Посмотреть сообщение
для Int32.
А числа больше maxint и не войдут.
Pascal
1
2
3
4
5
6
7
8
const NA = 6E23;
var n,nm: real;
begin
writeln('Чему равно количество вещества?');
readln(n);
Nm := n*NA;
write('Количество молекул равно ' ,Nm);
end.
0
0 / 0 / 0
Регистрация: 22.01.2016
Сообщений: 12
24.01.2016, 11:48  [ТС]
Всё получилось. Но после компиляции в exe после ввода данных сразу закрывается. readln; в конце стоит. Причём для некоторых работает, а для некоторых закрывается сразу
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
24.01.2016, 12:07
Нормальные люди пишут условие задачи, в каком Паскале они пишут и приводят код программы, а не то уродство что Вы выложили.
0
0 / 0 / 0
Регистрация: 22.01.2016
Сообщений: 12
24.01.2016, 12:29  [ТС]
Удален мат.

Добавлено через 5 минут
Извините, больше не буду. Было оскорбительно слышать про уродство, я здесь новичок и не знаю как правильно выкладывать код и оформлять красиво. У меня есть вопрос и я его задаю, дополнительные данные я могу скинуть.
0
Модератор
10448 / 5739 / 3407
Регистрация: 17.08.2012
Сообщений: 17,457
24.01.2016, 14:05
KinimaToAss, давно бы уже написали:

Выдаёт вот так: <как оно у Вас там выдаёт>
Надо вот так: <как хотелось бы>

И ещё напишите, чем Вас не устраивает стандартный вывод вещественных чисел в паскале, например:

Na = 6.0221408570000000E+0023
0
0 / 0 / 0
Регистрация: 22.01.2016
Сообщений: 12
24.01.2016, 14:12  [ТС]
Потому что Nm должна быть только целым. А integer к real нельзя преобразовать, поэтому пишу round к выражению (n*NA) чтобы выделял целую часть, но в ответе выводится полное число и пишет что число слишком большое или маленькое чтобы выделить целую часть. В физике принято не писать громосткое число а записать как число умноженное на 10*степень
0
Модератор
10448 / 5739 / 3407
Регистрация: 17.08.2012
Сообщений: 17,457
24.01.2016, 14:39
Лучший ответ Сообщение было отмечено KinimaToAss как решение

Решение

То есть, нужно вывести вместо

123456789012345678901234567890

например, вот это?

1.23456789012345678901234567890*10^29

Можно конечно... Только - с купюрами. Потому что стандартные типы данных паскаля ограничены.

максимальный диапазон целых чисел, "рекордсмены типов":

тип int64: -9223372036854775808..9223372036854775807 = -263..263-1
тип uint64: 0..18446744073709551616 = 0..264-1

Максимально ёмкий тип вещественных чисел extended может отобразить не более 20 десятичных разрядов в мантиссе, примерный диапазон модуля чисел: 3.4·10-4932..1.1·104932

Если Вам нужна бóльшая точность, Вам придётся производить Ваши вычисления с помощью длинной арифметики.

Насчёт ну очень больших целых чисел, в Pascal ABC.NET (но не в Pascal ABC) есть тип данных BigInteger.

Добавлено через 3 минуты
Да, и ещё.
Цитата Сообщение от KinimaToAss Посмотреть сообщение
В физике принято
И в паскале тоже так принято.

Паскалевская запись

Na = 6.0221408570000000E+0023

означает не что иное, как

Na = 6.022140857∙1023

если присмотреться.
2
0 / 0 / 0
Регистрация: 22.01.2016
Сообщений: 12
24.01.2016, 15:07  [ТС]
Ладно, я вас понял. Спасибо, все доходчиво объяснили, вы-лучший модер
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.01.2016, 15:07
Помогаю со студенческими работами здесь

Нормализованная форма записи числа представляет собой запись числа в виде
1)Нормализованная форма записи числа представляет собой запись числа в виде , если 1. 0,1  Мp &lt; 1 2. 1  Мp &lt; p ...

Запись числа в экспоненциальном виде
Подскажите, пожалуйста, как записывать в код значения таких чисел, как например 6.67384 × 10-11

QTextstream, запись числа в экспоненциальном виде
Как можно записывая числа, выбирать экспоненциальный вид?

Программа получает запись действительного числа в виде строки
Программа получает запись действительного числа в виде строки. Входная переменная, то есть, имеет тип данных String. Программа переводит...

Написать программу, переводящую числа в запись в виде системы исчисления Фибоначчи
Числа Фибоначчи определяются следующим образом. F1=1, F2=1, Fn=Fn-1+Fn-2. Любое целое положительное число может быть представлено как сумма...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru