Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2011, 13:11   #1
Goian
 
Регистрация: 14.06.2011
Сообщений: 4
Сообщение Олимпиада - арифметические операции с простыми дробями ...

С клавиатуры вводятся два обычных дроби (Числитель Знаменатель) и знак операции (+,-,*,/).
Напишите программу, которая будет определять и выводить на экран полученный результат в виде обычного не сократимые дроби.



_________
Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В дальнейшем темы с подобным названием будут закрываться/удаляться.

Модератор.

Последний раз редактировалось Serge_Bliznykov; 26.10.2011 в 13:49.
Goian вне форума Ответить с цитированием
Старый 26.10.2011, 13:19   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

что-то последнее время так много"олимпиадников" появилось...
извините за флуд
Вадим Мошев вне форума Ответить с цитированием
Старый 26.10.2011, 13:24   #3
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Сообщение от Goian Посмотреть сообщение
С клавиатуры вводятся две обычных дроби (Числитель Знаменатель) и знак операции (+,-,*,/).
Напишите программу, которая будет определять и выводить на экран полученный результат в виде обычной несократимой дроби.
В чём проблема?
Насколько большими числами могут быть числитель/знаменатель?
Abstraction вне форума Ответить с цитированием
Старый 26.10.2011, 13:35   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Это олимпиада по определению языка программирования?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 26.10.2011, 13:40   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Это олимпиада по определению языка программирования?
Порой, ЯП не важен, иногда даже бывают такие случаи, когда для решения задачи олимпиадной задачи не требуется никакой язык программирования, можно пользоваться, например, Exel'ем (я не про этот случай).
Вадим Мошев вне форума Ответить с цитированием
Старый 26.10.2011, 13:43   #6
Goian
 
Регистрация: 14.06.2011
Сообщений: 4
По умолчанию

Это задача для 11 класа. Требуется на Паскале решение.
Goian вне форума Ответить с цитированием
Старый 26.10.2011, 13:48   #7
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Сообщение от Goian Посмотреть сообщение
Это задача для 11 класа. Требуется на Паскале решение.
И?
Напишите пока словами алгоритм, как Вы его представляете.
Опять же: что известно про величины числителей/знаменателей?
Abstraction вне форума Ответить с цитированием
Старый 26.10.2011, 13:58   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Опять же: что известно про величины числителей/знаменателей?
коллега, позволю себе ответить.
я на 99.9% уверен, что речь идёт об ОБЫЧНЫХ стандартных типах данных Паскаля (то бишь или Integer или LongInt)

Goian, а вы с начальной школы помните, как сокращать дроби?
в программировании для поиска НОД удобно использовать алгоритм Евклида.
смотрите, например, тут
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.10.2011, 14:32   #9
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
коллега, позволю себе ответить.
я на 99.9% уверен, что речь идёт об ОБЫЧНЫХ стандартных типах данных Паскаля (то бишь или Integer или LongInt)
Тоже подводный камень. Потому как в промежуточных расчётах a/b+c/d возникает ad+bc, которое, вообще говоря, не влезет в (двойной размер a). Хотя в Delphi, кажется, есть какой-то длинный целый тип данных.
Abstraction вне форума Ответить с цитированием
Старый 26.10.2011, 15:33   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Тоже подводный камень. Потому как в промежуточных расчётах a/b+c/d возникает ad+bc, которое, вообще говоря, не влезет в (двойной размер a).
всё может быть.
но в таких случаях ограничения на используемые числа прописываются прямо в задании. в противном случае программист волен интерпретировать задачу так, как ему удобно.


Цитата:
Хотя в Delphi, кажется, есть какой-то длинный целый тип данных.
а при чём здесь Delphi ? Автор темы вроде бы в Паскаль надо решить?



Ну и ещё раз повторю.
я более чем уверен, что в данной задаче учитывать эти нюансы
(переполнение разрядной сетки в промежуточных вычислениях) не требуются!

ну и на крайний случай, в конце концов,
для промежуточных вычислений никто не мешает задействовать вещественный тип данных (например, extended: диапазон от 3.4e-4932 до 1.1e4932 (точность 19-20 десятичных знаков в мантиссе))

Последний раз редактировалось Serge_Bliznykov; 26.10.2011 в 15:35.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Арифметические операции на Фортране и Си Julila Помощь студентам 17 27.09.2011 15:04
Действия с простыми дробями Oda33 Помощь студентам 1 11.04.2011 19:03
Арифметические операции!!( исправить ) Jereme Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 23.01.2010 11:46
Арифметические операции Ассемблер BAV Помощь студентам 9 05.03.2008 00:21