srvsm
?>

Вкаждой строке файла записано три числа, каждое из которых находится в интервале [0, 255]. эти числа обозначают красную, зеленую и синюю составляющие цвета в цветовой модели rgb.запишите в другой файл полные коды заданных цветов в виде целых чисел в шестнадцатеричной системе счисления(цвет(128, 255, 255)запишется как 80 (паскаль)

Информатика

Ответы

Рогов1996
Const 
  sixteen: string = '0123456789ABCDEF';

function TenIn16(x: integer): string;
var  s: string;
begin 
  repeat   
  s := sixteen[x mod 16 + 1] + s;   
  x := x div 16; 
  until x = 0; 
  if length(s) = 1 then    s := '0' + s; 
  TenIn16 := s;
end;

var 
  f1, f2: text; 
  a1, a2, a3: byte;

begin 
  assign(f1, 'record.txt'); 
  reset(f1); 
  assign(f2, 'result.txt'); 
  rewrite(f2); 
  while not eof(f1) do  
  begin   
    read(f1, a1, a2, a3);   
    writeln(f2, TenIn16(a1), TenIn16(a2), TenIn16(a3)); 
  end; 
  close(f1); 
  close(f2);
end.
Pavel1545

а) 101000₂

б) 28₁₆

Объяснение:

Сначала все числа нужно привести к единой системе счисления.

11₂=3

11₈=9

11₁₆=17

Получается следующее: 3+9+11+17=3+20+17=20+20=40 (это в десятичной СС)

а) для перевода в двоичную СС мы последовательно делим число 40, пока остаток и частное не станет равным 0 или 1. Остаток от деления записываем в обратном порядке.

б) перевод целых десятичных чисел в любую другую системы счисления осуществляется делением числа на основание новой системы счисления (в нашем случае это 16) до тех пор, пока в остатке не останется число меньшее основания новой системы счисления. Новое число записывается в виде остатков деления, начиная с последнего.

Сергеевич1396

Program zadacha;

const n=10;

var

a:array [1..n] of integer;

i,min,max,sum:integer;

begin

 writeln('Введите элементы:');

 for i := 1 to n do read(a[i]);;

 

 max:=-10000; min:=10000;

 

 for i:=i to n do

   if (a[i]>max) then max := a[i];

   writeln('Максимальное число в массиве: ',max);

   

  for i:=1 to n do

    if (a[i]<min) then min:=a[i];

    writeln('Минимальное число в массиве: ',min);

 

 for i := 1 to n do sum:=sum+a[i];

 writeln('Сумма всех чисел массива = ',sum);

End.

Объяснение:

min ставим наибольшим, чтобы оно постепенно уменьшалось в сравнении. max ставим от наименьшего, чтобы оно увеличивалось в сравнении.

При суммировании необязательно обнулять переменную (в данном случае sum), т.к. у нас немного действий.


Написать программу На языке Паскаль программа должна из введенного массива на 10 элементов, находить

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вкаждой строке файла записано три числа, каждое из которых находится в интервале [0, 255]. эти числа обозначают красную, зеленую и синюю составляющие цвета в цветовой модели rgb.запишите в другой файл полные коды заданных цветов в виде целых чисел в шестнадцатеричной системе счисления(цвет(128, 255, 255)запишется как 80 (паскаль)
Ваше имя (никнейм)*
Email*
Комментарий*