Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/76: Рейтинг темы: голосов - 76, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 13
1

Подскажите как написать программу про округления числа

10.10.2012, 23:19. Показов 14612. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
надо округление таких чисел к примеру ( 24.47, 54.65 ... и т.д)
кто откликнется я объясню получше, прошу побыстей.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.10.2012, 23:19
Ответы с готовыми решениями:

Написать программу округления числа
Напишите программу, в которой с помощью round() округляется значение типа double. Для разложения...

подскажите как првильно написать программу про наследование классов
подскажите как првильно написать задачу про наследование классов вот надо написать задачу про...

написать программу про числа
Дано четирёх значные числа и найти число образуемое при перестановке первой и воторо, третей и...

написать функцию округления числа до 1000
попробовал так х/1000*1000, х+1000/1000, не помогает,как округлить число то?

9
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
10.10.2012, 23:27 2
NickPaskalNoob, сначала объясняй, потом будем искать, кто откликнется... а то ничего не понятно...
1
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 13
10.10.2012, 23:40  [ТС] 3
надо сомо тело задачи, т.е что бы задача округляла числа подобные этим 24.47 до 24 и 24.54 до 25
такого плана

Добавлено через 10 минут
КонецСвета, вы поможете с выполнением этой задачи?
0
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
10.10.2012, 23:56 4
если можно использовать стандартные функции и округлять только до целых, тогда так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses crt;
var n: real;
    v: char;
 
begin
repeat
write('Введите число: '); readln(n);
writeln(round(n));
writeln();
writeln('Повторить? (y/n)');
readln(v);
until v='n';
end.
если есть дополнительные условия, изложи =)
можно сделать так, чтобы округляла до сотых, например...
1
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 13
11.10.2012, 00:00  [ТС] 5
Так как я школьник)), и моему бы препаду не понравилось что у меня в проге есть функции которые мы воще не проходили)), есть ли еще одно решение к этой задачи?
0
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
11.10.2012, 00:01 6
NickPaskalNoob, функцию round - округление - изчают раньше других функций. Вы точно ее не проходили? Если не секрет, какой класс, какие темы изучаете, какой учебник?
Просто все остальные решения будут... жестче =)

Хотя... способ наверное, есть... после запятой может быть только 2 знака?

или убрать оператор цикла?..

как насчет этой =)
Pascal
1
2
3
4
5
6
7
var n: real;
 
begin
write('Введите число: '); readln(n);
writeln(round(n));
readln;
end.
1
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 13
11.10.2012, 00:09  [ТС] 7
Кстате я проверил вашу задачу через паскаль и она не идет, мне препад сказал что она легкая, и она связана с функциями div и mod , можно ли с помощью них сделать простенькую такую задачку?

Добавлено через 1 минуту
Цитата Сообщение от КонецСвета Посмотреть сообщение
NickPaskalNoob, функцию round - округление - изчают раньше других функций. Вы точно ее не проходили? Если не секрет, какой класс, какие темы изучаете, какой учебник?
Просто все остальные решения будут... жестче =)

Хотя... способ наверное, есть... после запятой может быть только 2 знака?
да только 2 знака должно быть)) 11 класс без учебника мы))) препад такой =)

Добавлено через 4 минуты
Цитата Сообщение от КонецСвета Посмотреть сообщение
NickPaskalNoob, функцию round - округление - изчают раньше других функций. Вы точно ее не проходили? Если не секрет, какой класс, какие темы изучаете, какой учебник?
Просто все остальные решения будут... жестче =)

Хотя... способ наверное, есть... после запятой может быть только 2 знака?

или убрать оператор цикла?..

как насчет этой =)
Pascal
1
2
3
4
5
6
7
var n: real;
 
begin
write('Введите число: '); readln(n);
writeln(round(n));
readln;
end.

я могу щас посмеяться)))), тут все класно, но он не округляет чего то 12.13 до 12))))) а то вдруг препад решит проверить))
0
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
11.10.2012, 00:10 8
NickPaskalNoob, какой компилятор вы используете? знакома ли вам функция trunc?

Добавлено через 45 секунд
а что неправильного в округлении
Цитата Сообщение от NickPaskalNoob Посмотреть сообщение
12.13 до 12
не до 13 же ему округляться...

проблема в том, что для округления через div и mod надо сначала "убить-таки" дробную часть... через trunc или round. В PascalABC.NET можно и по другому, поэтому и спрашиваю...

о! идея! а если запросить сразу целую часть числа, потом дробную, а потом через div и mod как следует округлить, а?..
да, и используете ли вы строки?.. если строки, тогда все довольно просто.

не могу дождаться ваших ответов, вот решение
1) если вы изучали строковые переменные
2) если число двузначное и не больше 2 знаков после запятой
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses crt;
var z,d,k: integer;
    s: string;
 
begin
write('Введите число: '); readln(s);
val(copy(s,1,2),z,k);
val(copy(s,4,2),d,k);
if (d<10) and (d>4) then z:=z+1 else
   if d div 10>4 then z:=z+1;
writeln(z);
readln;
end.
1
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 13
11.10.2012, 00:29  [ТС] 9
ну ты попробуй написать, я просмотрю на твое творение), строки наверное не проходили, мы и программированием не так уж много занимались...,он мне что то говорил про то что бы после , этих 2 числа можно через div и mod разложить или что то такого))

Добавлено через 3 минуты
Цитата Сообщение от КонецСвета Посмотреть сообщение
NickPaskalNoob, какой компилятор вы используете? знакома ли вам функция trunc?

Добавлено через 45 секунд
а что неправильного в округлении не до 13 же ему округляться...

проблема в том, что для округления через div и mod надо сначала "убить-таки" дробную часть... через trunc или round. В PascalABC.NET можно и по другому, поэтому и спрашиваю...

о! идея! а если запросить сразу целую часть числа, потом дробную, а потом через div и mod как следует округлить, а?..
да, и используете ли вы строки?.. если строки, тогда все довольно просто.

не могу дождаться ваших ответов, вот решение
1) если вы изучали строковые переменные
2) если число двузначное и не больше 2 знаков после запятой
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses crt;
var z,d,k: integer;
    s: string;
 
begin
write('Введите число: '); readln(s);
val(copy(s,1,2),z,k);
val(copy(s,4,2),d,k);
if (d<10) and (d>4) then z:=z+1 else
   if d div 10>4 then z:=z+1;
writeln(z);
readln;
end.
хорошая но она не отличается от той маленькой))), тоже саоме так что я буду придерживаться той простенькой, спасибо за такую проделанную работу) жду во френдах)
0
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
11.10.2012, 00:35 10
вот
1) вариант с целыми числами
Pascal
1
2
3
4
5
6
7
8
9
10
11
uses crt;
var z,d: integer;
begin
writeln('Введите число: ');
write('Целая часть числа='); readln(z);
write('Дробная часть числа='); readln(d);
if (d<10) and (d>4) then z:=z+1 else
   if d div 10>4 then z:=z+1;
writeln('результат округления=',z);
readln;
end.
2) вариант с дробными (trunc для обрезки)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
uses crt;
var r: real;
   z,d: integer;
begin
write('Введите число: '); readln(r);
z:=trunc(r*100);
d:=z mod 100; z:=z div 100;
if (d<10) and (d>4) then z:=z+1 else
   if d div 10>4 then z:=z+1;
writeln('результат округления=',z);
readln;
end.
больше мыслей нет..
1
11.10.2012, 00:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2012, 00:35
Помогаю со студенческими работами здесь

Написать одну команду (один оператор) округления заданного числа x до n-цифр после запятой
Записать одну команду(один оператор) округления заданного числа x до n-цифр после запятой

Как написать программу про улитку?
Каждый солнечный день улитка, сидящая на дереве, поднимается вверх на 2 см, а каждый пасмурный день...

Как написать программу-калькулятор чтобы было можно додавать 2 числа, 3 числа, 4 числа, n чисел?
Как написать программу-калькулятор чтобы было можно додавать 2 числа, 3 числа, 4 числа, n чисел?

Как создать округления для числа?
C# Windows Forms Есть число, например 0.23152355234 или 22.1234125324 как можно его округлить до N...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru