План такой: 1) найти общее количество пикселей 2) перевести объем памяти в биты 3) найти количество бит на пиксель 4) по таблице степеней двойки найти количество цветов N
1) 145*145 =21025 общее количество пикселей 2) 4КБ = 4*1024 = 4096байт. 4096*8 =32768бит 3) 32768 / 21025 = ~1.56. На этом все, приехали. Тут должно быть целое число, а все из-за 145.
Я предлагаю чтобы ты понял решение, поменять 145 на 128. Решаем: 1)128*128 = 16384 пикселей 2)4КБ = 4*1024 = 4096байт. 4096*8 =32768бит 3)32768 / 16384 = 2 кол-во бит информации на пиксель 4)N=2(в степени i), где N - кол-во цветов, а i - кол-во бит информации на пиксель. N = = 4 цвета.
Var a:array[1..18] of integer; i,n,n2,max:integer; Begin for i:=1 to 18 do Begin case i of 1..6:begin Write('Введите ',i,'-ую оценку по обязательной программе '); Readln(a[i]); n:=n+a[i]; if i=6 then Begin max:=n; n:=0; n2:=1; End; End; 7..12:Begin Write('Введите ',i-6,'-ую оценку по короткой программе '); Readln(a[i]); n:=n+a[i]; if i=12 then Begin if n>max then Begin max:=n; n2:=2;End; n:=0; End; End; 13..18:Begin Write('Введите ',i-12,'-ую оценку по произвольной программе '); Readln(a[i]); n:=n+a[i]; if i=18 then Begin if n>max then Begin max:=n; n2:=3;End; n:=0; End; End; end; end; case n2 of 1: write('Лучшая оценка по обязательной программе = ',max); 2: write('Лучшая оценка по короткой программе = ',max); 3: write('Лучшая оценка по произвольной программе = ',max); End; End.
1) найти общее количество пикселей
2) перевести объем памяти в биты
3) найти количество бит на пиксель
4) по таблице степеней двойки найти количество цветов N
1) 145*145 =21025 общее количество пикселей
2) 4КБ = 4*1024 = 4096байт. 4096*8 =32768бит
3) 32768 / 21025 = ~1.56. На этом все, приехали. Тут должно быть целое число, а все из-за 145.
Я предлагаю чтобы ты понял решение, поменять 145 на 128.
Решаем:
1)128*128 = 16384 пикселей
2)4КБ = 4*1024 = 4096байт. 4096*8 =32768бит
3)32768 / 16384 = 2 кол-во бит информации на пиксель
4)N=2(в степени i), где N - кол-во цветов, а i - кол-во бит информации на пиксель.
N = = 4 цвета.
a:array[1..18] of integer;
i,n,n2,max:integer;
Begin for i:=1 to 18 do Begin
case i of
1..6:begin Write('Введите ',i,'-ую оценку по обязательной программе '); Readln(a[i]); n:=n+a[i]; if i=6 then Begin max:=n; n:=0; n2:=1; End; End;
7..12:Begin Write('Введите ',i-6,'-ую оценку по короткой программе '); Readln(a[i]); n:=n+a[i]; if i=12 then Begin if n>max then Begin max:=n; n2:=2;End; n:=0; End; End;
13..18:Begin Write('Введите ',i-12,'-ую оценку по произвольной программе '); Readln(a[i]); n:=n+a[i]; if i=18 then Begin if n>max then Begin max:=n; n2:=3;End; n:=0; End; End;
end;
end;
case n2 of
1: write('Лучшая оценка по обязательной программе = ',max);
2: write('Лучшая оценка по короткой программе = ',max);
3: write('Лучшая оценка по произвольной программе = ',max);
End;
End.