Типовые задачи - Паскаль
Приведена подборка стандартных задач и их решения по программированию на языке Паскаль. Такие задачи чаще всего встречаются в экзаменационных билетах, на контрольных работах, в семестровых заданиях.
{ Составить программу проверки есть ли в тексте буква "s" }
{ Составить программу проверки есть ли в тексте буква "s" }
program z11;
uses crt;
var t : string;
i : integer;
ot : boolean;
begin
clrscr;
writeln('введите текст:');readln(t);
for i:=1 to length(t) do
if t[i]='s' then ot:=true;
if ot=true then write('да')
else write('нет');
readln;
end.
{ Определить лежит ли точка а на прямой y=kx+l }
uses crt;
program z14;
var x,y,l,k : integer;
begin
clrscr;
write('x=');readln(x);
write('y=');readln(y);
write('k=');readln(k);
write('l=');readln(l);
if y=k*x+l then write('Да')
else write('Нет');
readln;
end.
{ Даны координаты вершин треугольника ABC A(x1;y1), B(x2;y2), C(x3;y3)
яв-ся ли треугольник равнобедренным }
program z19;
uses crt;
var x1,x2,x3,y1,y2,y3,a,b,c : real;
begin
clrscr;
write('x1=');readln(x1);
write('y1=');readln(y1);
write('x2=');readln(x2);
write('y2=');readln(y2);
write('x3=');readln(x3);
write('y3=');readln(y3);
a:=sqrt(sqr(x1-x2)+sqr(y1-y2));
b:=sqrt(sqr(x2-x3)+sqr(y2-y3));
c:=sqrt(sqr(x1-x3)+sqr(y1-y3));
if (a=b)or(a=c)or(b=c) then write('равнобедренный')
else write('не равнобедренный');
readln;
end.
{ Составить программу для определения лежит ли точка (x3;y3), на прямой проходящей через точки (x1;y1),C(x2;y2) }
program z20;
uses crt;
var x1,x2,x3,y1,y2,y3 : real;
begin
clrscr;
write('x1=');readln(x1);
write('y1=');readln(y1);
write('x2=');readln(x2);
write('y2=');readln(y2);
write('x3=');readln(x3);
write('y3=');readln(y3);
if (x3-x1)*(y2-y1)-(y3-y1)*(x2-x1)=0
then write('лежит')
else write('не лежит');
readln;
end.
{ Дано предложение, определить кол-во слов в нём. }
program z38;
uses crt;
var tec : string;
l,i,n : longint;
begin
clrscr;
write('введите текст:');readln(tec);
l:=length(tec)+1;tec[l]:=' ';
for i:=1 to l do if tec[i]=' 'then n:=n+1;
write('В тексте ',n,' слов');
readln;
end.
{ Определить является ли данное слово перевертышем. }
program z40;
uses crt;
var a,b,c : string;
i : longint;
begin
clrscr;
write('Введите слово: ');readln(a);
b:='';
for i:=1 to length(a) do b:=a[i]+b;{ переворачиваем слово }
if a=b then write('перевертыш')
else write('не перевертыш');
readln;
end.
{ Дано нат. число n. Верно ли, что сумма цифр этого числа яв-ся нечётной.}
program z1;
uses crt;
var a : string;
t,er,n,i,s : integer;
begin
clrscr;
write('введите число ');readln(a);
s:=0;
for i:=1 to length(a) do
begin
val(a[i],t,er); преобразует строковое в числовое
s:=s+t;
end;
if s mod 2<>0 остаток от деления
then write('сумма яв-ся нечётной')
else write('сумма яв-ся чётной');
readln;
end.