Програма на мові Turbo Pascal, лінійні програми Команди галуження, вибору та мітки переходу
Вид материала | Конспект |
- Компоновать программы из отдельных частей отлаживать программы выполнять программы., 197.76kb.
- Програма Turbo Pascal хід урок, 100.3kb.
- Б. В. Ващук Turbo Pascal, 715.52kb.
- Розділ лінійні програми вступ поняття програми. Мова програмування середовище програмування., 1210.78kb.
- Программирование на языке высокого уровня, 59.92kb.
- Конспект урока по информатике для десятого класса по теме «Условный оператор в Turbo, 32.44kb.
- Доманская Юлия Георгиевна г. Вилейка 2006г пояснительная записка, 74.95kb.
- Опис програми та даних 8 Тестування 9 Список літератури 10 Додаток (роздрук програми), 90.22kb.
- Курс «Программирование на языке Turbo Pascal 0» Цель курса, 19.6kb.
- Задачи работы Научиться создавать программы на языке Turbo Pascal с использованием, 598.05kb.
Задача на обернення слова
Program Oborot;
Uses Crt;
Var r,r1,r2:string[20]; i:integer;
BEGIN Clrscr;r1:='';r2:=''; Write('Введите слово->');Read(r);
For i:=1 to Length(r) do
Begin r1:=Copy(r,i,1); r2:=Concat(r1,r2); End;
Writeln;Writeln(r,' -> ',r2);
Readln;Readln
END.
ЗАДАЧІ ПО ТЕМІ «ТЕОРОІЯ ЧИСЕЛ»
Задача. Якщо двозначне число розділити на добуток його цифр, то в частці буде 4, а в остачі 1. Якщо це число розділити на суму його цифр, то в частці буде 3, а в остачі 1. Знайдіть це число ?
Program Fokus2;
Uses Crt;
Var a,b,c,x,c1:Integer;
BEGIN ClrScr;
For x:=10 to 99 do begin; a:=x div 10;b:=x mod 10;c:=a+b; c1:=a*b;
if ((x div c=3)and(x mod c=1))and((x div c1=4)and(x mod c1=1))
Then Writeln('Будь ласка ваше число X=',x)
end; Readln;Readln
END.
Задача. Скласти програму для визначення автономних чисел.
Автономне число це число квадрат якого останім дорівнює цьому числу НАПРИКЛАД; 52=25, 62=36, 252=625.
Program Avtonomni;
Uses Crt;
Var m,n,x,d:Longint;
BEGIN Clrscr;
Writeln('Введіть числа M i N=');Read(m,n); D:=10;
For x:=m to n do Begin
While d<=x do d:=d*x; If Sqr(x) mod d=x Then
Writeln(X,' автономне, квадрат якого ',Sqr(x))
End; Readkey END.
Задача .Скласти програму для визначення простих чисел близнят. Прості числа, різниця яких дорівнює 2 є близнятами.
Program Blizntzi;
Uses Crt;
Var n,i:integer;
Function prost(n:integer): Boolean; Var j:integer;f:boolean;
Begin j:=2; f:=True;
While (j<=(n div 2)) and f do Begin If n mod j=0 Then f:=False;
Inc(j) End; prost:=f End;
BEGIN ClrScr;
Write('введите значение N= ');Read(n);
FOR i:=2 to N do If Prost(i) and Prost(i+2) Then
Writeln('Близнецы ',i,' и ',i+2);
Readkey
END.
Задача. Знаходження дружних чисел (220 і 284, 1184 і 1210).
Дружні числа це такі числа сума дільників одного з них повинна рівна другому числу і навпаки. НАПРИКЛАД; 1+2+4+5+10+11+20+22+44+55+110=284 i 1+2+4+71+142=220. Програма працює довго.
Program Drujni;
Uses Crt;
Var j,n,k,m:integer;
Function sum(d:integer):integer;
Var i,s:integer;
Begin s:=0;
For i:=1 to d div 2 do if d mod i=0 Then s:=s+1; sum:=s End;
BEGIN Clrscr;
Write('Введіть значення M i N='); Read(m,n); Writeln('Дружні числа:');
For k:=m to n do
For j:=k+1 to n do begin If (sum(k)=j) and (Sum(j)=k) Then
Writeln(k,' i ',j); Writeln(k,'---',j); end; Readkey
END.
Задача. Скласти програму для визначення числа чи є воно поліндромом (121, 13431,..).
Program Polindrom;
Uses Crt;
Var n,k,l,n1:Longint;
BEGIN Clrscr;
Write('Введіть ціле число N=');Read(n);
K:=N; N1:=0; While k>0 do Begin
L:=K mod 10; K:=k div 10; N1:=N1*10+L End;
If (n=n1) Then Writeln(N,'-поліндром')
Else Writeln(N,'-число не є поліндромом'); Readkey
END.
Задача. Скласти програму для визначення пiфагорових чисел в межах вiд 1 до 20.
Program Pifag;
Uses Crt;
Var a,b,c,cx:integer;
BEGIN ClrScr;
Write('Пожалуста,Ваши пифагоровые числа !!');
writeln;
For a:=1 to 20 do
for b:=a to 20 do
Begin cx:=a*a+b*b;c:=1; While c*c<=cx do begin
if c*c=cx then writeln(a,'2+',b,'2=',c,'2'); c:=c+1;
end; End; Readkey END.
Задача. Знаходження досконалих чисели. НАПРИКЛАД; 6, 28, 496, 8128. (6=1+2+3)
Program Udosk_chisla;
Uses Crt;
Var i,n,x,sum:integer;
BEGIN Clrscr;
Write('Введіть число N='); Read(x);
For n:=2 to x do Begin sum:=1;
For i:=2 to n div 2 do If n mod i=0 Then sum:=sum+i;
If sum=n Then Write(n,' ')
End; Readkey
END.
Задача.Скласти програму числового трикутника Паскаля.
Program Tr_pas;
Uses Crt;
Label 1,2;
Var a:array[1..15,1..15]of integer; r,i,k,n,h:integer;
BEGIN 2:ClrScr;r:=40;h:=2;
Write('Введите к-во строк треугольника N<11,N=');read(n);
Writeln;N:=n+1; if n>11 then goto 2; a[1,1]:=1;GotoXY(r,h);
For i:=2 to n do Begin h:=h+1; r:=r-2; GotoXY(r,h);
For k:=2 to i do Begin a[i,k]:=a[i-1,k-1]+a[i-1,k];
If a[i,k]<9 Then Begin;write(a[i,k],' ');goto 1 End;
If a[i,k]>9 then Write(a[i,k],' ');
If a[i,k]>99 then Write(a[i,k],' ');
1:End End; Readkey
END.
Задача .Скласти програму для визначення простих чисел в межах від M до N.
Program Prosti;
Uses Crt;
Var n,i,m:integer;
Function prost(n:integer): Boolean; Var j:integer;f:boolean;
Begin j:=2; f:=True;
While (j<=(n div 2)) and f do Begin
If n mod j=0 Then f:=False;Inc(j) End; prost:=f End;
BEGIN ClrScr; Repeat
Write('Введіть проміжок чисел від M до N=');Readln(m,n);
Until (m>1) and (n>1) and (n>m);Writeln('Прості числа:');
For i:=m to n do If Prost(i) Then Write(i,' '); Readkey
END.
Задача. Програма для визначення факторіала числа в межах від 1 до 33.
Program fact1;
Uses Crt;
Var n:longint; ch:char;
Function fac(nf:longint):longint;
Begin if nf=0 then Begin Fac:=1; exit end;
if nf<>1 then fac:=nf*fac(nf-1) else fac:=1 End;
BEGIN Clrscr; Write('N=');readln(n); Writeln('n!=',fac(n));
ch:=readkey
END.
Задача. Сума цифр числа Х рівна У, а сума цифр числа У рівна Z Знайти Х якщо Х+Y+Z=60.
Program Chislo;
Uses Crt;
Var x,y,z:integer;
BEGIN ClrScr; For x:=1 to 60 do Begin
y:=x div 10+x mod 10; z:=y div 10+y mod 10;
If x+y+z=60 Then Writeln('X=',x) End;
Readkey END. {Ответ Х; 44, 47, 50}
Задача. Чи існують такі двузначні числа ab і cd, якщо ab*cd=abcd.
Program Chislo;
Uses Crt;
Var ab,cd:integer; otwet:boolean;
BEGIN ClrScr; otwet:=false;
For ab:=10 to 99 do
For cd:=10 to 99 do
If ab*cd=ab*100+cd then begin Writeln(ab,cd); otwet:=true End;
if not(otwet) then writeln('Таких чисел нет'); Readkey
END.
Задача. В класі не меньше 95,5% і не більше 96.5% учнів навчаються без "двійок" При якому найменьшому числі учнів це можливо?
Program Ozenki;
Uses Crt;
Var n:integer;
BEGIN ClrScr; N:=1; While not((100/n >= 3.5) and (100/n <=4.5)) do n:=n+1;
Writeln('N=',n); Readkey
END. {Ответ N=23 ученика}
Задача. Послідовність задана в такому виді, а[1]=1, f[2]=2, a[n+1]-2[n]+a[n-1]=1. Визначити a[1995].
Program Naity;
Uses Crt;
Var a1,a2,a:real; n:integer;
BEGIN ClrScr; a1:=2; a2:=1;
While n < 1995 do Begin n:=n+1; a:=1+2*a1-a2; a2:=a1;
a1:=a End; Writeln('A=',a); Readkey
END.
Задача. Написати програму, яка цілій змінній А надає значення
першої цифри дробової частини дійсного числа Х
Program Pr6;
Uses Crt;
Var a:Integer; x,y:Real;
BEGIN ClrScr; Write('Введіть значення X='); Read(x);
X:=ABS(X); Y:=ABS(X-INT(X))*10; A:=TRUNC(y);
Writeln('Значення А=',a);
Readln;Readln
END.
Задача. Написати програму, яка друкує TRUE або FALSE в залежності від того, чи є у цілого числа лише один простий дільник, який більший ніж 20, але менший 30.
Program Pr7;
Uses Crt;
Var b:Integer;
BEGIN ClrScr; Write('Введіть значення B='); Read(b);
Writeln((B MOD 23=0) XOR (b MOD 29=0));
Readln;Readln
END.
Задача. Визначити найбільше число із трьох заданих А, В і С.методом підпрограми-процедури.
PROGRAM bit;
Uses Crt;
Var a,b,c,z:integer;
procedure bid(x,y:integer);{Підпрограма}
var n:integer;
Begin if x>y then n:=x else n:=y;z:=n End;
BEGIN; Clrscr;{Основна програма}
write('Введ?ть три числа ->'); read(a,b,c);
bid(a,b);a:=z;bid(a,c); z:=z;writeln;
writeln(a,' ',b,' ',c,' BIT=',z);Readkey
END.
Задача. Визначити найбільше число із трьох заданих А, В і С. методом підпрограми-функції.
PROGRAM bit;
Uses Crt;
Var a,b,c,z:integer;
function bid(x,y:integer):integer;{Підпрограма}
Begin if x>y then bid:=x else bid:=y End;
BEGIN; Clrscr;{Основна програма}
write('Введ?ть три числа ->'); read(a,b,c); writeln; z:=bid(a,b); z:=bid(z,c);
writeln(a,' ',b,' ',c,' BIT=',z);Readkey
END.
Задача. Скласти програму для суми великих чисел.
Program Summa_bol;
Uses Crt;
Var t:array[1..240]of integer; ch,p,l,l1,l2,i,f,cifra,m1,n1,cod:integer; a,b,m,n:String;
BEGIN ClrScr; Write('Введіть перше число А=');Read(a);Readln;
Write('Введіть друге число В=');Read(b);Readln;
l1:=Length(a);l2:=Length(b);
If l1>l2 Then For i:=1 to l1-l2 do b:='o'+b else
For i:=1to l2-l1 do Begin a:='a'+a End; l:=Length(b); i:=1; p:=0;
While i<= l do Begin m:=Copy(a,l-i+1,1); n:=Copy(b,l-i+1,1);
Val(m,m1,cod); Val(n,n1,cod);
Ch:=m1+n1+p; t[i]:=ch Mod 10; p:=ch div 10; i:=i+1 End;
If p=1 Then Write(p); For i:=l Downto 1 do Write(t[i]); Readkey
END.
Закдача.Скласти програму для сортування одновим. масива.
Program Sort;
Uses Crt;
Var i,a,r,j:integer; x:array[1..100]of integer; y:real;
BEGIN Clrscr;Randomize;
write('Введіть к-ть випадкових чисел К=');read(a);
writeln('Числа до сортування.');
For i:=1 to a do Begin
y:=random(50);x[i]:=round(y);write(round(y),' ');
End; writeln;
For i:=1 to a-1 do Begin
For j:=i+1 to a do Begin
if x[i]>x[j] Then Begin r:=x[i];x[i]:=x[j];x[j]:=r End;
End End;writeln('Числа післе сортування.');
For i:=1 to a do begin write(x[i],' ') end; Readkey
END.
Задача. Визначити існування трикут. по його трьом сторонам А, В і С.
Program Treugolnik;
Uses crt,Graph; label 1;
Var f,f1:text; a,b,c:integer; g,m,r1:integer; t,ot:string[30];
Procedure Trk; Begin If (a+b>c)and(b+c>a)and(c+a>b) then ot:='існує' else
ot:='не існує' End;
Begin clrscr; Assign(f,'vvod.dan');reset(f); Assign(f1,'otvet.res');rewrite(f1);
Read(f,a,b,c); Trk; writeln(f1,ot);
Close(F);close(F1); Initgraph(g,m,'');Setcolor(14);
If ot='не існує' then Begin line(200,50,300+a+b-c,50);goto 1 end;
Line(300,50,300-c,50+a); Line(300,50,300+c,50+b);
Line(300-c,50+a,300+c,50+b);
1: OutTextxy(450,30,'Трикутник '+Ot);
Repeat Until Readkey=#13; Closegraph End.
Задача.Скласти програму для відгадування числа в межах від 1 до 100 задуманого комп’ютером.
program ugad;
uses crt;
var i,a,b,s:integer;
BEGIN clrscr;textmode(co40+font8x8);
randomize;s:=0;b:=round(random(99))+1;
textcolor(12); write('Введите число от 1 до 100->');s:=s+1;read(a);
textcolor(5); writeln('=============================');
repeat if a>b then begin textcolor(11);writeln;write('Возьми меньше->');
read(a);s:=s+1 end else begin textcolor(14);writeln;write('Возьми больше->');
read(a);s:=s+1 end; until a=b;
textcolor(26);writeln;writeln('Отгадал за ',s,' ход.') ; readkey END.
Програма сортування випадкових чисел двовимірного масива
program mas_a_i_j;
var x:array[1..50,1..50] of real; j,n,i:integer; p,ss,s:real;
begin write('Введ. к-во ст.и ряд.мас.A[i,j],N=');read(n);
writeln;writeln('Ваш массив случайных чисел');
writeln; s:=0;ss:=0;p:=0; for i:=1 to n do begin
for j:=1 to n do begin x[i,j]:=int(random*10+1);write(x[i,j]:3:0);
if i=1 then s:=s+x[i,j]; if j=1 then ss:=ss+x[i,j];
if j=i then p:=p+x[i,j] end; writeln;writeln end;
writeln;writeln('Сумма 1-го ряда=',s:3:0); writeln('Сумма 1-го ст.=',ss:3:0);
writeln('Сумма по диагонали,s=',p:2:0)
end.
Скласти програму лінійної системи рівнянь.
Program Systema;
Uses Crt;
Label 1;
Var b:array[1..2,1..3] of integer; s,i,j,ff,d,dx,dy:integer;
Function nsd(a1,b1:integer):integer; var r,r1,r2:integer;
begin r:=a1;r1:=b1; while r1<>0 do begin r2:=r mod r1;r:=r1;r1:=r2 end;
nsd:=abs(r) End;
BEGIN ClrScr;
FOR i:=1 to 2 do begin FOR j:=1 to 3 do begin s:=s+1;
Write('Введіть ',s,'-е число системи ->');read(b[i,j]);
End;writeln;End;s:=0; Writeln(' Система лiнiйних рiвнянь. ');
For i:=1 to 2 do begin Write(b[i,1] ,'X +',b[i,2],'Y =',b[i,3],' ');
ff:=nsd(nsd(b[i,3],b[i,2]),b[i,1]); Write(' <- нсд(',ff,')-> ');
b[i,1]:=b[i,1] div ff;b[i,2]:=b[i,2] div ff; b[i,3]:=b[i,3] div ff;
Write(b[i,1] ,'X+',b[i,2],'Y =',b[i,3]); Writeln end;
D:=b[1,1]*b[2,2]-b[2,1]*b[1,2];
If D=0 Then begin Writeln;writeln('Система розв"язку немає.');goto 1 end;
Dx:=b[1,3]*b[2,2]-b[2,3]*b[1,2]; Dy:=b[2,3]*b[1,1]-b[2,1]*b[1,3]; Writeln;
Writeln('В i д п о в i д ь.'); writeln('X=',dx/d:2:3,' У=',dy/d:2:3);
1: Readkey END.
Задача.Визначити кількість цифр в додатньому цілому числі.
Program Prac4;
uses Crt;
Var x,y,c,k,r:integer;
BEGIN Clrscr;
Write('Введіть ціле число X=');
REPEAT {Перевірка на введене значення додатного числа}
Read(x);
Until (x>0) and (x=trunc(x));
Writeln('Цифра заданого числа ',x); Y:=x; K:=1;
While y>=1 do Begin
C:=trunc(y/10); r:=y-c*10;
Writeln(K,' Цифра=',R); K:=K+1; Y:=c
End;
Writeln('Всього число ',X,' містить ',K-1,' цифр');
Readkey
END.
Задача. Написати програму для переведення градусів в радіани.
Program Pr4;
Uses Crt;
Var x,y:Real;
BEGIN ClrScr;
Write('Введіть кут в градусах Х='); Read(x);
Y:=x/45*ARCTAN(1);
Writeln(X:1:2,' град.=',Y:1:3,' радіан');
Readln;Readln
END.
Мова програмування QBasic
Задача на опредиление число квадратиков
1 CLS:WIDTH 80
5 REM * Число квадратов пересикаемых диагонялью прямоугольника *
10 INPUT "Введите ширину прямоуг. В и высоту А через запьятую =";A,B:IF A=0 THEN 80
12 IF A=B THEN 110
15 IF B=0 THEN 80
40 X=A:Y=ABS(B):IF A
50 R=X-Y*INT(X/Y)
60 IF R=0 THEN PRINT "Найб.общий делитель (НОД)-> А,В=";Y:GOTO 100
70 X=Y:Y=R:GOTO 50
80 PRINT "Повторить ввод.А или В=0":GOTO 10
100 IF Y=1 THEN D=A+B-1:PRINT "К-во пересеч.квадратов К=";D:END
105 D=A+B-Y:PRINT "К-во пересеч.квадратов К=";D:END
110 D=A:PRINT "К-во пересеч.квадратов К=";D:END
Задача на числа Фибоначчи
1 CLS:WIDTH 80
2 INPUT "K-vo N=";N
3 INPUT "Kratn.K=";K
4 DIM C(N)
5 A=0:B=1:R=1
6 PRINT :PRINT "CH I S L A F I B O N A CH CH I" :PRINT
10 FOR I=1 TO N
15 Y=B:B=A+B:A=Y
20 PRINT B" ";
21 IF INT(B/K)*K=B THEN S=S+1:C(S)=B:P=P+C(S):R=R*B
24 NEXT
25 PRINT
26 PRINT :PRINT"K R A T N I ->";K:PRINT
30 FOR I=1 TO S:PRINT C(I)" ";:NEXT
31 PRINT :PRINT
35 PRINT "summa=";P;" proiz.=";R
Задача на вычисление фазы Луны
1 CLS:WIDTH 40
5 REM ЛУНА
10 PRINT "ВОЗРАСТ ФАЗЫ ЛУНЫ В ХХ СТОЛЕТИИ":PRINT
15 INPUT "ВВЕДИТЕ ГОД G=";G:PRINT
20 INPUT "ВВЕДИТЕ ДЕНЬ D=";D:PRINT
25 INPUT "ВВЕДИТЕ МЕСЯЦ M=";M:PRINT
30 S=INT(1/M+.6)
40 N=INT((G-1900-S)*365.25)+INT((M+S*12-2)*30.59)+D+57.5
50 V=N-29.530589#*INT(N/29.530589#)
55 V=INT(V+.6)
60 PRINT "ВОЗРАСТ ФАЗЫ ЛУНЫ=";V;" ДНЕЙ"
70 END
Задача на вычислнения интеграла
1 CLS:WIDTH 80
5 REM integral методом трапеций
6 REM pri a=0,b=1,n=9 otv=1.398283
10 INPUT "Ввeдите ниж.и
верх.знач.интегр.,A,B=";A,B
12 INPUT "Введите к-во отрезков интегря N=";N
15 X=A
20 H=(B-A)/N
30 FOR X=A TO B STEP H
40 Y=SQR(2*X+1)
50 IF X=A OR X=B THEN Y=Y/2
60 S=S+Y
70 NEXT X
80 PRINT"o t v e t =";S*H
85 END
Задача в граф.режиме постр.ромашки
5 CLS
7 SCREEN 0:WIDTH 40
10 INPUT "СКОЛЬКО ЛЕПЕСТКОВ N=";N
15 CLS:SCREEN 1
30 FOR T=0 TO 3.15 STEP .01
40 X=80*SIN(N*T)*COS(T)+160
50 Y=80*SIN(N*T)*SIN(T)+100
60 PSET(X,Y),1
70 NEXT T
72 CIRCLE(160,100),10
74 PAINT(160,100),3
80 LOCATE 23,6:PRINT N;"-ЛЕПЕСТКОВАЯ РОМАШКА"
95 IF INKEY$="" THEN 95
100 END
Задача на построение синусоиды
10 CLS
20 SCREEN 1
30 LINE(1,100)-(360,100),3
40 LINE(1,1)-(1,190),3
50 FOR X=-360 TO 350
60 Y=-30*SIN(X/20)+100
70 PSET(X,Y),2
80 NEXT X
85 COLOR 1
90 LOCATE 20,15:PRINT "СИНУСОИДА"
95 COLOR 3
100 END
Задача на отгадку числа от 1 до 100
1 CLS
5 REM ЧИСЛО
6 COLOR 7
7 PRINT
8 X=X+10
10 PRINT "ОТГАДАЙ ЧИЛО ОТ 1 ДО 100":PRINT
12 A=INT(RND(0)*101)
13 RANDOMIZE(10+X)
15 PRINT
16 S=S+1:INPUT "ВВЕДИ СВОЕ ЧИСЛО N=";N
20 IF N=A THEN PRINT "М О Л О Д Е Ц ":GOTO 40
22 PRINT
25 IF N>A THEN PRINT "ВОЗМИ МЕНЬШЕ ,МУДРЕЦ ":GOTO 15
30 PRINT "ВОЗМИ БОЛЬШЕ ДЯДЯ ":GOTO 15
32 PRINT
40 PRINT "ОТГАДАЛ ЗА ";S;"-ХОД."
41 S=0
42 FOR Z=1 TO 3000:NEXT Z
45 IF INKEY$="" THEN 1
Задача системы линейного уравнения
1 SCREEN 0:WIDTH 40
5 CLS
10 REM СИСТЕМА УРАВНЕНИЙ
15 PRINT "РЕШИТЕ СИСТЕМУ УРАВНЕНИЯ":PRINT
18 COLOR 1
20 PRINT "А*X+B*Y=C":PRINT
22 PRINT "A1*X+B1*Y=C1":PRINT
23 COLOR 15
25 DIM A(2,3)
30 FOR I=1 TO 2
35 FOR J=1 TO 3
40 PRINT "ВВЕДИТЕ ";I;"-Й РЯД ";J;"-E ЧИСЛО";:INPUT A(I,J):PRINT
50 NEXT J
54 PRINT
55 NEXT I
60 D=A(1,1)*A(2,2)-A(2,1)*A(1,2)
65 IF D=0 THEN PRINT "ЕДИНОГО РЕШЕНИЯ НЕТ ":GOTO 100
70 DX=A(1,3)*A(2,2)-A(2,3)*A(1,2)
72 DY=A(2,3)*A(1,1)-A(2,1)*A(1,3)
75 X=DX/D:Y=DY/D
76 COLOR 2
80 PRINT "ОТВЕТ X=";X:PRINT
85 PRINT "ОТВЕТ Y=";Y:PRINT
90 COLOR 15
100 END
Мова програмування „КУМИР”
алг диагональ
нач цел a,b;цел d
| вывод"Введите a,b="; ввод a,b;d:=a+b
| нц пока a<>b
| | если a>b
| | |то a:=a-b
| | |иначе b:=b-a
| | все
| |
| кц
| вывод"nod=",a," d=",d-a
кон
алг калькулятор
нач вещ a,b,x
| лит y
| вывод"Введите два числа А,В="; ввод a,b
| вывод"Введите ариф. операцию ";ввод y
| выбор
| |при y="+" : x:=a+b
| |при y="-" : x:=a-b
| |при y="*" : x:=a*b
| |при y="/" : x:=a/b
| все
| вывод a,y,b,"=",x
кон
алг остаток
нач цел a,b
| вывод"Введите два числа А,В (a>b)";ввод a,b
| если a
| |то поз(0,0);вывод"Введите два числа А,В (a>b)"; ввод a,b
| все
| нц пока a>b
| | a:=a-b
| кц
| вывод"Остаток =",a
кон
Алгоритм шукаем совершенних чисел,тобто чисел,що дорiвнюють сумi всiх своїх дiльникiв,менших за нього. |
алг Совершенные_числа(арг цел м)
дано м>1
надо
нач цел i,j,k,n
| n:=0;i:=4
| нц пока n<м
| | k:=0
| | нц для j от 2 до int(i/2)+1
| | | если mod(i,j)=0
| | | |то k:=k+j
| | | все
| | кц
| | k:=k+1
| | если k=i
| | |то вывод i
| | | n:=n+1
| | все
| | i:=i+1
| кц
кон
алг MAIN(цел n)| ,лит a,b,c)
нач
¦ HANOY(n,"1","2","3")
кон
алг HANOY(цел n,лит a,b,c)
нач
¦ если n=1
¦ ¦то вывод a,b," "
¦ ¦иначе
¦ ¦ HANOY(n-1,a,c,b)
¦ ¦ HANOY(1,a,b,c)
¦ ¦ HANOY(n-1,c,b,a)
¦ все
кон
алг ГРА БАШЕ(арг цел а,n)
дано а>n
надо
нач цел а1,q,w,r,лит s
¦ а1:=а
¦ q:=mod(а1-1,n+1)
¦ если q>0
¦ ¦то а1:=а1-q
¦ ¦ вывод"мiй хiд",q,а1,n
¦ ¦иначе вывод"ваш хiд";ввод w
¦ ¦ если w>n
¦ ¦ ¦то вывод нс,"ви не прав. занесли значен."
¦ ¦ ¦иначе
¦ ¦ ¦ а1:=а1-w
¦ ¦ ¦ вывод а1,n
¦ ¦ ¦ r:=n+1-w
¦ ¦ ¦ а1:=а1-r
¦ ¦ ¦ вывод нс,"мiй хiд",r,а1,n
¦ ¦ все
¦ все
¦ нц пока а1<>1
¦ ¦ вывод нс,"ваш хiд";ввод w
¦ ¦ если w>n
¦ ¦ ¦то вывод нс,"ви не правильно занесли значення"
¦ ¦ ¦ s:="End"
¦ ¦ ¦иначе
¦ ¦ ¦ а1:=а1-w
¦ ¦ ¦ вывод а1,n
¦ ¦ ¦ r:=n+1-w
¦ ¦ ¦ а1:=а1-r
¦ ¦ ¦ вывод нс,"мiй хiд",r,а1,n
¦ ¦ все
¦ кц
¦ вывод нс,"ви програли ха-ха-ха"
кон
алг Система планет
нач цел x,y,рад,n,нсп,вещ к_орб,к_спут,d
¦ вывод("Введiть кiлькiсть супутникiв");ввод n
¦ вывод нс,("Введiть кiлькiсть ланок");ввод d
¦ видео(-1)
¦ нсп:=d
¦
¦ x:=300;y:=240
¦ рад:=80;к_орб:=2;к_спут:=0.4
¦ Планета(x,y,рад,n,нсп,к_орб,к_спут)
кон
алг Планета(арг цел x,y,рад,n,нсп,вещ к_орб,к_спут)
нач цел c,x1,v,t1,i,вещ угол,рад_орб
¦ поз(x-4,y)
¦ круг(рад)
¦ рад_орб:=рад*к_орб
¦ угол:=6.28/нсп
¦ если n>0
¦ ¦то поз(x,y)
¦ ¦ нц для i от 1 до нсп
¦ ¦ ¦ цвет(i+440)
¦ ¦ ¦ x1:=x+рад_орб*cos(угол*i)
¦ ¦ ¦ t1:=y+рад_орб*sin(угол*i)
¦ ¦ ¦ Планета(x1,t1,int(рад*к_спут),n-1,нсп,к_орб,к_спут)
¦ ¦ кц
¦ все
кон
алг Таб_Прост(арг цел a,b)
нач цел a1
¦ a1:=a
¦ нц пока a1<>b
¦ ¦ если N(a1)="просте"
¦ ¦ ¦то вывод a1
¦ ¦ все
¦ ¦ a1:=a1+1
¦ кц
кон
Список використоної літератури
- А.В.Верлань, Н.В. Апатова "Іформатика" для 10-11 кл.
Київ "Форум"-2000р
- А.Левин , "Самоучитель работы на компьютере"-5-ое изд
Москва-1998 год
- В.Є.Фигурнов "ІВМ РС для пользоватилей", крат.курс
Москва-1997 год
.
- Фаронов В.В., "Turbo Pascal-7.0"
Издательство "Нолидж"-1998 год
- А.А. Минько, Microsoft offise-97 для Windows
Киев*Москва*Санкт Петербург -1998 год
.
6. Руденко В.Д.,"Практичний курс інформатики"
Київ -1997 рік
7. В.В. Черняхівський, "Інформатика"-збірник задач з основ
алгоритмізації 10-11 класи, Львів "ВНТЛ"-1997 рік
8. В.М.Трояновский, "Бейсик для начинающих и будущих
профессионалов", Моска "ВЫСШАЯ ШКОЛА" 1992 год.
- Олександр Рудик "Олімпіада з основ інформатики та обчислювальної техніки 1998-99 навчального року в Київській області"
Київ-1999 рік
.9>