. , - . , - . , . :
{ }
program <' > ( );
uses ( );
label ( );
const ( );
type ( );
var ( );
procedure (function) ( : );
begin
<> ( , ' );
end.
.
' - . ' .
program ( , ). .
Turbo Pascal . , ', . , . , , - - (, , , , . .), . - . ' .
. e nd , , end - . end, ' .
- , , , .
. . . - , :
( );
.
̲
г - , - Windows- Visual Basic 6.
|
|
, ' , Visual Basic 6, .
Byte, Integer, Long, Single, Double, Currency. () String. Boolean. Date , - ( ) . Visual Basic Date , ' . . , .
Variant, , - .
' :
Def... (DefByte, DefInt, DefLng, DefSng ..);
Dim... As... ( Private... As..., Public... As...);
( %, &,!, #, @, $, ).
. Const... As....
, ' Visual Basic . , Variant. .
X=, X . ( Let ' X , .) , (+), (-), (*) (/).
Visual Basic Print, .
ϳ 쳺 ' , ' . ' , . ֳ 䳿 - -.
- , ' (' ). . , . , ', .
. :
.
.
. , , .
, , - , , , ..
|
|
, . 䳿:
() ;
' - (, , ..);
³ ;
ij : ;
.
Turbo Pascal ( ). file, .
, . .
, . , . , ( ) ( ) .
"" , , . , .
- , File, .
"" , . ֳ 䳿 , , ', .
input () output (). - . - .
. -, ', . -, . -, '.
³ - , ' . , - , 䳿.
:
1. ³ . , . , . - .
2. . , Text , . , .
3. .
. Read Readln. , . ³ , , , ( ).
, - Write Writeln. , .
TURBO PASCAL , - : Assign, Reset, Rewrite, Close, Rename, Erase, Eof,
Assign ' , ' FileName.
Reset , , . ϳ Reset .
|
|
Rewrite . ϳ .
Close . Close .
EOF Boolean TRUE, . , .
Rename , ' . .
Erase , ' . Erase .
. .
program wtf;
type fil=text;
var f1:fil; name:string[35]; txt:string;
begin
write(' >');
readln(name);
writeln;
assign(f1,name);
rewrite(f1);
writeln(' ( -Enter):');
writeln;
repeat
write(':>');
readln(txt);
writeln(f1,txt);
until txt='';
close(f1);
writeln;
writeln(' , Enter.');
readln;
end.
1. , Turbo-Pascal.
var 1):
var <_>: string [[<>]] 2)
- 255 . 0, .
<> , , 255 . 쳿 ' .
:
var s1: string [10]; (* 10 *)
s2: string; (* 255 *)
, 3)
var c: char;
s: string [1];
. , ,
boolean : false true, :
ord (false) = 0, ord (true) = 1, false <true,
pred (true) = false, succ (false) = true,
inc (true) = false, inc (false) = true,
dec (true) = false, dec (false) = true.
char 256 ASCII (, 'a','b', '', '7 ','#'). , ord (), ASCII.
33.ϳ
var i, k, j, N, x: integer;
a: array [1..100] of integer;
begin
read(n);
randomize;
for i:= 1 to n do
a[i]:= random (50);
for i:= 1 to N do
write(a[i],' ');
writeln;
for i:= (N div 2)downto 1 do
begin j:= i;
while j<=(N div 2) do
begin k:= 2*j;
if (k+1<=N) and (a[k]<a[k+1])
then k:= k+1;
if a[k]>a[j]
then begin x:= a[j];
a[j]:= a[k];
a[k]:= x;
j:= k
end
else break
end
end;
for i:= N downto 2 do
begin x:= a[1];
a[1]:= a[i];
a[i]:= x;
j:= 1;
while j<=((i-1)div 2) do
begin k:= 2*j;
if (k+1<=i-1) and (a[k]<a[k+1])
then k:= k+1;
if a[k]>a[j]
then begin x:= a[j];
a[j]:= a[k];
a[k]:= x;
j:= k
end
else break
end
end;
for i:= 1 to N do
write(a[i],' ');
readln;
end.
27.
var a: array [1..100] of integer;
n, i: integer;
procedure qsort(l, r: integer);
|
|
var middle, temp, i, j: integer;
begin
middle:= a[(l+r) div 2];
i:= l;
j:= r;
while i<=j do
begin
while a[i] < middle do
inc(i);
while a[j] > middle do
dec(j);
if i <= j then
begin
temp:= a[i];
a[i]:= a[j];
a[j]:= temp;
inc(i);
dec(j);
end;
end;
if l<j then
qsort(l, j);
if r>i then
qsort(i, r);
end;
begin
randomize;
writeln('vvedit kil-t elementiv:');
read(n);
for i:= 1 to n do
begin
a[i]:= random(50);
write(a[i],' ');
end;
writeln;
qsort(1, n);
for i:= 1 to n do
write(a[i], ' ');
end.
30.
var A:array[1..100] of integer;
N,i,k,x,j,d: integer;
begin
randomize;
read(N);
for i:=1 to n do
a[i]:= random(50);
for i:= 1 to n do
write(a[i],' ');
writeln;
d:= 1;
i:= 0;
for k:=n-1 downto 1 do { k - êîëè÷åñòâî ñðàâíèâàåìûõ ïàð }
begin
i:= i+d;
for j:= 1 to k do
begin
if (a[i]-a[i+d])*d>0 then
{ìåíÿåì ìåñòàìè ñîñåäíèå ýëåìåíòû}
begin
x:= a[i];
a[i]:= a[i+d];
a[i+d]:= x;
end;
i:= i+d;
end;
d:= -d;
{ìåíÿåì íàïðàâëåíèå äâèæåíèÿ íà ïðîòèâîïîëîæíîå}
end;
for i:= 1 to n do
write(a[i],' '); {óïîðÿäî÷åííûé ìàññèâ}
end.
32.
var ii,m,x,s,p,t,k,r,i,j,n: integer;
a: array[1..100] of integer;
begin
randomize;
for i:=1 to 20 do
begin
a[i]:=random(50);
write(a[i],' ');
end;
writeln;
n:=20;
t:= trunc(ln(n)/ln(2));
repeat
t:= t-1;
k:= (1 shl t)-1;
p:= n mod k;
s:= n div k;
if p=0 then p:= k
else s:= s+1;
for i:= 1 to k do
begin
if i= p+1 then s:= s-1;
for j:= 1 to s-1 do
if a[i+(j-1)*k]>a[i+j*k]
then begin x:= a[i+j*k];
m:= i+(j-1)*k;
while (m>0) and (a[m]>x) do
begin a[m+k]:= a[m];
m:= m-k;
end;
a[m+k]:= x;
end;
for ii:= 1 to n do write(a[ii],' ');
writeln;
end;
until k=1;
end.
program sort_3;
{$APPTYPE CONSOLE}
uses
SysUtils;
var mass: array [1..100] of Integer;
i, j, n, temp, min, min_i, k: Integer;
begin
Writeln('Vvedit kilkist elementiv massiva:');
read(n);
Randomize;
for i:= 1 to n do
begin
mass[i]:= Random(50) - 25;
write(mass[i],' ');
end;
writeln;
Buble sort
{for i:= 2 to n do
for j:= n downto i do
begin
if (mass[j] < mass[j-1]) then
begin
temp:= mass[j];
mass[j]:= mass[j-1];
mass[j-1]:= temp;
end;
end; }
Select sort
{for i:= 1 to n-1 do
begin
min_i:= i;
for j:= i+1 to n do
begin
if (mass[min_i] > mass[j]) then
begin
min_i:= j;
end;
end;
temp:= mass[min_i];
mass[min_i]:= mass[i];
mass[i]:= temp;
end; }
Insert sort
for i:= 2 to n do
begin
temp:= mass[i];
j:= 1;
while (temp > mass[j]) do
Inc(j);
for k:= i-1 downto j do
mass[k+1]:= mass[k];
mass[j]:= temp;
end;
for i:= 1 to n do
write(mass[i],' ');
readln;
readln;
end.
31.
for i:= 2 to n do
if a[i-1]>a[i] then
begin x:= a[i];
left:= 1;
right:= n-1;
repeat
sred:= (left+right) div 2;
if a[sred]<x then left:= sred+1
else right:= sred-1;
until left>right;
for j:= i-1 downto left do a[j+1]:= a[j];
a[left]:= x;
end;
.
const
n1 = 5;
n2 = 8;
var
P: array [1..n1 + n2] of integer;
M: array [1..n1] of integer;
N: array [1..n2] of integer;
i, j,l, x: integer;
begin
writeln(' M ( ', n1, ' )');
for i:= 1 to n1 do
read(M[i]);
writeln(' N ( ', n2, ' )');
for i:= 1 to n2 do
read(N[i]);
j:= 1;
l:= 1;
for i:= 1 to n1+n2 do
if j>n1
then
begin
P[i]:= N[l];
l:= l+1;
end
else
if l>n2
then
begin
P[i]:= M[j];
j:= j+1;
end
else
if M[j]<=N[l]
then
begin
P[i]:= M[j];
j:= j+1;
end
else
begin
P[i]:= N[l];
l:= l+1;
end;
|
|
for i:= 1 to n1 + n2 do
write(P[i]:3);
end.
Pascal
Pascal , ', , . (var) , . , , ' . , ...
, . , "쳺", , 䳿 .
Pascal .
( - ), ', - . "".
Pascal, : .
Pascal :
boolean | () char | shortint byteintegerwordlongint | realsingledoubleextendedcomp | pointer | ||
week = (su, mo, tu,we, th, fr,sa); | ^<> | array | ||||
string | ||||||
record | ||||||
() budni = mo..fr; | textfile | |||||
1) | ||||||
, | ||||||
1. , , type :
type <_> = <_>;
:
type lat_bukvy = 'a'.. 'z', 'A'.. 'Z';
, type. , , . ,
type int = integer;
.
type. ., (. 8).
. :
1. () . . - shortint, integer longint. .
2. , - ( ), . , - , , - 2).
,
ҳ :
1. ord (x) x ( , ).
2. pred (x) , ( ).
3. succ (x) , ( ).
4. inc (x) , ( x: = x +1).
5. inc (x, k) k- , ( x: = x + k).
6. dec (x) , ( x: = x-1).
7. dec (x, k) ke , ( x: = xk).
, inc (x) succ (x). . succ (x) , inc (x) , , , . , , . , inc () dec () - " ": .
.
type sixteen = 0.. 15;
1 15 :
+ 1 1 1 1
1
1 0 0 0 0
, , inc (15) = 0.
dec (x) pred (x):
dec (min_element) = max_element
, '
.
1. boolean : false true, :
2. ord (false) = 0, ord (true) = 1, false <true,
3. pred (true) = false, succ (false) = true,
4. inc (true) = false, inc (false) = true,
dec (true) = false, dec (false) = true.
5. char 256 ASCII (, 'a', 'b', '', '7 ','#'). , ord (), ASCII.
6. ֳ :
shortintbyteintegerwordlongint | 11224 | 88161632 | -128..1270..255-32768..327670..65535-2147483648..2147483647 | -27..27-10..28-1-215..215-10..216-1-231..231-1 |
2. 3) type . :
3. type week = (sun, mon, tue, wed, thu, fri, sat)
0 1 2 3 4 5 6
, :
inc (sat) = sun, dec (sun) = sat.
4. . :
5. type month = 1.. 12;
budni = mon.. fri;
6. , . :
type valid_for_identifiers = 'a'.. 'z', 'A'.. 'Z','_',' 0.. 9';
' , : char 'A' <'a', ,, 'a' <'A'. :
inc ('z') = 'A'; dec ('0')='_', pred ('9 ') = '8'; ord ('b') = 2.
, , .
( ) | ||
singlerealdoubleextendedcomp | 468108 | 1.5*10-45..3.4*10382.9*10-39..1.7*10385.0*10-324..1.7*103083.4*10-4932..1.1*104932-263+1..263-1 |