Программа на языке Паскаль:
{Free Pascal Compiler version 3.0.4+dfsg-23 [2019/11/25] for x86_64}
{Copyright (c) 1993-2017 by Florian Klaempfl and others}
{Target OS: Linux for x86-64}
program test;
var
X : array [1..5] of integer; {массив из 5 элементов}
i : integer; {Счётчик цикла}
d : integer; {Произведение положительных}
L : integer; {Количество отрицательных и нулей}
begin
{Ввести таб Х[1:5]}
write('Введите 5 чисел в массив Х: ');
for i := 1 to 5 do read(X[i]);
d := 1;
L := 0;
for i := 1 to 5 do
if (x[i] > 0) then
d := d * x[i]
else
L := L + 1;
{Вывести d, L}
writeln('Произведение d = ', d);
writeln('Количество отрицательных - ', L)
end.
Если нам надо хранить и положительные и отрицательные значения в 1 байте, то старший бит будет отведён под знак (+ или -) а на само число останется только 7 бит.
поэтому значения (х) которые можно записать в 7 бит со знаком будут в диапазоне
-128 ≤ x ≤ +127
16 (Dec) = 0001 000 (Bin)
32 (Dec) = 0010 0000 (Bin)
-25 (Dec) = 1110 0111 (Bin)
максимальное положительное значение 0111 1111 = +127
минимальное отрицательное значение 1000 0000 = -128
Вещественное число (дробное) выглядит как
234,56 = 23456 *
где
23456 – мантисса
-2 - знак порядка и порядок
Представление вещественных чисел в двух байтах будет в следующем виде
ABxx xMMM MMMM MMMM
A – знак числа (1 Бит)
B – знак порядка (1 Бит)
ххх – порядок (3 Бита) максимальное значение 111(Bin) = 7(Dec)
MMM MMMM MMMM - мантисса (11 бит) максимальное значение 111 1111 1111(Bin) = 2047(Dec)
1. С клавиатуры вводится N вещественных чисел (N задается пользователем). Определить, сумму минимального и максимального чисел.
arr = []
N = int(input())
for i in range(N):
n = float(input())
arr.append(n)
print(min(arr) + max(arr))
2. С клавиатуры вводится текст из заглавных латинских букв. Текст заканчивается точкой. Определить, сколько раз в этом тексте встречается буква "К".
st = input('Введите строку: ')
n = 0
for i in st:
if i == 'К':
n += 1
print('Буква "К" встречается в строке', n, 'раз')
3. Определить 40-е число Фибоначчи. Числа Фибоначчи формируются по следующему правилу: f1=f2=1; f3=f1=f2;...;fj=fj-2+fj-1
f1 = f2 = 1
N = 40 - 2
while N > 0:
N -= 1
f1, f2 = f2, f1+f2
print(f2)
Объяснение:
В первом использовал массив для поиска наибольшего и наименьшего числа.
Во 2-м задал, чтобы искалась русская заглавная буква "К".
В третьем сразу задано 40-е число Фибоначчи, можно заменить на N = int(input()). N = N - 2.