Add Pascal learning files

This commit is contained in:
h3lp
2025-11-20 21:18:32 +02:00
parent 1ce193cc0d
commit 258f24570a
37 changed files with 587 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
Program case_of;
Var a:integer;
begin
WriteLn('Ââåäèòå íîìåð íîòû');
ReadLn(a);
case a of
1: WriteLn('íîòà äî');
2: WriteLn('íîòà ðå');
3: WriteLn('íîòà ìè');
4: WriteLn('íîòà ôà');
5: WriteLn('íîòà ñîëü');
6: WriteLn('íîòà ëÿ');
7: WriteLn('íîòà ñè');
else WriteLn('ÍÅÒ ÒÀÊÎÉ ÍÎÒÛ!!!')
end;
end.
+20
View File
@@ -0,0 +1,20 @@
program case2;
var a:integer;
begin
WriteLn('Ââåäèòå íîìåð ìåñÿöà');
ReadLn(a);
case a of
1: WriteLn('ßíâàðü');
2: WriteLn('Ôåâðàëü');
3: WriteLn('Ìàðò');
4: WriteLn('Àïðåëü');
5: WriteLn('May');
6: WriteLn('Èþíü');
7: WriteLn('Àâãóñò');
9:WriteLn('Ñåíòÿáðü');
10:WriteLn('Îêòÿáðü');
11:WriteLn('Íîÿáðü');
12:WriteLn('Äåêàáðü');
else WriteLn('ÍÅÒ ÒÀÊÎÃÎ ÌÅÑßÖÀ!!!')
END;
end.
+11
View File
@@ -0,0 +1,11 @@
program case_;
var a:integer;
begin
WriteLn('Ââåäèòå êîë-âî ñëîíèêîâ îò 1 äî 50');
ReadLn(a);
Case a of
1,21,31,41:WriteLn(a,' ñëîíèê');
2..4,22..24,32..34,42..44:WriteLn(a,' Ñëîíèêa');
5..20,25..30,35..40,45..50:WriteLn(a,' Ñëîíèêîâ');
end;
end.
+12
View File
@@ -0,0 +1,12 @@
program case_adult;
var a:integer;
begin
WriteLn('Ââåäèòå âîçðàñò');
ReadLn(a);
Case a of
1,21,31,41,51,61,71,81,91,101,121,131,141,151,161,171,181,191:writeln('ìíå ',a,' ãîä');
2..4,22..24,32..34,42..44,52..54,62..64,72..74,82..84,92..94,102..104,122..124,132..134,142..144,152..154,162..164,172..174,182..184,192..194:writeln('ìíå ',a,' ãîäà');
5..20,25..30,35..40,45..50,55..60,65..70,75..80,85..90,95..100,105..120,125..130,135..140,145..150,155..160,165..170,175..180,185..190,195..200:writeln('ìíå ',a,' ëåò');
else WriteLn('ÍÅÂÅÐÍÛÉ ÂÎÇÐÀÑÒ!!!');
end;
end.
+12
View File
@@ -0,0 +1,12 @@
program cha;
var c,x,y,z:char; //char - типо integer только кроме цифр есть буквы и точки
begin
z:= ('z'); // присвоил z значение "z"
WriteLn('введи x');
ReadLn(x); //читаем x
WriteLn(x+z); // складываем символы
WriteLn('4 буквы без пробелa.');
ReadLn(c,x,y,z);
WriteLn(c+x+y+z); // таким образом можно составить слово.
end.
@@ -0,0 +1,13 @@
program div_mod;
var a,one,dec,hun,rec:integer;
begin
WriteLn ('Ââåäèòå ÷èñëî');
ReadLn (a);
one:=a mod 10;
WriteLn ('Öèôðà åäèíèö ÷èñëà - ',one);
dec:=(a div 10) mod 10;
rec:= dec*10+one;
WriteLn ('À ýòî òîæå ÷èñëî - ',rec);
Write ('Enter');
ReadLn;
End.
@@ -0,0 +1,16 @@
program div_mod;
var a,one,dec,hun,rec:integer;
begin
WriteLn ('Ââåäèòå ÷èñëî');
ReadLn (a);
one:=a mod 10;
WriteLn ('Öèôðà åäèíèö ÷èñëà - ',one);
dec:=(a div 10) mod 10;
WriteLn ('Öèôðà äåñÿòêîâ ÷èñëà - ', dec);
hun:= a div 100;
WriteLn ('Öèôðà ñîòåí ÷èñëà - ', hun);
rec:= hun*100+dec*10+one;
WriteLn ('À ýòî òîæå ÷èñëî - ',rec);
Write ('Enter');
ReadLn;
End.
+9
View File
@@ -0,0 +1,9 @@
Program oper;
Var a,b,c,d,e,f: integer;
Begin
Read (a,b,c,d);
E:=a div b;
f:= c mod d;
WriteLn (e);
WriteLn (f);
End.
+8
View File
@@ -0,0 +1,8 @@
Program trololo;
var k,d,r,s:integer;
Begin
ReadLn(k,d);
r:=k div d;
s:=k mod d;
WriteLn('Если разделить ',k,' на ',d,'Получится ',r,'(остаток ',s,')');
end.
@@ -0,0 +1,12 @@
program a7;
var a:real;
b:integer;
begin
ReadLn(a);
a:=a*100;
b:= Trunc (a);
b:=b mod 100;
writeln(b);
a:=(b div 10) + (b mod 10);
writeln(a);
end.
@@ -0,0 +1,14 @@
var a,dec,hun,one,k:integer;
begin
writeLn('Ââĺäčňĺ ÷čńëî');
writeln;
readln(a);
one:=a mod 10;
a:=a div 10;
dec:=a mod 10;
a:=a div 10;
hun:=a mod 10;
a:=a div 10;
K:=hun+dec+one;
write(k);
end.
@@ -0,0 +1,12 @@
var a,dec,hun,one:integer;
begin
writeLn('Ââĺäčňĺ ÷čńëî');
writeln;
readln(a);
one:=a mod 10;
a:=a div 10;
dec:=a mod 10;
a:=a div 10;
writeln(dec);
writeln(one);
end.
@@ -0,0 +1,15 @@
var a,dec,hun,one:integer;
begin
writeLn('Ââĺäčňĺ ÷čńëî');
writeln;
readln(a);
one:=a mod 10;
a:=a div 10;
dec:=a mod 10;
a:=a div 10;
hun:=a mod 10;
a:=a div 10;
writeln(hun);
writeln(dec);
writeln(one);
end.
@@ -0,0 +1,18 @@
var
n: integer;
a: array[byte] of byte;
i, j: byte;
begin
i := 1;
readln(n);
while n > 0 do
begin
a[i] := n mod 10;
inc(i);
n := n div 10;
end;
j := i - 1;
for i := j downto 1 do
writeln(a[i]);
end.
@@ -0,0 +1,18 @@
program procedura;
var c:char;
//---------------------------------------------------
procedure zv; //объявляем процедуру и её название
var i:integer; // процедуры используют только свои переменные, вне процедур их не существует
begin
WriteLn('*******************************'); // собственно, тут то, что делает сама процедура
end;
//---------------------------------------------------
begin
c:='0';
WriteLn('Хочешь звездочек? Y/N');
ReadLn(c);
If c = 'Y' then zv; // Теперь, когда тебе нужны будут звездочки,просто пиши zv;
end.
@@ -0,0 +1,23 @@
program procedura;
var r,r1,s2:integer;
//---------------------------------------------------
procedure zv(a,b:integer; var s:integer); //Допустим, тебе нужно выполнить действие с какими то переменными, которые находятся вне процедуры
begin // для этого создай процедуру, а процедурные переменные укажи в скобках, после названия процедуры
//если ты хочешь, чтобы в последствии этой процедуры изменилась глобальная переменная, указывай её как я указал s, но лучше используй функции.
s:=a+b; //<-- собственно само действие, которое нужно совершить с глобальными переменными,
// ты указываешь тут, только вместо глобальных - процедурные, которые ты указал в скобках
WriteLn(a,' ',b);
end;
//------------------------------------------------
begin
r:=random(5000000);
r1:=random(5000000); // тут, собственно, глобальные переменные, с которыми нужно выполнить действие
WriteLn(r,' ',r1);
zv(r,r1,s2);
WriteLn('Сумма рандомных чисел = ',s2);
end.
@@ -0,0 +1,21 @@
program procedura;
var s2,r1,r:integer;
//---------------------------------------------------
function zv(a,b:integer):integer; // функции - это типо те же процедуры, только с конкретным результатом.
//функция - это и есть результат. отсюда и :integer после скобок
begin
zv :=a+b; // у этой функции результатом является сложение переменных a и b
WriteLn('Помимо этого в функции выполняются любые действия, не связанные с вычислением результата, поэтому эта надпись выведется на экран');
end;
//------------------------------------------------
begin
r:=random(5000000);
r1:=random(5000000);
WriteLn(r,' ',r1);
s2:=zv(r,r1); // переменной s2 присваивается результат функции, и так собственно функция и призывается
WriteLn('Сумма рандомных чисел = ',s2);
end.
+11
View File
@@ -0,0 +1,11 @@
Program While_task_1;
Var a,b:integer;
Begin
ReadLn(b);
a:=1;
While ((a<b) or (a=b)) do
begin
WriteLn(a);
inc (a);
end;
end.
+13
View File
@@ -0,0 +1,13 @@
Program While_Task3;
const n=5;
var a:integer;
begin
WriteLn('Ââåäè 5');
ReadLn(a);
While a<>n do
begin
WriteLn ('Íå âåðíî, ïîïðîáóé åùå');
ReadLn(a);
end;
WriteLn('Ìîëîäåö');
end.
+15
View File
@@ -0,0 +1,15 @@
Program While_Task7;
const n=10;
var a:integer;
begin
While a<> n do
Begin
writeln('hello');
inc(a);
end;
a:=0;
repeat
writeln('hello');
inc(a);
until a=n;
end.
+10
View File
@@ -0,0 +1,10 @@
Program While_Task8;
const n=25;
var a:integer;
begin
a:=3;
Repeat
Writeln(a);
inc(a);
until a>n;
end.
+13
View File
@@ -0,0 +1,13 @@
Program While4;
Var a,b,c:integer;
begin
ReadLn(a,b);
Write (a mod b);
{
while a mod b =0 do
begin
c:=a mod b;
end;
WriteLn(c);
}
end.
@@ -0,0 +1,38 @@
program zap;
type stud = record // record - ñàìà çàïèñü
name : string;
year : record // â record`e record íóæíî óêàçûâàòü ÷åðåç :, âìåñòî =
D : 1..31;
M : string;
Y : integer;
end;
end;
var a :stud; // óêàçûâàåì, ÷òî ïåðåìåííàÿ a = çàïèñü stud
begin
WriteLn('Èìÿ');
ReadLn(a.name);
WriteLn('×èñëî, ìåñÿö, ãîä');
with a.year do begin // with äåëàåò îïåðàöèè ñ çàïèñÿìè
ReadLn(D);
ReadLn(M);
ReadLn(Y);
end;
Case a.year.M of //ïîñëå öèôð a ñòîèò èç - çà îøèáêè, êîòîðóþ õç êàê èñïðàâèòü
'1a' : a.year.M:='ßíâàðü';
'2a' : a.year.M:='ôåâðàëü';
'3a' : a.year.M:='ìàðò';
'4a' : a.year.M:='àïðåëü';
'5a' : a.year.M:='ìàé';
'6a' : a.year.M:='èþíü';
'7a' : a.year.M:='èþëü';
'8a' : a.year.M:='àâãóñò';
'9a' : a.year.M:='ñåíòÿáðü';
'10' : a.year.M:='îêòÿáðü';
'11' : a.year.M:='íîÿáðü';
'12' : a.year.M:='äåêàáðü';
end;
WriteLn(a.name);
WriteLn(a.year.D,' ',a.year.M,' ',a.year.Y);
end.
+13
View File
@@ -0,0 +1,13 @@
program summof30;
const n=30;
type My=array [1..30] of integer; //ìàññèâ èç 30 öåëûõ ÷èñåë
var a: my;
s,i:integer;
begin
WriteLn('ââåäè ',n,' ÷èñåë');
for i:=1 to n do ReadLn(a[i]);//íå çíàþ ÷òî äåëàåò [i], íî òóò âîîäÿòñÿ ÷èñëà
s:=0;
for i:=1 to n do s:=s+a[i]; //âñå åùå íå çíàþ [i], íî òóò ÷èñëà ñêëàäûâàþòñÿ
WriteLn(s);
end.
@@ -0,0 +1,8 @@
program idea;
var m:array [1..10] of integer; // задаю массив состоящий из 10 переменных (!не массив из цифр 1 - 10!)
i:integer;
begin
WriteLn(m); //вывожу эти 10 переменных. изначально, как и все переменные, они равны нулю
m[2]:=2; //второй переменной в массиве [2] присваиваю цифру 2
WriteLn(m); // снова вывожу этот массив, и вторая переменная равна 2
end.
@@ -0,0 +1,25 @@
program nunax;
var c:char;
ch : array[1..4] of char;
i,x:integer;
label l1;
begin
ch[1]:='a';
ch[2]:='b';
ch[3]:='c';
ch[4]:='d'; //записываю переменные в массив
l1: // метка для того чтобы при вводе неверного варианта что то происходило
x:=0; //всегда обнуляй переменные при использовании циклов
WriteLn('введи a,b,c или d');
ReadLn(c); //считывание варианта
for i:=1 to 4 do
begin
if (c<>ch[i]) then inc(x); // тут вариант сравнивается с a b c и d которые внесены в массив
end; // если inc(x) произошло 4 раза, значит вариант не равен ничему из того что есть в массиве
if x<>3 then
begin
Writeln('че?');
goto l1; // собственно сам переход к l1 если введен неверный вариант
end;
WriteLn('end');
end.
@@ -0,0 +1,13 @@
program множества;
var A,B,C: set of 0..9;//0..9 значит, что значения могут быть от 0 и до 9 (включительно)
begin
A:=[1,2,3];
B:=[3,4,5];
C:=A+B;// + объединение
WriteLn(C);
C:=A*B;// * пересечение
WriteLn(C);
C:=A-B;// - вычитание
WriteLn(C);
end.
@@ -0,0 +1,25 @@
program ranodmizer;
Uses crt;
var y,x,i:integer;
const N=5;
begin
i:=1; //ïîïûòêè
y:= random (10); //÷èñëî, êîòîðîå óãàäûâàåøü
//writeln (y);
WriteLn('Óãàäàé ÷èñëî');
ReadLn(x); //óãàäûâàåøü
While ((x<>y)and(i<N+1)) do //åñëè íåâåðíî
begin
{
if x>y then writeln ('Áîëüøå');
if x<y then writeln ('Ìåíüøå');
}
writeLn('Íåâåðíî, ïîïðîáóé åùå ðàç');
ReadLn(x);
inc(i); //åñëè åùå ðàç íåâåðíî,while âåðíåò ê begin
end;
if(x=y)then writeLn ('Ìîëîäåö');
if not (x=y) then writeln ('Òû ïðîèãðàë');
readkey;
end.
@@ -0,0 +1,65 @@
uses crt;
var w,a,s,d,q,e,r,t:integer;
n:byte;
label l1;
begin
l1:
WriteLn('Ââåäèòå êîä');
ReadLn(w);
if w <> 536985 then WriteLn('Íåâåðíî');
if w <> 536985 then goto l1;
WriteLn('Óãàäàéòå ïåðâûé ñèìâîë (áóêâó) ïàðîëÿ');
WriteLn('Èñïîëüçóéòå íîìåð áóêâû àíãëèéñêîãî àëôàâèòà');
WriteLn('Íàïðèìåð ÷òîáû ââåñòè A ââåäèòå 1');
ReadLn(n);
Case n of
1..5,7..26:WriteLn(' íåâåðíî');
6: WriteLn('âåðíî');
end;
WriteLn('Óãàäàéòå 2 ñèìâîë (öèôðó) ïàðîëÿ');
ReadLn(w);
Case w of
2..9:WriteLn(' íåâåðíî');
1: WriteLn('âåðíî');
end;
WriteLn('Óãàäàéòå òðåòèé ñèìâîë (áóêâó) ïàðîëÿ');
WriteLn('Èñïîëüçóéòå íîìåð áóêâû àíãëèéñêîãî àëôàâèòà');
ReadLn(a);
Case a of
1..5,7..26:WriteLn(' íåâåðíî');
6: WriteLn('âåðíî');
end;
WriteLn('Óãàäàéòå 4 ñèìâîë (öèôðó) ïàðîëÿ');
ReadLn(s);
Case s of
2..9:WriteLn(' íåâåðíî');
1: WriteLn('âåðíî');
end;
WriteLn('Óãàäàéòå ïÿòûé ñèìâîë (áóêâó) ïàðîëÿ');
WriteLn('Èñïîëüçóéòå íîìåð áóêâû àíãëèéñêîãî àëôàâèòà');
ReadLn(r);
Case r of
1..5,7..26:WriteLn(' íåâåðíî');
6: WriteLn('âåðíî');
end;
WriteLn('Óãàäàéòå 6 ñèìâîë (öèôðó) ïàðîëÿ');
ReadLn(t);
Case t of
1,3..9:WriteLn(' íåâåðíî');
2: WriteLn('âåðíî');
end;
WriteLn('Óãàäàéòå ïÿòûé ñèìâîë (áóêâó) ïàðîëÿ');
WriteLn('Èñïîëüçóéòå íîìåð áóêâû àíãëèéñêîãî àëôàâèòà');
ReadLn(e);
Case e of
1..5,7..26:WriteLn(' íåâåðíî');
6: WriteLn('âåðíî');
end;
WriteLn('Óãàäàéòå 6 ñèìâîë (öèôðó) ïàðîëÿ');
ReadLn(q);
Case q of
1,3..9:WriteLn(' íåâåðíî');
2: WriteLn('âåðíî');
end;
Readkey;
end.
Binary file not shown.
@@ -0,0 +1,31 @@
program counter;
uses FormsABC;
var
p := new Button('+');
f2 := new FlowBreak;
x := new IntegerField('kills:');
f1 := new FlowBreak(20);
m := new Button('-');
y:integer;
procedure plus;
begin
inc(y);
x.value := y;
end;
procedure minus;
begin
dec(y);
x.Value := y;
end;
begin
MainForm.Title := 'Счетчик';
MainForm.SetSize(250,200);
MainForm.CenterOnScreen;
mainPanel.Dock :=DockStyle.right;
mainPanel.Width := 170;
p.Click += plus;
m.Click += minus;
end.
@@ -0,0 +1,6 @@
program for1;
var i,k,n:integer;
begin
Read(k,n);
For i:=1 to n do WriteLn(k);
end.
@@ -0,0 +1,11 @@
program for2;
var a,b,i,n:integer;
begin
Read(a,b);
For i:=a to b do
begin
WriteLn(i);
n:=n+1
end;
writeln('n=' , n);
end.
@@ -0,0 +1,6 @@
program for3;
var k,n,i:integer;
begin
Read(k,n);
For i:=k to n do WriteLn(k);
end.
@@ -0,0 +1,11 @@
program for4;
var a,b,i,n:integer;
begin
read(a,b);
For i:=a to b do
begin
WriteLn(i);
inc(n);
end;
WriteLn(n);
end.
@@ -0,0 +1,11 @@
program for5;
var a,b,i,n:integer;
begin
read(a,b);
For i:=b-1 downto a+1 do
begin
WriteLn(i);
inc(n);
end;
WriteLn(n);
end.
@@ -0,0 +1,11 @@
Program programma_kotoraia_smogla;//присваеваем имя проге
Var x,y,z,a,b,c: Integer;//назначаем переменные и их тип
Begin
WriteLn ('Слышь, введи 5 цифр через пробел');// приветствие
ReadLn(x,y,z,a,b);//считываем цифры
c:=x-y+z*(a+b);//присваеваем значение переменной "c"
WriteLn(c);//выводим результат
{
Автоподстановка открывается на ctrl+ пробел
}
End.