Задача Money. Ярослав та Мирослава мають спільну колекцію з монет. Як символ своєї
дружби вони хочуть окремо зберігати таку пару монет, що в сумі номінальна вартість цих
двох монет дає особливе число . Підрахуйте кількість різних в вибрати потрібну
пару.
Технічні умови. Програма Money читає з пристрою стандартного введення натуральні
числа та , не менші за 2. У другому рядку - натуральних чисел — номінальні вартості
монет із колекції. Усі числа (включно з числами та ) не перевищують 200000. Програма
виводить на пристрій стандартного виведення єдине число — кількість в вибрати
дві монети з сумарною номінальною вартістю . Відомо, що шукана кількість не перевищує
109.
https://new.netoi.org.ua/index_ua.php?lng=ua&cid=2098
на pascal
FOR i = 1 TO 100
percents = FIX(x * p / 100) ' здесь у нас есть переменная percents, которой присваиваются округленные функцией fix проценты (насколько я знаю, в паскале аналогичная функция называется Round)
x = x + percents 'тут всё понятно - переменной X присваивается она сама и годовые проценты по вкладу
IF x >= y THEN 'проверяем, не равен или не превысил ли наш вклад ожидаемую сумму
PRINT i 'в цикле For можно не заморачиваться с отслеживанием лет, переменная i сама подсчитает количество итераций-лет
END 'завершаем программу
END IF
NEXT i ' конец цикла
Можно ещё чисто для себя добавить в условие вывод переменной X, чтобы было нагляднее.
DIM n AS INTEGER
INPUT "Введите кол-во студентов:", n
DIM studentYearsOld(1 TO n) AS INTEGER
DIM studentName(1 TO n) AS STRING
FOR i = 1 TO n
INPUT "Введите имя студента:", studentName(i)
INPUT "Введите год рождения студента:", studentYearsOld(i)
NEXT i
PRINT
FOR i = 1 TO n
PRINT "Студент "; studentName(i)
studentYrs = 2016 - studentYearsOld(i)
IF studentYrs < 18 THEN
PRINT "Лет до права голоса:"; 18 - studentYrs
ELSEIF studentYrs >= 18 THEN
PRINT "Студент уже имеет право голоса!"
PRINT
END IF
studentYrs = 0
NEXT i
Код валидный, если допустил ошибку во время переписывания - сообщите.