Skip to main content

Программирование

Решения необходимо высылать на электронный адрес usesGraphABC@gmail.com

В теме письма указывайте свою фамилию и номера присланных задач.

 

Задание на 11 марта 2012 года

Решить задачи в виртуальном туре на тестировщике http://informatics.mccme.ru. Необходимо зайти под своим логином, пройти  в раздел "ВНШ-программирование. Новосибирск" и выбрать тур №9 "Зачем нужны окна в вагонах метро?".  

 

 

Внимание! "Золотая середина"!

В связи с подготовкой к олимпиаде "Золотая середина" необходимо до 26.03.2012 выслать решения задач конкурса 2010 года: Паскаль-2010 год. Желаем удачи!

 

Для скачивания:

Задания от 2 февраля 2012 года:

Задача 11.  "Предпоследняя" 

Написать программу, выводящую на экран число, равное биллиарду триллиардов, в тексте которой содержится лишь один ноль «0» и сумма всех используемых чисел положительна  и  минимальна.
 
Задача 12.  "Последняя" 
 
Варвара Гавриловна – учитель физкультуры с большим педагогическим стажем, а Маша Дашкина и Даша Машкина – ученицы 9Б класса с ростом 178 и 203 см соответственно.  
Каждый урок физкультуры в 9Б начинается с хаотичного построения учеников в ряд, причём необязательно по росту. Известно, что в классе всегда присутствуют 20 ребят и нет учеников одинакового роста. Варвара Гавриловна придерживается методики, согласно которой, контрольная в 9Б по физкультуре проводится в том и  только том случае, если Маша стоит в ряду левее Даши. Определите по заданному расположению роста учеников, будет ли контрольная в 9Б или нет? Заметьте, что Маша и/или Даша могут не явиться на занятие. Выведите строчку ‘YES’, если контрольная состоится и ‘NO’  в противном случае.
 
Входные данные (20 чисел) Выходные данные
170 178 162 123 145 167 203 207 146 100 101 102 103 104 105
YES
170 203 162 123 145 178 167 207 146 100 101 102 103 104 105  NO
170 115 162 123 145 167 207 146 178 100 101 102 103 104 105 NO
 
  
 
 
 
 
 
 
Задача 13.  "Самая последняя"  
 
Некоторый талантливый, но ленивый ученик решил написать очень интересную игру под названием «Приключение в зоопарке». Но по некоторым случайным, но уважительным причинам, не дописал игру до конца. Исправьте в коде синтаксические ошибки и допишите игру до логического завершения.
 
uses crt;
var x,y:integer;
    c:char;
 
BEGIN
     x:=150;
     y:=150;
     
     setPenColor(clBlack);
     circle(x,y,10);
     
     c:=readkey();
     
     repeat
           c:=readkey();
           if (c=#77) then;
           begin
                setPenColor(clWhite);
                circle(x,y,10);
                x:=x-10;
                setPenColor(clBlack);
                circle(x,y,10);
           end;
           if (c=#72) then;
           begin
                setPenColor(clWhite);
                circle(x,y,10);
                y:=y-10;
                setPenColor(clBlack);
                circle(x,y,10);
           end;
           if (c=#75) then;
           begin
                setPenColor(clWhite);
                circle(x,y,10)
                x:=x+10;
                setPenColor(clBlack);
                circle(x,y,10);
           end;
           if (c=#80) then;
           begin
                setPenColor(clWhite);
                circle(x,y,10);
                y:=y+10;
                setPenColor(clBlack);
                circle(x,y,10);
           end;
     until c=#27;
END.
 
Задача 14.  "Постскриптум" 
Любознательный, но не внимательный ученик решил написать программу, но допустил в ней ряд ошибок. Воспользовавшись  справкой  PascalABC, определите, что должна делать данная программа и исправьте синтаксические /смысловые ошибки.
 
uses crt;
var n,x:integer;
 
BEGIN
    readln (n);
    x:=n div 10;
    case x of
         0: writeln('До ВНШ осталось ', n,' дней');
         1: writeln('До ВНШ осталось ', n,' день');
         2: writeln('До ВНШ осталось ', n,' день');
         3: writeln('До ВНШ осталось ', n,' дня');
         4: writeln('До ВНШ осталось ', n,' дня');
         5: writeln('До ВНШ осталось ', n,' дней');
         6: writeln('До ВНШ осталось ', n,' дней');
         7: writeln('До ВНШ осталось ', n,' дней');
         8: writeln('До ВНШ осталось ', n,' дней');
         9: writeln('До ВНШ осталось ', n,' дней');
    end;
END.
 

Задания от 13 января 2012 года:

Задача 7. «Ёлки-2»
Дворник Борис больше всего на свете любит 3 вещи: Новый год, ёлки и цифру 2. Именно поэтому он уже 22-ой год подряд на Новый год высаживает в местном парке по ёлке. Напишите программу, использующую ровно 2 переменные, которая выводит на экран изображение существующей еловой аллеи.

Каждая ёлка имеет черешок длины  20 пикселей, занимает в ширину 40 пикселей и выше предыдущей на 10 пикселей.

Задача 8. «Иван Царевич и серый волк»
«Работа не волк – в лес не убежит», - подумал волк и убежал в лес отдыхать. Весь лес разделен между 40 государствами, занимающими квадратную территорию (см. рисунок).

Иван Царевич, имеющий важное рабочее поручение для волка, установил с помощью GPS-навигатора местоположение беглеца и решил ехать за ним. Но для этого Ивану нужно определить, в каком государстве находится волк, чтобы оформить туда визу.
Напишите программу, которая по заданным координатам точки определяет номер государства, в котором она находится.

Входные данные Выходные данные
110   15
 3
230   90
26

 

 

 

 

Задача 9. «Шерлок Холмс»

Шерлок Холмс раскусил преступника и теперь сидит в засаде. При этом каждый час он отправляет по мобильному телетайпу сообщения доктору Ватсону. Каждое сообщение представляет собой некоторое натуральное двухзначное число. По общей договоренности, в случае непредвиденных чрезвычайных обстоятельств, для вызова подкрепления, Холмс будет отправлять  Ватсону число 11. Причем во всех остальных случаях число 11 отправляться не будет. Не смотря на условленности, доктор Ватсон увлекся чтением газеты и пропустил все сообщения Холмса. Когда он взглянул на ленту телетайпа, то увидел там 20 сообщений, по которым можно было понять, что за это время произошла ровно 1 экстремальная ситуация.
Напишите программу, которая по всем сообщениям Холмса будет определять, сколько часов длилось чрезвычайное происшествие.

 

Входные данные (20 чисел) Выходные данные
23  14 17  16  89  73  11  11  11  11  11  56  24 37  91  10  10  63  25  37
5

 

 

 

 

Задача 10. «Элвин и бурундуки»

Согласно традициям, каждый сочельник Элвин гадает на свою судьбу. Причем гаданию на воске и кофейной гуще, Элвин предпочитает гадание на бурундуках. Для этого он выбирает одного бурундука, ставит на ровную поверхность и следит за движением зверька. След, который остается на столе, образует причудливую форму, по которой, используя воображение, можно сделать вывод о том, что ждет гадающего в  будущем.
Напишите программу, моделирующую данное гадание. Известно, что бурундучок каждую секунду случайным образом выбирает одно из трёх направлений для движения (налево, направо, вперед), при этом лицом он всегда обращен в одну сторону и не выбегает за пределы стола.
Пример можно посмотреть здесь: http://youtu.be/zPMyTJdrVs4.
 

Задания от 28 декабря 2011 года:

Задача 1.  Каучуковый край

Компания «Мытищи инкорпорейтед» начала выпуск небьющихся каучуковых ёлочных игрушек. Новая продукция нуждается в хорошей рекламной компании. Напишите программу, создающую анимацию для рекламы небьющихся и отскакивающих от пола шаров.

Вариант 1. (10 баллов) Отскакивание шарика от пола и потолка  http://youtu.be/3FvaxQ58zKk
Вариант 2. (20 баллов) Отскакивание шарика от всех четырёх стенок  http://youtu.be/hSV4s-qKTNc
 
Задача 2. Абсолютно неновогодняя задача (11 баллов)
С клавиатуры вводится число N, а затем N чисел. Подсчитайте, сколько среди заданных N чисел встретилось нулей.
Примеры:
Входные данные Выходные данные
3
2
0
5
1
4
2
0
5
0
2

 

 

 

 

 

 

 

 

 

Задача 3. А Вам слабо? (15 баллов)

Дано целое число n. Выведите следующее за ним четное число. При решении этой задачи нельзя использовать условную конструкцию if и циклы.

Примеры:
Входные данные Выходные данные
7
8
8
10

 

 

 

 

 

Задания от 12 декабря 2011 года:

Задача 0.

Программист Василий очень боится, что злоумышленники украдут его программы и используют их в корыстных целях. Поэтому он перед сохранением всегда стирает часть кода программы, заменяя стёртые части смайликами. Однажды тексты двух программ Василия были случайно выкрадены.  Попытайтесь полностью их восстановить одним из возможных способов, если известно, что после выполнения обоих программ на экране должны появиться три числа: 2, 36, 1. Постарайтесь не использовать программы в корыстных целях =)

Программа А

Программа Б

Задача 1.

Три колобка: красный, жёлтый и зелёный соревнуются в том, кто быстрее пробежит дистанцию длиной 500 пикселей. Красный колобок бежит с постоянной скоростью 20 пикселей в секунду. Жёлтый начал соревноваться со скоростью 10 пикселей в секунду, но каждую секунду ускоряется на 1 п/сек. Зелёный на старте имел скорость 30 п/сек , но каждую секунду теряет 1 п/сек. Написав соответствующую программу, проведите эксперимент и определите, кто из колобков победит.

Задача 2.

Напишите программу

  • выводящую на экран все делители введенного пользователем числа n.
  • подсчитывающую количество делителей введенного числа n.
  • определяющую по введённому числу n, является ли оно простым или составным.

Число n - натуральное и 1<n<100000.

Простое число - это натуральное число, которое имеет ровно два различных натуральных делителя: единицу и самого себя. Все остальные числа, кроме единицы, называются составными.

© "ДИО-ГЕН" Официальный сайт. Все права защищены. При использовании материалов сайта ссылка на сайт обязательна