Под третьим поколением (3GL) первоначально понимались все языки более
высокого уровня, чем ассемблер. Главной отличительной чертой языков
третьего поколения стала независимость от аппаратного обеспечения,
то есть выражение алгоритма в форме, не зависящей от конкретных
характеристик машины, на которой он будет исполняться. Код, написанный
на языке третьего поколения, перед исполнением транслируется либо
непосредственно в машинные команды, либо в код на ассемблере и затем уже
ассемблируется. При компиляции, в отличие от предыдущих поколений, уже
нет соответствия один-к-одному между инструкциями программы и
генерируемым кодом.
Стала широко использоваться интерпретация
программ — при этом инструкции программы не преобразуются в машинный
код, а исполняются непосредственно одна за другой. Независимость от
«железа» достигается за счёт использования интерпретатора,
скомпилированного под конкретную аппаратную платформу. Одним из ранних
интерпретируемых языков стал Лисп.
363 в восьмеричной системе<em />
Передача данных (обмен данными, цифровая передача, цифровая связь) — физический перенос данных (цифрового битового потока) в виде сигналов от точки к точке или от точки к нескольким точкам средствами электросвязи по каналу передачи данных, как правило, для последующей обработки средствами вычислительной техники. Примерами подобных каналов могут служить медные провода, ВОЛС, беспроводные каналы передачи данных или запоминающее устройство.
Рассмотрим простейшую схему кредитования (и самую невыгодную для заёмщика), когда за каждый год отдается фиксированный процент p от первоначальной суммы кредита k без учета того, что часть кредита уже погашена за предыдущие годы.
В этом случае ежегодная сумма процентов по кредиту составит Sk=k×p%/100%.
За n лет будет отдано n×Sk. И еще нужно вернуть саму сумму кредита k.
Итого нужно вернуть k+n×Sk.
Доход за это время составит n×r и получаем неравенство
n×r ≥ n×Sk+k
n×(r-Sk) ≥ k → n ≥ k/(r-Sk) с округлением до целых в большую сторону.
<em>// PascalABC.NET 3.3, сборка 1583 от 25.11.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var (k,p):=ReadReal2('Сумма кредита и процент годовых:');
var r:=ReadReal('Предполагаемый годовой доход:');
var Sk:=k*p/100;
if r<=Sk then Writeln('Рассчитаться за кредит невозможно')
else Writeln('Количество лет на погашение кредита: ',Floor(k/(r-Sk)))
end.
<u>Пример</u>
Сумма кредита и процент годовых:10 0000 16
Предполагаемый годовой доход: 24000
Количество лет на погашение кредита: 12