ОЧЕНЬ Решить задачу: Решить задачу с использованием функции Concat Описать строковую константу k=‘Кабинет’ и строковую переменную pred. Ввести с клавиатуры название предмета (в нужном падеже). Получить в переменной res полное название кабинета.
var t: array [1..100] of string; p, s, r: string; f, i, j, k: integer;
begin p := ' ,.!?;:-'; readln(s); k := 0; r := ''; for i := 1 to length(s) do begin f := 0; for j := 1 to length(p) do if s[i] = p[j] then f := 1; if f = 0 then r := r + s[i] else begin k := k + 1; t[k] := r; r := ''; end; if i=length(s) then begin k := k + 1; t[k] := r; end; end; for i := k downto 1 do write(t[i], ' '); end.
1)
var
s,r:string;
i:integer;
begin
readln(s);
r:='';
for i:=1 to length(s) do
if s[i]<>'a' then r:=r+s[i];
writeln(r);
end.
2)
текст разделяем знаками препринания
var
t: array [1..100] of string;
p, s, r: string;
f, i, j, k: integer;
begin
p := ' ,.!?;:-';
readln(s);
k := 0;
r := '';
for i := 1 to length(s) do
begin
f := 0;
for j := 1 to length(p) do
if s[i] = p[j] then f := 1;
if f = 0 then r := r + s[i]
else
begin
k := k + 1;
t[k] := r;
r := '';
end;
if i=length(s) then
begin
k := k + 1;
t[k] := r;
end;
end;
for i := k downto 1 do
write(t[i], ' ');
end.
Объяснение:
1. Пронумеруем разряды:
3-й разряд - 4;
2-й разряд - 1;
1-й разряд - 5;
0-й разряд - 3.
4153₈=4·8³+1·8²+5·8¹+3·8⁰
2. 4153₈=4·8³+1·8²+5·8¹+3·8⁰=2048+16+40+3=2155₁₀
3. 125/8=15 (5)
15/8=1 (7)
(1)
125₁₀=175₈
4. Пронумеруем разряды:
2-й разряд - A;
1-й разряд - 6;
0-й разряд - E;
A6E₁₆=(10)(6)(14)=10·16²+6·16¹+14·16⁰
5. A6E₁₆=10·16²+6·16¹+14·16⁰=2560+96+14=2670₁₀
6. 350/16=21 (14=E)
21/16=1 (5)
(1)
350₁₀=15E₁₆
7. 247/2=123 (1)
123/2=61 (1)
61/2=30 (1)
30/2=15 (0)
15/2=7 (1)
7/2=3 (1)
3/2=1 (1)
(1)
247₁₀=11110111₂
247/8=30 (7)
30/8=3 (6)
(3)
247₁₀=367₈
247/16=7 (15=F)
(7)
247₁₀=7F₁₆
Получившиеся числа между собой равны, так как имеют одинаковое число в десятичной системе счисления.