Презентация по теме "Решение олимпиадных задач п опрограммированию"

  • ppt
  • 23.03.2022
Публикация в СМИ для учителей

Публикация в СМИ для учителей

Бесплатное участие. Свидетельство СМИ сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Презентация по теме _Решение олимпиадных задач по программированию_.ppt

Задача 1. Простейшая.

Проверить, поместится ли на диске компьютера музыкальная композиция, которая длится m минут и n секунд, если свободное дисковое пространство 6 мегабайт, а для записи одной секунды звука необходимо 16 килобайт.

1 мегабайт=1024 килобайт,
6 мегабайт=6x1024=6144 килобайт. Обозначим
t - время звучания композиции в секундах t=60*m+n
v - объём файла композиции в килобайтах, тогда: v=16*t

var m,n,t,v:integer;
begin
writeln('Введите m и n');
readln(m,n);
t:=60*m+n;
v:=16*t;
if v<=6144 then writeln('Композиция поместится')
else writeln('Не хватает ',v-6144,' килобайт');
end.

Задача 2. Шахматы

Координаты двух полей шахматной доски заданы в виде двух пар чисел x1,y1 и x2,y2. На первом поле стоит ферзь, на втором - конь. Определить, бьет ферзь коня, конь - ферзя, или фигуры не угрожают друг другу.

Program shahmaty;
Var x1,y1,x2,y2: integer;
Begin
Write(‘введите коор-ты ферзя’);
Read(x1,y1);
Write(‘введите коор-ты коня’);
Read(x2,y2);

if (x1=x2)or(y1=y2) or
(abs(x1-x2)=abs(y1-y2)) then
writeln('Ферзь бьёт коня')
else if (abs(x1-x2)=2) and (abs(y1-y2)=1) or
(abs(x1-x2)=1)and(abs(y1-y2)=2) then
writeln('Конь бьёт ферзя')
else writeln('Фигуры не угрожают друг другу');

Ферзь (с координатами x1,y1) бьёт те поля которые находятся с ним на одной вертикали (x2=x1), на одной горизонтали (y2=y1), или на любой из диагоналей
(|x2 - x1| = (|y2 - y1|).

Конь: поля, которые он бьёт, определяются по правилу: либо
|x1 - x2| = 2 и |y1 - y2|=1, либо
|x1 - x2| = 1 и |y1 - y2| = 2.

Задача 3. Факториал

var n,i:integer;
       p: real;
begin
readln(n);
p:=1;
for i:=1 to n do p:=p*i;
writeln(n,'!=',p:1:0);
end.