СПРОСИ ПРОФИ
👍
0
👎 08

Программа

Вывод результатов в виде таблицы. Запас картофеля на складе составляет Q т в начале октября. Ежеме­сячно для продажи изымается S т, а естественные ежемесячные потери полагаются равными р % текущего запаса. Найти, сколько картофеля остается на складе к концу октября, ноября, декабря, ..., июня.
Задание №2.
Модифицировать первую задачу, отразив в ней следующие измененные условия.
Естественная убыль в октябре составляет p %, а в каждый последующий месяц увеличивается по сравнению с предыдущим в 2 раза.
👍
0
👎 0
Макс, на чём программу пишете?
Можно пойти разными путями:
- Написать рекурсивную процедуру, которой Q подаётся как параметр. В теле процедуры делается перерасчёт Q (простой рекуррентной формулой) и вывод на консоль (или в файл) строки "месяц: Q". Для условия выхода из этой процедуры Вам понадобится переменная для месяцев.
- Если вы не любите рекурсию — обсчитывайте новый запас в цикле. В теле цикла, помимо рекуррентной формулы для расчёта запаса, будет вывод на консоль/в файл всё той же строки. Счётчиком цикла будут месяцы.

В задании 2 всё ровно то же самое, просто чуть-чуть изменится формула пересчёта Q.

Напишите здесь хотя бы попытку запрограммировать какой-нибудь из этих способов.
👍
0
👎 0
на языке паскаль
  #3   26 сен 2013 00:49   Ответить
👍
0
👎 0
Ну вот :) Хоть какой нибудь код напишите, чтобы обозначить — в чём конкретно Ваша сложность.
👍
0
👎 0
в общем просмотрите правильность программ
  #6   26 сен 2013 01:03   Ответить
👍
0
👎 0
var Q: integer;
S: integer;
P: integer;
NaKonecMes: array[0..9] of integer;
i: integer;
begin
NaKonecMes[0]:=Q
for i:=1 to 9
do begin
NaKonecMes:=NaKonecMes[i-1]-S-NaKonecMes[i-1]*P/100;
end;
end;

begin
NaKonecMes[0]:=Q
NaKonecMes[1]:=NaKonecMes[0]-S-NaKonecMes[0]*P/100
for i:=2 to 9
do begin
NaKonecMes:=NaKonecMes[i-1]-S-NaKonecMes[i-1]*P*2/100;
end;
end;

вот проверьте
  #4   26 сен 2013 00:49   Ответить
👍
0
👎 0
Ну да, в целом, идея верная, только:
1. В теле цикла делается присваивание NaKonecMes:= ...
2. Во второй задаче мало просто приписать коэффициент 2 к проценту p. Вам запас текущего месяца уже не нужен, он не участвует в расчётах по формулировке задачи. Т.е. нужно перед циклом рассчитать p от первого месяца (октября) и записать в какую-нибудь переменную:

var delta: integer:= Q*p/100;

А в теле цикла просто удваивать её:

NaKonecMes:=NaKonecMes[i-1]-S-delta*2/100;

Вывод на консоль/в файл для Вас, думаю, труда не составит.
👍
0
👎 0
Шикарно, попался на ту же ловушку :) [l] на форуме просто так не введёшь.

1 пункт читайте как: "в теле цикла делается присваивание NaKonecMes[l]:= ..."
👍
0
👎 0
Ну и конечно, во второй задаче delta нужно удваивать отдельно внутри цикла:

delta := delta*2;
NaKonecMes[l]:=NaKonecMes[i-1]-S-delta/100;

В варианте NaKonecMes[l]:=NaKonecMes[i-1]-S-delta*2/100 она же никак не меняется.

Задайте свой вопрос по программированию
профессионалам

Сейчас онлайн 75 репетиторов по программированию
Получите ответ профи быстро и бесплатно

Другие вопросы на эту тему:

👍
0
👎 09

Проверка корректности ввода C++   9 ответов

Подскажите, пожалуйста, как можно проверить три вещественных числа, введенных с клавиатуры, на то, являются ли они числами. То есть программа должна работать так: пользователь вводит три числа (a, b, c), если хотя бы одно из этих чисел будет являться не числом (строкой, буквой, пробелом, переходом на другую строку), в конце выводится сообщение об ошибке (например, «а» должно быть числом! «b» должно быть числом!), после чего программа либо закрывается (если введены корректные данные), либо запрашивает ввести числа заново. Заранее спасибо!

  02 окт 2021 16:45  
👍
0
👎 07

Visual BASIC   7 ответов

Пожалуйста, помогите решить задачу ((
Задание:
Задание для контрольной работы содержит задачу.

В задаче необходимо составить программу на алгоритмическом языке Visual BASIC.

Причем, программа должны быть записаны в двух вариантах: в первом варианте необходимо использовать оператор условного перехода
IF ...Go To, а во втором — оператор цикла For... To... Step, Next. Для облегчения решения задачи по ней даны Краткие методические…
  17 июн 2013 17:22  
ASK.PROFI.RU © 2020-2024