Тут все просто, я даже объясню, как это делается 1) Пронумеровать числа справа налево, начиная с нуля, то есть вот так
2) Далее есть вот такая формула: число*систему исчисления в степени номера этого числа, то есть
А, ну и еще стоит добавить что в 16 системе исчисления есть цифры от 0 до 9 и буквы от A до F, соответственно A=10,B=11,C=12,D=13,E=14,F=15
С восьмиричной системой исчисления все аналогично 1) Нумеруем числа справа налево, начиная с 0
2) Опять пользуемся нашей формулой
А вот число 28 уже перевести нельзя, потому что восьмеричная система счисления содержит только цифры от 0 до 7 (всего 8 цифр, соответственно названию системы счисления)
Формула выше применима ТОЛЬКО для перевода из любой системы счисления в десятичную
Теперь переведем из десятичной системы в двоичную. Для этого тоже есть своя формула: делим переводимое число (в десятичной системе счисления) на основание системы счисления, в которую мы хотим перевести число и записываем остатки, пока в результате деления не получим ноль. Сейчас разберем по порядку: 1) Переводим из десятичной системы В ДВОИЧНУЮ. То есть основание системы счисления, в которую мы переводим число - 2 1093/2=546 (остаток 1) - в результате деление должно быть обязательно целое число, записываем остаток. Результат опять делим на основание системы счисления, в которую переводим (2) 546/2=273 (остаток 0) 273/2=136 (остаток 1) 136/2=68 (остаток 0) 68/2=34 (остаток 0) 34/2=17 (остаток 0) 17/2=8 (остаток 1) 8/2=4 (остаток 0) 4/2=2 (остаток 0) 2/2=1 (остаток 0) - делим до тех пор, пока в результате не получим ноль, так что еще одно действие 1/2=0 (остаток 1) - вот теперь все Теперь запишем остатки в обратном порядке 10001000101 - это и есть ответ
Последнее задание совмещает все знания, которые ты получила выше. Сначала нужно перевести число из 16-ричной системы счисления в десятичную (нумеруешь числа справа налево, затем умножаешь на систему счисления в степени номера числа), а затем так же делением переводишь в двоичную систему счисления. Если ты это сделаешь, значит ты все поняла, если нет, то пиши мне разобраться.
Если вводить с клавиатуры, то для чего использовать random? В программе ввод с клавиатуры отключен. const n=7; var t:array[1..n] of integer; sr,srp,sro:real; i,kp,ko:integer; begin Randomize; for i:=1 to n do begin // readln(t[i]); // ввод с клавиатуры t[i]:=random(7)-3; writeln(i,' - ',t[i]:2); end; sr:=0; srp:=0; sro:=0; kp:=0; ko:=0; for i:=1 to n do begin sr:=sr+t[i]; if t[i]>0 then begin srp:=srp+t[i]; kp:=kp+1; end; if t[i]<0 then begin sro:=sro+t[i]; ko:=ko+1; end; end; sr:=sr/n; srp:=srp/kp; sro:=sro/ko;writeln('Средняя температура недели = ',sr:5:2); writeln('Средняя положительная = ',srp:5:2); writeln('Средняя отрицательная = ',sro:5:2); end.
1) Пронумеровать числа справа налево, начиная с нуля, то есть вот так
2) Далее есть вот такая формула: число*систему исчисления в степени номера этого числа, то есть
А, ну и еще стоит добавить что в 16 системе исчисления есть цифры от 0 до 9 и буквы от A до F, соответственно A=10,B=11,C=12,D=13,E=14,F=15
С восьмиричной системой исчисления все аналогично
1) Нумеруем числа справа налево, начиная с 0
2) Опять пользуемся нашей формулой
А вот число 28 уже перевести нельзя, потому что восьмеричная система счисления содержит только цифры от 0 до 7 (всего 8 цифр, соответственно названию системы счисления)
Формула выше применима ТОЛЬКО для перевода из любой системы счисления в десятичную
Теперь переведем из десятичной системы в двоичную. Для этого тоже есть своя формула: делим переводимое число (в десятичной системе счисления) на основание системы счисления, в которую мы хотим перевести число и записываем остатки, пока в результате деления не получим ноль. Сейчас разберем по порядку:
1) Переводим из десятичной системы В ДВОИЧНУЮ. То есть основание системы счисления, в которую мы переводим число - 2
1093/2=546 (остаток 1) - в результате деление должно быть обязательно целое число, записываем остаток. Результат опять делим на основание системы счисления, в которую переводим (2)
546/2=273 (остаток 0)
273/2=136 (остаток 1)
136/2=68 (остаток 0)
68/2=34 (остаток 0)
34/2=17 (остаток 0)
17/2=8 (остаток 1)
8/2=4 (остаток 0)
4/2=2 (остаток 0)
2/2=1 (остаток 0) - делим до тех пор, пока в результате не получим ноль, так что еще одно действие
1/2=0 (остаток 1) - вот теперь все
Теперь запишем остатки в обратном порядке
10001000101 - это и есть ответ
Последнее задание совмещает все знания, которые ты получила выше. Сначала нужно перевести число из 16-ричной системы счисления в десятичную (нумеруешь числа справа налево, затем умножаешь на систему счисления в степени номера числа), а затем так же делением переводишь в двоичную систему счисления. Если ты это сделаешь, значит ты все поняла, если нет, то пиши мне разобраться.
В программе ввод с клавиатуры отключен.
const n=7;
var t:array[1..n] of integer;
sr,srp,sro:real;
i,kp,ko:integer;
begin
Randomize;
for i:=1 to n do
begin
// readln(t[i]); // ввод с клавиатуры
t[i]:=random(7)-3;
writeln(i,' - ',t[i]:2);
end;
sr:=0; srp:=0; sro:=0;
kp:=0; ko:=0;
for i:=1 to n do
begin
sr:=sr+t[i];
if t[i]>0 then begin srp:=srp+t[i]; kp:=kp+1; end;
if t[i]<0 then begin sro:=sro+t[i]; ko:=ko+1; end;
end;
sr:=sr/n; srp:=srp/kp; sro:=sro/ko;writeln('Средняя температура недели = ',sr:5:2);
writeln('Средняя положительная = ',srp:5:2);
writeln('Средняя отрицательная = ',sro:5:2);
end.
Пример:
1 - -3
2 - 1
3 - -2
4 - 2
5 - 2
6 - -3
7 - 0
Средняя температура недели = -0.43
Средняя положительная = 1.67
Средняя отрицательная = -2.67