1. Размеры изображения даны в сантиметрах, а разрешающая сканера - в дюймах. Нужно перейти к каким-то одним единицам измерения, учитывая соотношение: 1 дюйм ≈ 2.54 см. Допустим, расчеты ведем в сантиметрах. По одной стороне изображения сканер распознает на длине в 1 дюйм (т.е. 2.54 см) 600 точек, по другой - 1200 точек. Тогда на 1 см длины придется 600/2.54 точек и 1200/254 точек соответственно. А на длине в 10 см - в 10 раз больше. Общее количество точек составит При глубине цвета два байта полученный графический файл будет иметь объем байт. Можно перевести в мегабайты: Мбайт
2. Расчет аналогичный, поэтому можно писать кратко.
//PascalABC.Net function DelWord(s:string):string; var i,n:integer; begin n:=length(s); i:=n; repeat if i>=1 then Dec(i); until s[i]=' '; Delete(s,i+1,n-i); DelWord:=s end;
var st:string; begin Write('Введите строку: '); Readln(st); Writeln('Результат: ',DelWord(st)) end.
Тестовое решение: Введите строку: А роза упала на лапу Азора Результат: А роза упала на лапу
//PascalABC.Net function DescDigits(s:string):boolean; var desc:boolean; i,n:integer; c1,c2:char; begin n:=length(s); desc:=true; c1:='A'; { главное, чтобы символ был "старше" любой цифры } i:=1; repeat c2:=s[i]; if c2 in ['0'..'9'] then if c2<c1 then c1:=c2 else desc:=false; Inc(i) until (i>n) or (not desc); DescDigits:=desc end;
var s:string; begin Write('Введите строку: '); Readln(s); if DescDigits(s) then Writeln('true') else Writeln('false') end.
Тестовое решение: Введите строку: Пример строки с цифрами 98 по убыванию 7 6,5, так4тоже1можно! true
Вариант первой программы для Borland Pascal 7.01 uses Crt; function DelWord(s:string):string; var i,n:integer; begin n:=length(s); i:=n; repeat if i>=1 then Dec(i); until s[i]=' '; Delete(s,i+1,n-i); DelWord:=s end;
var st:string; begin ClrScr; Write('Введите строку: '); Readln(st); Writeln('Результат: ',DelWord(st)); ReadKey end.
При глубине цвета два байта полученный графический файл будет иметь объем
Можно перевести в мегабайты:
2. Расчет аналогичный, поэтому можно писать кратко.
function DelWord(s:string):string;
var
i,n:integer;
begin
n:=length(s);
i:=n;
repeat
if i>=1 then Dec(i);
until s[i]=' ';
Delete(s,i+1,n-i);
DelWord:=s
end;
var
st:string;
begin
Write('Введите строку: '); Readln(st);
Writeln('Результат: ',DelWord(st))
end.
Тестовое решение:
Введите строку: А роза упала на лапу Азора
Результат: А роза упала на лапу
//PascalABC.Net
function DescDigits(s:string):boolean;
var
desc:boolean;
i,n:integer;
c1,c2:char;
begin
n:=length(s);
desc:=true;
c1:='A'; { главное, чтобы символ был "старше" любой цифры }
i:=1;
repeat
c2:=s[i];
if c2 in ['0'..'9'] then
if c2<c1 then c1:=c2 else desc:=false;
Inc(i)
until (i>n) or (not desc);
DescDigits:=desc
end;
var
s:string;
begin
Write('Введите строку: '); Readln(s);
if DescDigits(s) then Writeln('true') else Writeln('false')
end.
Тестовое решение:
Введите строку: Пример строки с цифрами 98 по убыванию 7 6,5, так4тоже1можно!
true
Вариант первой программы для Borland Pascal 7.01
uses Crt;
function DelWord(s:string):string;
var
i,n:integer;
begin
n:=length(s);
i:=n;
repeat
if i>=1 then Dec(i);
until s[i]=' ';
Delete(s,i+1,n-i);
DelWord:=s
end;
var
st:string;
begin
ClrScr;
Write('Введите строку: '); Readln(st);
Writeln('Результат: ',DelWord(st));
ReadKey
end.