В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
milanaegorova90
milanaegorova90
15.02.2022 06:39 •  Информатика

Как мне сделать так, чтобы можно было в proc3 и proc 4 узнать ввёл пользователь данные или нет. Если данные не введены, то вывести "введите данные".
program k3;
uses crt;
var n:byte; s,d:real; a,b:real; m:smallint;

procedure proc1 (var a:real; b:real);
begin
writeln ('vvedite nizhnuu graniczu intervala');
readln (a);
writeln ('vvedite verhnuu graniczu intervala');
readln (b);
end;

procedure proc2 (var m:smallint);
begin
writeln ('vvidite chislo razbienii');
readln (m);
end;

procedure proc3 (var s:real);
var i:integer; h,x:real;
begin
writeln ('vi ne vveli granicy intervala i chislo razbienii');
proc1 (a,b);
proc2 (m);
h:=(b-a)/m;
x:=a+h/2;
for i:=1 to m do
begin
s:=s+(2*x*x*x+(-2)*x*x+3*x-11);
x:=x+h;
end;
s:=s*h;
writeln ('s= ',s);
readln ();
end;

procedure proc4 (var d:real);
var p:real;
begin
proc3 (s);
p:=(2*((b*b*b*b)/4)+(-2)*((b*b*b)/3)+3*(b*b)/2-11*b)-(2*((a*a*a*a)/4)+(-2)*((a*a*a)/3)+3*(a*a)/2-11*a);
d:=(p-s)/p;
writeln ('d= ',d);
readln ();
end;

begin
repeat
clrscr;
writeln ('granicy intervala - 1');
writeln ('chislo razbienii - 2');
writeln ('integeral - 3');
writeln ('pogreshnost - 4');
writeln ('exit - 0');
write ('select program: ');
readln (n);
case n of
1:proc1 (a,b);
2:proc2 (m);
3:proc3 (s);
4:proc4 (d);
end;
until n=0;
readln (); end.​

Показать ответ
Ответ:
Aann1
Aann1
28.09.2020 14:19
Вот задача для "троечников" с дополнительной оценкой:

program pr1;
uses
crt;

const
arr1 : array[1..12] of integer = (5, 4, -3, 1, 0, -4, 0, 25, -8, 0, -17, -1);

type
arr2 = array of integer;

var
arr : arr2;
n : integer;
i, sot, spl, snu : byte;
ch : char;

begin
write('Хотите использовать заданный по умолчанию массив? (y/n): ');
ch := readkey;
writeln(ch);
sot := 0;
spl := 0;
snu := 0;
if ((ch='y') or (ch='Y')) then begin
{ Используем заданный по умолчанию }
for i:=1 to 12 do begin
if arr1[i] > 0 then inc(spl);
if arr1[i] < 0 then inc(sot);
if arr1[i] = 0 then inc(snu);
write(arr1[i], ' ');
end;
writeln;
end
else begin
{ Создаём и заполняем новый массив }
write('Введите желаемый размер массива: ');
readln(n);
setLength(arr, n);
writeln('Введите элементы массива:');
for i:=0 to high(arr) do
readln(arr[i]);
for i:=0 to high(arr) do begin
if arr[i]>0 then inc(spl);
if arr[i]<0 then inc(sot);
if arr[i]=0 then inc(snu);
write(arr[i], ' ');
end;
writeln;
end;

writeln('Количество отрицательных элементов: ', sot);
writeln('Количество нулевых элементов: ', snu);
writeln('Количество положительных элементов: ', spl);
end.
0,0(0 оценок)
Ответ:
Andrey0116
Andrey0116
05.08.2022 10:22

Сколько чисел можно записать с битов

Уже описано, как получать двоичный код любого десятичного числа, т.е. переводить его из десятичной системы в двоичную. Рассмотрим теперь обратное действие: перевод числа из двоичной системы счисления в десятичную.

Итак, требуется найти десятичное число по известному двоичному коду этого числа. Воспользуемся представлением вида (2). Коэффициенты аn, an-l ,···,a1, a0 известны. Значит, нужно вычислить значение выражения (2). Рассмотрим примеры. Пусть задан двоичный код 11012. Самый левый — старший бит — имеет номер 3. Следовательно, первое слагаемое равно 1·23. Следующий бит имеет

номер 2. Второе слагаемое равно 1·22. Третье слагаемое равно 0·21 четвертое слагаемое равно 1·20. Искомое число есть сумма четырех слагаемых: 1·23+1·22+0·21+1·20=8+4+1=13. Таким образом, 11012=13.

Пусть задан двоичный код 11010112. Число, имеющее такой двоичный код, равно сумме 1·26+1·25+0·24+1·23+0·22+1·21+1·20=64+32+8+2+1=107.

Следовательно, 11010112=107.

В десятичной системе следующее число получается из предыдущего путем прибавления единицы к количеству единиц предыдущего числа.

То же самое происходит при получении двоичного кода следующего числа из двоичного кода предыдущего: к младшему разряду двоичного кода предыдущего числа прибавляется единица.

Правило выполнения операции сложения одинаково для всех систем счисления: если сумма складываемых цифр больше или равна основанию системы счисления, происходит перенос единицы в следующий слева разряд. Таким образом, правила сложения в двоичной системе таковы:

12+02=12

02+12=12

12+12=102 (1+1=210=102)

Пользуясь этими правилами, получаем

+

112

12

1002=410

+

102

12

112=310

+

1002

12

1012=510

+

1012

12

1102=610

+

1102

12

1112=710

+

1112

12

10002=810

Возникает во какое наибольшее десятичное число можно записать в двоичном виде, используя для этой записи заданное число битов?

Наибольшее десятичное число, использующее для записи своего двоичного кода три бита, получается, когда значения всех трех битов равны единице:

1

1

1

=1·22+1·21+1·20=22+21+20=4+2+1=7.

(

8=

1

0

0

0

Точно так же, как в десятичной системе, наибольшее число, состоящее из трех цифр, — 999, получаем, когда каждая из цифр принимает свое максимальное значение, равное 9). Заметим, что 7=8-1=23-1. Чтобы представить следующее за 7 число 8 (=23), потребуется уже четыре бита: . Значит, используя три бита, можно записывать восемь десятичных чисел от 0 до 7.

А если для записи десятичного числа в двоичном виде используется четыре бита? Наибольшее число, двоичный код которого состоит из четырех битов, равно 15: в его двоичном коде все четыре бита, равны единице: 15 = 11112. Снова заметим, что 15=16-1=24-1; для записи следующего за 15 числа 16 нужно уже пять битов. Так что используя четыре бита, можно записывать числа от 0 до 15 (всего 16 = 24 чисел). Уже понятно, что наибольшее число, использующее для своей двоичной записи а битов, равно 2n -1. Следующее за ним число 2n требует для своей записи n+1 бит. Таким образом, используя п битов, можно записывать двоичные коды чисел от 0 до 2n -1, всего 2n чисел.

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота