Задача:(Ветвление)
Даны координаты центров двух окружностей (х1,у1) и (х2,у2), а также их радиусы R1 и R2 (R1>R2). Определить взаимное расположение окружностей.
расстояние от точки до точки
Program fffff;
var x1,x2,y1,y2,r1,r2,d:real;
begin
readln(x1,x2,y1,y2,r1,r2);
d:=sqrt(sqr(x1-x2)+sqr(y1-y2));
if d=r1+r2 then write('касаются') else
if d>r1+r2 then write('не касаются') else write('пересекаются');
readln;
end.
Задача: (Символьные величины)
Составить программу, которая определяет количество букв «а» в заданном тексте
program fff;
var a,b:string;
i,n,k:integer;
begin
readln(a);
n:=length(a);
for i:=1 to n do
begin
if a[i]='а' then k:=k+1;
end;
writeln('в слове ',a,' буква А встречается ',k,' раз');
readln;
end.
Задача: (Символьные величины)
Составить программу, которая определяет количество слов в заданном тексте при условии, что слова разделены пробелом.
program fff;
var a,b:string;
i,n,k:integer;
begin
readln(a);
n:=length(a);
for i:=1 to n do
begin
if a[i]=' ' then k:=k+1;
end;
writeln('в тексте: ',a,', количество слов= ',k);
readln;
end.
Задача: ( Массив)
Дан массив А(6). Нужно расположить в порядке возрастания элементы массива.
program aaa;
var a: array[1..6] of real;
k,i,j,:integer;
min:real;
begin
writeln('введи шесть элементов массива');
for k:=1 to 6 do readln(a[k]);
writeln('элементы массива по возрастанию');
for k:=1 to 6 do
begin
i:=k;
for j:=k+1 to 6 do if a[j]
min:=a[k];
a[k]:=a[i]; a[i]:=min; write(a[k]:5:0);
end;
readln;
end.
Задача: ( Массив)
С клавиатуры вводятся N числа. Составьте программу, которая определяет количество положительных, отрицательных чисел и нулей среди введённых чисел. Значение N вводится с клавиатуры.
Program AAAAAA;
var i,n: integer;
s,c,k: real;
M:array[1..n1] of real;
begin
writeln('введи число элементов<= 100');
readln(n);
writeln('введи элементы');
for i:=1 to n do read(M[i]);
s:=0; c:=0; k:=0;
for i:=1 to n do
begin
if M[i]<0 then s:=s+1 else
if M[i]>0 then c:=c+1 else k:=k+1;
end;
writeln('колличество положительных чисел = ',c:2:0);
writeln('колличество отрицательных чисел = ',s:2:0);
writeln('колличество нулей = ',k:2:0);
readln;
readln;
end.
Задача: ( Массив с символьными переменными)
Составить массив из пяти фамилий, и вывести на экран столбиком, начиная с последней.
program fff;
var v:array[1..5] of string;
i:integer;
begin
writeln('введи пять фамилий');
for i:=1 to 5 do readln(v[i]);
writeln(' фамилии наоборот:');
for i:=5 downto 1 do writeln(v[i]);
readln;
end.
Задача: ( Массив с символьными переменными)
Составить массив из пяти фамилий, и вывести на экран те из них, которые начинаются с определённой буквы, которая вводиться с клавиатуры.
Длину строки можно указать в разделе описания переменных:
<имя переменной, …>:string[n]
program fff;
var v:array[1..5] of string;
k:string[1];
i:integer;
begin
writeln('введи букву, с которой будет начинаться фамилия');
readln(k);
writeln('введи пять фамилий');
for i:=1 to 5 do readln(v[i]);
writeln('интересующие Вас фамилии:');
for i:=1 to 5 do
if (v[i])[1]=k then writeln(v[i]);
readln;
end.
Задача: ( Массив с символьными переменными)
Из вводимого с клавиатуры слова вырезать каждую третью букву.
program aa;
var a:string;
k,x: integer;
begin
readln(a);
k:=length(a);
x:=3;
while x<=k do
begin
a[x]:=' ';
x:=x+3;
end;
writeln(a);
readln;
end.
Задача: ( Массив с символьными переменными)
В вводимом слове с клавиатуры заменить все буквы «а» на букву «о».
program aa;
var a:string;
k,x: integer;
begin
readln(a);
k:=length(a);
for x:=1 to k do
if a[x]='а' then a[x]:='о';
writeln(a);
readln;
end.
Задача: ( Массив с символьными переменными)
Заданны фамилия, имя, отчество учащегося, разделённые пробелами. Напишите программу, печатающую фамилии ученика и его инициалы.
program aaa;
uses crt;
var d,r:string;
k,i:integer;
begin
clrscr;
writeln('введи Ф.И.О.');
readln(d);
k:=length(d);
for i:=1 to k do
begin
if d[i]=' ' then d:=copy(d,1,i)+d[i+1]+'.';
end;
writeln(d);
readln;
end.
Задача: ( Цикл)
Найти сумму чисел от 100 до 200 кратные 17 и вывести их.
PROGRAM Ret2;
VAR i: integer; s:real;
Begin
s:=0;
For i:=100 to 200 do
Begin
If i mod 17=0 then
begin
Writeln(i);
s:=s+i;
End;
End;
Writeln('сумма чисел=',s:5:0);
readln;
End.
Задача: ( Массив)
Ввести с клавиатуры 10 чисел. Если квадрат чисел меньше 100, напечатать порядковый номер, число и его квадрат.
program Svetlana;
var A: array [1..10] of real;
i: integer;
begin
for i:=1 to 10 do readln (A[i]);
writeln ('число и его квадрат');
for i:=1 to 10 do
begin
if A[i]*A[i]<100 then
begin
writeln ('A[',i,']=', A[i]:2:1);
writeln (A[i]*A[i]:5:1);
end;
end;
readln;
end.
Задачи для школьной олимпиады среднего звена
1)Заданны два целых числа А и В. Найдите сумму чётных чисел от А до В.

2)Определить, является ли строка палиндромом.

3) Даётся последовательность из N чисел. Найдите количество различных чисел.
