Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
3 / 3 / 2
Регистрация: 15.10.2014
Сообщений: 84
1

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

18.10.2014, 19:17. Просмотров 1754. Ответов 7
Метки нет (Все метки)

Имеется N кг металлического сплава.Из него изготавливают заготовки массой K кг каждая.Поле этого из каждой заготовки вытачиваются детали массой M кг каждая(из каждой заготовки вытачивают максимально возможное количество деталей).Если от заготовок после этого что-то остается,то этот материал возвращают к началу производственного цикла и сплавляют с тем,что осталось при заготовлении заготовок.Если того сплава,который получился,достаточно для изготовления хотя бы одной заготовки,то из него снова изготавливают заготовки,из них-детали и т.д.
Напишите программу,которая вычислит,какое количество деталей может быть получено по этой технологии из имеющихся исходно N кг сплава.

Входные данные
Вводятся N,K,M.Все числа натуральные и не превосходят 200.

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

ПРИМЕР
Z_2.in
10 5 2
13 5 3
14 5 3
13 9 4

Z_2.out
4
3
4
2

У меня в выходных данных последнее число выводится не 2, а 4
Помогите найти ошибку в коде
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim N As Integer                      'масса металлического сплава в кг '
Dim K As Integer                      'масса заготовок в кг '
Dim M As Integer                      'масса деталей в кг '
Dim kolz As Integer                   'количество заготовок '
Dim koldet As Integer                'количество деталей '
Dim ost As integer                     'остаток от заготовок '
Private Sub Command1_Click()
ost = 0
Open "c:\111\Z_2.in" For Input As #1
Open "c:\111\Z_2.out" For Output As #2
Do While Not EOF(1)
  Input #1, N, K, M
  kolz = (ost + N) \ K
  koldet = kolz * (K \ M)
  ost = kolz * (K Mod M)
Write #2, koldet
Loop
Close #1
Close #2
End Sub
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2014, 19:17
Ответы с готовыми решениями:

Выведите одно целое число — максимальное число, которое могло получиться в протоколе при игре на данном поле
У Пети имеется игровое поле размером 3×3 , заполненное числами от 1 до 9. В начале игры он может...

Выведите одно целое число — максимальное число, которое могло получиться в протоколе при игре на данном поле
У пети имеется игровое поле размером 3х3, заполненное числами от 1 до 9. В начале игры он может...

Вычислить количество деталей которое может быть получено по указанной технологии
Детали Имеется n кг металлического сплава. Из него изготавливают заготовки массой k кг каждая....

Выведите одно число - количество шоколадок, которые может купить Степан
Шоколадка Степан решил угостить одноклассников шоколадками. Шоколадка стоила N грн. С первого...

7
es geht mir gut
11208 / 4686 / 1177
Регистрация: 27.07.2011
Сообщений: 11,422
18.10.2014, 20:12 2
Цитата Сообщение от vasy7991 Посмотреть сообщение
последнее число выводится не 2, а 4
4 и должно быть, все у Вас правильно
1
es geht mir gut
11208 / 4686 / 1177
Регистрация: 27.07.2011
Сообщений: 11,422
18.10.2014, 20:34 3
Выведите одно число-количество деталей, которое может получиться по заданной технологии
1
3 / 3 / 2
Регистрация: 15.10.2014
Сообщений: 84
18.10.2014, 22:09  [ТС] 4
значит опечатка в задании?

Добавлено через 3 минуты
Тогда у меня другой вопрос! Как сделать свой тип данных? например от -200 до 303
0
es geht mir gut
11208 / 4686 / 1177
Регистрация: 27.07.2011
Сообщений: 11,422
18.10.2014, 22:11 5
Возможно в задании, а возможно вы неправильно переписали. Посмотрите внимательнее.

Добавлено через 59 секунд
Цитата Сообщение от vasy7991 Посмотреть сообщение
Тогда у меня другой вопрос!
Один вопрос = одна тема.
0
3 / 3 / 2
Регистрация: 15.10.2014
Сообщений: 84
18.10.2014, 22:14  [ТС] 6
всё переписал как в задании

Добавлено через 50 секунд
понял

Благодарю за ответ!!!

Добавлено через 1 минуту
но лучший ответ пока не поставлю, так как может у кого нибудь получиться как в задании?
Ещё раз благодарю за ответ
0
es geht mir gut
11208 / 4686 / 1177
Регистрация: 27.07.2011
Сообщений: 11,422
18.10.2014, 23:04 7
Лучший ответ Сообщение было отмечено vasy7991 как решение

Решение

vasy7991, Вы неправильно поняли задание и неправильно решили его.
Строки входного файла - это 4 независимых строки.
Вот вариант решения
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private Sub Command1_Click()
Dim N As Integer                      'масса металлического сплава в кг '
Dim K As Integer                      'масса заготовок в кг '
Dim M As Integer                      'масса деталей в кг '
Dim kolz As Integer                   'количество заготовок '
Dim koldet As Integer                'количество деталей '
Dim ost As Integer                   'остаток от заготовок '
Dim total As Integer
   Open "c:\111\Z_2.in" For Input As #1
     Open "c:\111\Z_2.out" For Output As #2
         Do While Not EOF(1)
               total = 0
               Input #1, N, K, M
                    Do
                       kolz = N \ K
                       koldet = kolz * (K \ M)
                       N = N - koldet * M
                       total = total + koldet
                    Loop Until N < K
               Write #2, total
         Loop
      Close #1
    Close #2
End Sub
1
3 / 3 / 2
Регистрация: 15.10.2014
Сообщений: 84
19.10.2014, 15:21  [ТС] 8
Можете написать программу с комментариями, так как не понятны некоторые моменты?

N = N - koldet * M это строчка находит остаток от заготовок и суммирует к следующему N?

total это количество деталей или нет?

И почему выводится total, ведь количество деталей находит строчка koldet = kolz * (K \ M) ?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2014, 15:21

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Гость из прошлого. Выведите одно целое число — максимальное количество литров кефира, которое сможет выпить Коля
Коля Герасимов очень любит кефир, и в своём 1984 году он освоил все тонкости покупки этого...

Определить минимальное число, которое может получиться в результате работы калькулятора
В качестве домашнего задания по информатике ученикам предложено разработать специальный...

Найти максимальное число, которое может получиться в результате удаления ровно одной двоичной цифры
Помогите решить задачу: У Маленького Слоника есть целое число a, записанное в двоичной системе...

Во входном файле записано целое число .В выходной файл выведите одно число – количество кругляшей в числе N
Однажды в просторах рунета появился следующий ребус: 157892 = 3 203516 = 2 ...

В выходной файл выведите одно целое число – минимальное количество банок краски, необходимых для покраски
Здравствуйте, белые рыцари программирования. Сегодня вопрос по задаче. Она очень легкая, но у меня...

Выведите одно число – количество дорог на планете "Neptune"
В галактике &quot;Milky Way&quot; на планете &quot;Neptune&quot; есть N городов, некоторые из которых соединены...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.