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

Сообщение на тему алгоритмизация

Показать ответ
Ответ:
помогите1177
помогите1177
29.01.2021 17:10
Была задачка такая в школе у нас на одной важной работе. Про пещеры и клад. К ней нужно было применить алфавитный подход...
<<Известно, что ровно в двух пещерах из пяти есть клады. Сколько битов нужно, чтобы закодировать информацию о расположении кладов?>>
Если задачу решать традиционно, как на первый взгляд кажется - изящно, то ответ получится примерно таков:
1 2 3 4 5
0 1 0 0 1
Итого: 5 битов.

Мы же говорим о рациональном подходе. Всего 5 пещер. В двух клады. Сколько вариантов расположения кладов существует?
1 2 3 4 5
1-2,1-3,1-4,1-5,2-3,2-4,2-5,3-4,3-5,4-5
Итого: 10 вариантов - вот тебе и алфавит. Можешь пронумеровать варианты(0, 1,2,3...) и информацию хранить будешь в скольки битах?
10=2^i
2^3=8(10 сюда не входит)
2^4=16(10 входит. Пусть будет немного лишней информации, зато она не потеряется.)
Получаем 4 бита.
0,0(0 оценок)
Ответ:
zahar64
zahar64
18.12.2021 16:12
1) Program n1; 
var n,i:integer; 
t:array[1..100] of real; 
a,b:real; 
begin 
readln(n); 
readln(a); 
readln(b); 
for i:=1 to n do 
begin 
t[i]:=(b-a)/n; 
write(t[i],'  '); 
end; 
end.
2) Program n1; 
var a:array[1..100] of integer; 
n,i:integer; 
k:real; 
begin 
read(n); 
k:=0; 
for i:=1 to n do 
read(a[i]); 
for i:=1 to n do 
if a[i] mod 2 <> 0 then 
k:=k+1; 
writeln; 
writeln('кол-во нечет. чисел равно ',k,''); 
end.
6) Program n1; 
var a:array[1..100] of real; 
i,n:integer; 
s,sr:real; 
begin 
read(n); 
for i:=1 to n do 
read(a[i]); 
s:=0; 
sr:=0; 
for i:=1 to n do 
s:=s+a[i]; 
sr:=s/n; 
writeln('сред. арифметическое равно ',sr,''); 
end.
7)  Program n1; 
var a:array[1..100] of real; 
i,n:integer; 
min,max:real; 
begin 
read(n); 
for i:=1 to n do
read(a[i]); 
min:=a[1]; 
for i:=2 to n do 
if a[i]<min then 
min:=a[i]; 
max:=a[1]; 
for i:=2 to n do 
if a[i]>max then 
max:=a[i]; 
writeln('максимальный элемент равен ',max,''); 
writeln('минимальный элемент равен ',min,''); 
end.
8) Program n1; var a:array[1..100] of real; i,n:integer; min,max,nom1,nom2:real; begin read(n); for i:=1 to n do read(a[i]); min:=a[1]; nom1:=1; for i:=2 to n do if a[i]<min then begin min:=a[i]; nom1:=i; end; max:=a[1]; nom2:=1; for i:=2 to n do if a[i]>max then begin max:=a[i]; nom2:=i; end; writeln('максимальный элемент равен ',max,', его номер ',nom2,''); writeln('минимальный элемент равен ',min,', его номер ',nom1,''); end.
9) Program n1; var a:array[1..100] of real; i,n:integer; min,max,s,sr:real; begin read(n); randomize; for i:=1 to n do begin a[i]:=random(100)+1; write(a[i],'  '); end; writeln; s:=0; sr:=0; for i:=1 to n do s:=s+a[i]; sr:=s/n; writeln('ср. арифм. = ',sr,''); min:=a[1]; for i:=2 to n do if a[i]<min then min:=a[i]; max:=a[1]; for i:=2 to n do if a[i]>max then max:=a[i]; writeln('максимальный элемент равен ',max,''); writeln('минимальный элемент равен ',min,''); end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота