Реши задачу.
Виновник ночного дорожно-транспортного происшествия скрылся с места аварии.
Первый из о свидетелей сказал работникам ГИБДД, что это были «BMW», первая цифра номера машины — 1.
Второй свидетель сказал, что машина была марки «VW», а номер начинался с 9.
Третий свидетель заявил, что машина была отечественная, номер начинался не с 1.
При дальнейшем расследовании выяснилось, что каждый из свидетелей правильно указал либо только марку машины, либо только первую цифру номера. Какой марки была машина и с какой цифры начинался номер?
VW
отечественная
BMW
1
9
нет однозначного ответа
2) a) нет возвращаемого значения, то есть функция что-то делает, но не возвращает ничего
б) возвращает то значение, которое вы скажете вернуть, можно использовать данный тип функции, как переменную, например, функция возвращает принятое число в случае, если это число больше нуля, -1, если меьше нуля. Таким образом можно использовать ее в любых конструкция, к примеру, условных.
если function()>0 то вывести число иначе вывести "отрицательное"
// Внимание! Если программа не работает, обновите версию!
function aToDec(n:string;k:integer):integer;
// Перевод из системы по основанию k в десятичную
begin
var s:='0123456789ABCDEF';
Result:=0;
var pa:=1;
for var i:=Length(n) downto 1 do begin
Result+=pa*(Pos(n[i],s)-1);
pa*=k
end
end;
function DecToa(n,k:integer):string;
// Перевод из десятичной системы в систему по основанию k
begin
Result:='';
while n>0 do begin
var r:=n mod k;
if r<10 then Result:=r+Result
else Result:=Chr(Ord('A')+r-9)+Result;
n:=n div k
end
end;
function AtoB(s:string;A,B:integer):string;
// Перевод из системы по основанию A в систему по основанию B
begin
Result:=DecToa(aToDec(s,A),B)
end;
begin
var n:=ReadlnString('Какое число перевести?');
var (a,b):=ReadInteger2('Исходное и результирующее основания:');
Writeln(n,'(',a,') = ',AtoB(n,a,b),'(',b,')');
end.
Пример
Какое число перевести? 2018
Исходное и результирующее основания: 10 16
2018(10) = 7E2(16)