- •Тема: Перебор вариантов. Задача 1. Замечательные числа
- •Задача 2. Острова
- •Задача 3 Клавиатура
- •Задача 4 . Вырубка деревьев
- •Краткие методические рекомендации по решению задачи
- •Оценка решения
- •Формат входных данных
- •Формат выходных данных
- •Работа с большими числами
- •Золото племени абба
- •Сортировка и поиск
- •2. Домашнее задание.
- •Метод перебора вариантов, отсечения перебора
- •Сумма двух чисел
- •Элементы вычислительной геометрии
- •4. Две окружности
- •Эффективные структуры данных
- •5. Поиск прямоугольников (Время: 0,5 сек. Память: 16 Мб Сложность: 34%)
- •Тема 1: «Работа с длинными числами»
- •Тема 2: Алгоритмы поиска и сортировки
- •Тема 3: Аналитическая геометрия
- •Тема 4: Перебор вариантов
- •Тема 5: Строки. Элементы лексического и синтаксического разобра
- •Задача 3. "Функция"
- •Ограничения
- •Площади покрытия антенны
- •Площадь покрытия решение
- •Элементы лексического и синтаксического разбора Шифровка
- •Шифровка Решение
- •Сортировка и поиск Независимые судьи
- •Независимые судьи Решение
- •Сувениры
- •Сувениры Решение
- •Треугольник Условие задачи
- •Треугольник Решение
- •Олимпиадные задачи по информатике
- •Задача 1. «Код да Винчи»
- •Задача 3 «Буквы»
- •Задача 4 «Соревнования»
- •Задача «Красивая последовательность»
- •Тема: Задача на динамическое программирование
- •Динамическое программирование Задача: Черепашка
- •Решение
- •Тема: Работа с большими числами
- •Тема: Сортировка и выбор
- •Задача. Подземная дорога (поиск в ширину)
- •Формат входных данных
- •Задача rebus
- •Задача “Эчпочмаки”
- •Задача “Ниточка”
- •Задача “Обезьяны”
- •Задача Интересное число
Площади покрытия антенны
В настоящее время мобильная связь получила достаточно широкое распространение в мире. Но бывают случаи, когда сигнал с базовой антенны пропадает, чаще всего это происходит, если Вы находитесь в движении, т.е. например, передвигаетесь на автомобиле. Недоступность базовой антенны оператора мобильной связи связаны с рельефом местности и радиусом действия самой антенны, проще говоря, площадью покрытия антенны.
Задание. Вычислить площадь покрытия для антенны, если известен радиус действия радиопередающего устройства, не превышающий 12000 м, а круговая диаграмма направленности антенны представляет собой окружность.
Входной файл input.txt содержит число – радиус действия (в метрах).
В выходном файле output.txt формируется число, обозначающее площадь покрытия антенны.
Пример входных и выходных данных
input.txt |
output.txt |
4 |
5.02654824574367E+001 |
Площадь покрытия решение
Необходимо найти площадь круга заданного радиуса r.
program Ploschad;
var t: text;
r, S: real; // r – радиус круга, S – площадь покрытия антенны
begin
assign (t,'input.txt'); // связываем переменную с файлом ввода данных
reset (t); // открыть файл для чтения
read (t,r); // считываем данные
close(t); // закрываем файл – данные считаны
S := Pi*r*r; // расчет пощади
assign (t,'output.txt'); // связываем переменную с файлом вывода данных
rewrite (t); // перезаписываем данные
write (t, S); // записываем данные в файл вывода данных
close(t); // закрываем файл
end.
Элементы лексического и синтаксического разбора Шифровка
Группа мальчишек играла во дворе в разведчиков. Чтобы передать, друг другу шифровки, дети использовали несложный шифр. Они оставляли в секретных местах листовки с написанным текстом. Зашифрованное слово должно было содержать отсутствующие в тексте буквы латинского алфавита.
Задание. Напишите программу, которая определяет, какие именно латинские буквы отсутствуют в исходном тексте.
Входные данные. В единственной строке входного файла SHIFR.TXT находятся заглавные буквы латинского алфавита. Количество букв в строке не более 255.
Выходные данные. Выходной файл OUTSHIFT.TXT должен содержать 1 строку латинских букв. Каждая буква повторяется единожды.
Пример входных и выходных данных:
-
SHIFR.TXT
OUTSHIFR.TXT
QJZWSXEDCFTGBYHNUMIK
ALOPRV
Шифровка Решение
Задача заключается в том, чтобы определить какие из заглавных букв латинского алфавита не встречаются в тексте.
Для этого прочитаем текст посимвольно и образуем множество латинских букв, которые в нём встречаются. Затем переберём все символы и выведем те, которые не принадлежат множеству.
Множество букв представим типом chars = set of char. Множество букв, которые встречаются в тексте, получим путём добавления каждой прочитанной буквы к множеству, а множество оставшихся букв (absend) – как разницу между множествами всех латинских букв (lats) и букв первого множества (present). Образование множества латинских букв текста оформим процедурой textLets. Перебор и печать символов, не принадлежащих множеству present, оформим процедурой writeSet.
program shifrovka;
type chars = set of char; //объявление типа множества
procedure textLets(var st: chars; const GlobSet: chars); //процедура формирования множества латинских букв текста
var f: text; c: char;
begin
assign(f,'SHIFR.txt'); //назначение входящей файловой переменной
reset(f); //открытие файла для чтения
st:=[]; //начальное значение символьного множества
while not eof(f) do begin //пока не достигнет конца входящего файла
read (f,c); //читаем содержимое входящего файла
if c in GlobSet then st:=st+[c];
end;
close(f);
end;
procedure writeSet(const st:chars); //формирование процедуры перебора и печати множества букв
var f1:text; c:char;
begin
assign(f1, 'OUTSHIFR.txt'); //назначение файловой переменной
rewrite (f1); //открываем файл в режиме замещения существующего
for c:=#0 to #255 do
if c in st then write (f1,c);
close(f1); //закрываем файл
end;
const lats:chars=['A'..'Z']; //задаём все заглавные латинские буквы
var present, absend: chars;
begin
textLets (present, lats); //вызов процедуры формирования 1-го множества
absend:=lats-present; //поиск множества букв не входящих в 1-е множество
writeSet(absend); //вызов процедуры перебора и печати символов 2-го множества
end.
