1.Составьте программу выводящую значение вещественной переменной
x, равное значению выражения
x=a+b
a*b
где a и b – целочисленные переменные, их значение вводится с
клавиатуры.
2.Составьте программу, запрашивающую оценки за две контрольные
работы. Если их сумма не менее 8, то на экран вывести текст
«Молодец!», в противном случае – «Подтянись!»
Язык программирования PascalABC
Си++
#include <iostream>
using namespace std;
long f(long n) {
return 3*n*n+1;
}
int main(){
long k, i;
cin >> k;
i = 0;
while (f(i) < k) i++;
cout << i << endl;
}
В результате этой программы выведется число 5, т.е при i = 5 цикл завершается, но для i = 4 он был выполнен.
Значит, нам нужно рассматривать те значения k, которые лежат в промежутке f(4) < k ≤ f(5)
Согласно функции:
f(4) = 3 * 4 * 4 + 1 = 48 + 1 = 49
f(5) = 3 * 5 * 5 + 1 = 75 + 1 = 76
Значит, k может принимать следующие значения:
50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76 — 27 значений
(Р.S. k = 76 также учитывается, т.к. при этом i = 5 (поскольку 76 < 76 рассматривается как неверное утверждение))
ответ: 27
Объяснение:
program ArrayOf50;
const
ArraySize = 50; {Определяем размен массива}
var
x: array[1..ArraySize] of integer;
i, PosCount, NegCount : integer;
begin
PosCount :=0; NegCount :=0; {Устанавливаем счетчики пол. и отр. чисел}
for i:=1 to ArraySize do begin {Цикл ввода данных}
Write('Input ', i, '-th element of array: ');
ReadLn(x[i]);
end;
for i:=1 to ArraySize do begin {Цикл обработки данных}
if x[i] > 0 then PosCount := PosCount+1; {считаем положительные}
if x[i] < 0 then NegCount := NegCount+1; {считаем отрицательные, нули в расчет не берутся!}
end;
Writeln('There are ', PosCount, ' positive numbers.');
Writeln('This is ', PosCount - NegCount, ' more than negatives');
end.