Програма на мові 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.
Мова програмування 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.
0>