Програма на мові Turbo Pascal, лінійні програми Команди галуження, вибору та мітки переходу

Вид материалаКонспект
Мова програмування Turbo Pascal Задача. Створити програму яка б виконувала арифмет. дії
Задача. Скласти програму для визначення правильності поставлених дужок в математичному виразі.
Задача про гривну (отримати здачу із суми до 100 гривень в банкнотах)
Задача.Скласти програму знаходження куб суми (своїх чисел) введеного числа в межах від 100 до 999.
Задача Розкласти число на множники.
Програми з літерними величинами
Задача на заміну букви або слова
Подобный материал:
1   ...   9   10   11   12   13   14   15   16   17




Мова програмування Turbo Pascal

Задача. Створити програму яка б виконувала арифмет. дії


Program Calc;

Uses Crt;

Var Operation:Char; {Знак математичної операції}

x,y,z:Real; {Операнди(x,y) і результат(z)}

Stop :Boolean;{Признак помилкової операції і зупинки}

BEGIN ClrScr; Stop:=False;

Repeat Writeln;{Початок цикла введ.даних і пустий рядок}

Write('Введіть X,Y= ');Readln(X,Y);

Write('Введіть операцію:(+ , - , * , / ) -> ');

Readln(Operation);

Case Operation Of {Оператор початкy вибора мат.операції}

'+' : z:=x+y;

'-' : z:=x-y;

'*' : z:=x*y;

'/' : z:=x/y;

Else {Оператор ІНАКШЕ виконуй дану вказівку}

Stop := True; {Істина (правда) }

End;

If Not stop Then

Writeln('Відповідь= ',z:1:4);

Writeln('Признаком кінця прогр.введіть любу букву');

Until Stop; {Кінець циклу Repeat}

Readkey

END.

Задача. Скласти програму для визначення правильності поставлених дужок в математичному виразі.

Program Scobka;

Uses Crt;

Var x:string; c,i:integer; F: Boolean;

BEGIN Clrscr;

Write('Введіть послідовно дужки Х=');Read(x);

C:=0; F:=true;

For i:=1 to Length(x) do Begin

If x[i]='(' Then C:=C+1; If x[i]=')' Then C:=C-1;

If c<0 Then F:=false End;

If c>0 Then F:=false ;

If c=0 Then Writeln('Правильно')

Else Writeln('Неправильно');

Readkey END.

{ НАПРИКЛАД. Х=(2+4)*((23-45), відповідь. "Неправильно". }

Задача про знаходження шляхів ходів шахматнох фірзі на полі 5х5.

Program F;

Uses Crt;

Var i,j,A1,B,c,q,v,h:integer;

a:array [1..5,1..5] of integer;

BEGIN ClrScr ; c:=5;q:=2;v:=5;h:=2;

For i:=1 to 5 do Begin

q:=q+1;v:=v+2;gotoxy(v,2);textcolor(13);write(i);h:=h+1;

gotoxy(4,h);textcolor(13);write(i);

For j:=1 to 5 do Begin c:=c+2;

A[i,j]:=0;gotoxy(c,q); textcolor(14);Write(a[i,j]);

end;c:=5 end; writeln;writeln;

textcolor(12);write ('Введите i,j=');read(A1,B); c:=5;q:=2;

For i:=1 to 5 do Begin q:=q+1;

For j:=1 to 5 do Begin c:=c+2;

A[i,j]:=0;gotoxy(c,q); textcolor(14);Write(a[i,j]);

If i=A1 then Begin gotoxy(c,q); textcolor(15);Write('-');end;

If j=B then Begin gotoxy(c,q); textcolor(15);Write('|') end;

If i+j=a1+b then Begin gotoxy(c,q); textcolor(15);Write('/');end;

If i+b=j+a1 then Begin gotoxy(c,q); textcolor(15);Write('\');end;

If (j=B)and(i=a1) then Begin gotoxy(c,q); textcolor(11);Write('F') end; End;c:=5 End;writeln; Readkey

END.

Задача про гривну (отримати здачу із суми до 100 гривень в банкнотах)


program grivna;

Uses Crt;

Var s,sk:integer;

Procedure bb(v:integer;Var ss,ssr:integer);{Підпрограма}

{V-> ціна банкнот,SS-> сума грошей, SSR-> к-ть банкнот}

Var b:integer;

Begin b:=ss div v; if b>0 then begin

ssr:=ssr+b;Writeln(v,'-гр. :',b,'-шт.');ss:=ss mod v

end end;

BEGIN ClrScr; {Початок основної програми}

Write('Введіть суму грошей в гривнях -> ');read(s);

Writeln('------------------------------------');

Writeln(S,' -cума грошей виражена в банкнотах');

Writeln('======================================');

SK:=0; {Звернення до процидури (BB)}

bb(100,s,sk); bb(50,s,sk); bb(25,s,sk); bb(10,s,sk); bb(5,s,sk); bb(2,s,sk);

bb(1,s,sk); Writeln('***************************************');

Writeln('В с е г о -(',sk,'-шт.)- б а н к н о т.'); readkey;

END.

Задача.Визначити скільки буде кроленят за рік, якщо на початку року була одна пара кролів.

Program Krolik;

Uses Crt;

Var k:integer;

Function f(n:integer):integer;

Begin if n=0 then f:=1 else

if n=1 then f:=2 else f:=f(n-2)+f(n-1) End;

BEGIN ClrScr;

Write(' Одна пара кроликов даст приплод за:'); Writeln;

FOR k:=10 to 12 do

Write(' ',k,'-> мес.=',f(k),'шт.'); readkey; END.


Задача.Скласти програму знаходження куб суми (своїх чисел) введеного числа в межах від 100 до 999.

Program kub_x;

Uses Crt;

Var a,b,c,x:integer;

BEGIN ClrScr;

write('Пожалуста, Ваші шукані куб.суми числа від 100 до 999'); writeln;

for x:=100 to 999 do begin

a:=x div 100;

b:=x mod 100 div 10;

c:=x mod 10;

if x=a*a*a+b*b*b+c*c*c then

write(x,' '); end; readkey;

END.

Задача Розкласти число на множники.

Program mnoj;

uses crt;

var s,i,n:integer;

begin ClrScr;s:=0;

writeln('Разклад числа на множники');

writeln('----------------------------- ');

write('Введите число N=');read(n);

writeln(' '); write('Число ',n,'= ');

while n mod 2=0 do begin s:=s+1;

if s=1 then write(2); write('*',2); n:=n div 2 end;

i:=3;while i<=n do if n mod i=0 then begin

if s=0 then write(i);s:=s+1; write('*',i); n:=n div i end

else i:=i+2; readln;readln

END.


Програми з літерними величинами


Задача.Скласти програму для знаходження кількості голосних букв в веденому слові

Program Golosni;

Uses Crt;

Var i:integer;sv:string;

Procedure rach(var n:integer;b:string);

Var j:integer;

Begin N:=0;

For j:=1 to Length(b) do If b[j] in ['а','о','у','е','i','и'] Then N:=n+1 End;

BEGIN Clrscr;i :=0;

Write('Введите слово->');Read(sv);readln;

rach(i,sv); Writeln(i,' -голосних букв ');

Readln;Readln

END.


Задача на заміну букви або слова

Program Zamena;

Uses Crt;

Var r,r1,r2:string; N:integer;

BEGIN ClrScr;TextColor(14);

Write('Введiть слово або текст-> ');Read(r);Readln; TextColor(11);

Write('Замiнити букву або слово-> ');Read(r1);Readln;

Write('На iншу букву або слово-> ');Read(r2);Readln;

While Pos(r1,r)>0 do Begin N:=pos(r1,r);Delete(r,n,Length(r1)); Insert(r2,r,n) End; TextColor(14);

Write('Нове слово або текст-> ');Write(r);

Readln END.