Задача:(Ветвление)
Даны координаты
центров двух окружностей (х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]<a[i] then i:=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 чисел. Найдите количество различных чисел.

Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.