uses GraphABC;
type FUN = function (x: real): real;
function f(x: real): real;
begin
f:=0.5*x*cos(2*x);
end;
// l (logical) - логические координаты
// s (screen) - физические координаты
procedure drawGraph(x1,x2,y1,y2: real; f: FUN);
var
xl,xl0,wl,yl,yl0,hl: real;
xs0,ws,ys0,hs: integer;
function LtoSx(xl: real): integer;
begin
Result:=round(ws/wl*(xl-xl0)+xs0);
end;
function LtoSy(yl: real): integer;
begin
Result:=round(hs/hl*(yl-yl0)+ys0);
end;
function StoLx(xs: integer): real;
begin
Result:=wl/ws*(xs-xs0)+xl0;
end;
var xi: integer;
begin // drawGraph
xs0:=0; ys0:=WindowHeight;
ws:=WindowWidth;
hs:=WindowHeight;
xl0:=x1;
yl0:=y1;
wl:=x2-x1;
hl:=-(y2-y1);
MoveTo(xs0,LtoSy(f(StoLx(xs0;
for xi:=xs0+1 to xs0+ws do
LineTo(xi,LtoSy(f(StoLx(xi;
end;
begin // program
SetWindowCaption('График функции');
drawGraph(-12,12,-23,23,f);
end.
пример программы для паскаль
Program a;
const n = 50;
var
i:byte;
B:array[1..n] of word;
procedure proc(A:array of word);
begin
for i:=1 to n do
if((129 <= A[i]) and (A[i] <= 160)) or
((161 <= A[i]) and (A[i] <=175)) or
((225 <= A[i]) and (A[i] <= 242)) then
Writeln('index = ',i+1,'; bukva - ''',char(A[i]),,' A[i] = ',A[i]);
end;
Begin
writeln;
for i:=1 to n do
B[i] := random(300);
for i:=1 to n do Begin
write(' ',i,' = ',B[i]);
if (i mod 5 = 0) then writeln;
end;
writeln;
writeln;
proc(B);
readln;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу, которая находит все символы в символьной строке, которые встречаются только один раз. входные данные на вход программы подаётся символьная строка. выходные данные программа должна вывести все символы, которые встречаются в строке только один раз, в порядке возрастания их ascii-кодов. если таких символов нет, нужно вывести слово 'no'. примеры входные данные asd12ad2 выходные данные 1s pascal abc 1.8 с использованием множеств
used: Set of Char;
s: string;
i: integer;
done: boolean;
c: char;
begin
uniq := [];
used := [];
readln(s);
for i := 1 to length(s) do
if not (s[i] in used) then
begin
include(uniq, s[i]);
include(used, s[i]);
end
else
begin
exclude(uniq, s[i]);
end;
done := False;
for c := #0 to #255 do
if (c in uniq) then
begin
done := True;
write(c);
end;
if not done then
write('NO');
writeln;
end.