Олімпіади з інформатики Взагалі не можна навчитися плавати у пустому басейні і не можна навчитися програмувати не склавши жодної програми, не розвязавши.

Презентация:



Advertisements
Похожие презентации
Програмування на мові Паскаль Тема Цикли. Цикли Цикл – це багатократне виконання однакової послідовності дій. цикл з відомою кількістю кроків цикл з невідомою.
Advertisements

Текстові файли Приклади використання. Текстові файли призначені для зберігання символів Для опису текстової файлової змінної використовується тип Text.
Цикли Розвязування задач НВК "Школа-гімназія "Сихівська"
ОБЧИСЛЮВАЛЬНА СКЛАДНІСТЬ АЛГОРИТМІВ І ПРОГРАМ НА ПРИКЛАДІ ЗАДАЧІ ПРО ЩАСЛИВІ КВИТКИ.
Оператори. Введення і виведення даних. Оператор присвоювання Оператори це команди програми. Оператор присвоювання є основним оператором мови програмування.
Основи алгоритмізації та програмування Вказівка повторення. Цикли.
Ковальчук О.М КОМАНДИ РОЗГАЛУЖЕННЯ (Turbo Pascal 7.0) КОМАНДИ РОЗГАЛУЖЕННЯ (Turbo Pascal 7.0) Інформатика-11 Тема-4 Ковальчук О.М., 2007.
Основи алгоритмізації та програмування Надання значень величинам. Вказівки присвоєння та введення.
Бройченко А.Г КОМАНДИ ПОВТОРЕННЯ (Turbo Pascal 7.0) КОМАНДИ ПОВТОРЕННЯ (Turbo Pascal 7.0) Інформатика-11 Тема-4.
5 клас ??? Сума Доданки Додавання чисел можна показати на координатному промені х х +4.
5 клас. Числові вирази – такі вирази, які складені з чисел, знаків математичних дій і дужок.
Введення даних і виведення результатів. Використання присвоєння Нехай змінній а потрібно надати початкове значення 5, змінній b 10, змінній с -2,5, змінній.
Бройченко А.Г АЛФАВІТ МОВИ (Turbo Pascal 7.0) АЛФАВІТ МОВИ (Turbo Pascal 7.0) Інформатика-11 Тема-3.
Програми з розгалуженнями.Команда IF Підготувала Крилік Анастасія 7-Д.
Тема 2. Розгалуження. Алгоритми розгалуження Задача. Ввести два цілих числа і вивести на екран більше з них. Ідея розвязання: потрібно вивести на екран.
Мета: ввести поняття числового і буквенного виразів і їх значень. Навчити знаходити значення числового і буквенного виразів та користуватися деякими формулами.
Перевірка домашнього завдання 869. Перевірка домашнього завдання 879.
Введення, редагування та форматквання тексту 5 клас.
Задачі для допитливих. 5 – 6 класи. Задачі для допитливих. 1. Одне яйце варять протягом 4 хв. Тоді воно вважається звареним. За скільки хвилин можна зварити.
Основи алгоритмізації та програмування Опрацювання табличних величин: знаходження мінімального або максимального значення серед елементів масиву, кількості.
Транксрипт:

Олімпіади з інформатики Взагалі не можна навчитися плавати у пустому басейні і не можна навчитися програмувати не склавши жодної програми, не розвязавши олімпіадної задачі. Невідомий вчитель інформатики КОЖЕН ХТО БАЖАЄ ВИВЧИТИ ПРОГРАМУВАННЯ ПОВИНЕН САМОСТІЙНО БАГАТО ПРАЦЮВАТИ. Побажання учням.

Підготовка учнів клас – розвиток алгоритмічного мислення (ЛОГО, Scratch) клас – вивчення мови програмування (факультативно, гурток) клас – участь в Інтернет- та Всеукраїнських олімпіадах

Основні методи розвязування олімпіадних задач теорія чисел перебір динамічне програмування геометрія довга арифметика швидке сортування антагоністичні ігри пошук в ширину пошук в глибину послідовності метод половинного поділу скорочений перебір синтаксичний аналіз

Використання Інтернет ресурсів для підготовки учнів до олімпіад

Задача Сircle Василько взяв великого циркуля та зайшов до кімнати, підлога якої являє собою квадрат зі стороною рівною M (M>1м). Поставивши циркуль на перетині діагоналей цього квадрата він почав будувати кола. Перше коло мало діаметр 10 см., друге – 30, трете – 40, четверте – 60, пяте – 70, шосте – 90 см. і т.д. Скільки повних кіл може побудувати в цій кімнаті Василько? Технічні умови. Програма зчитує з клавіатури ціле число M – довжину стіни кімнати в сантиметрах. Програма виводить на екран одне ціле число – кількість повних кіл, які можна тут побудувати. Приклад. Введення> 240 Виведення> 16 Введення> 380 Виведення> 25

Задача Сircle Розвязок var i,d,M :integer; s:real; begin read(M); i:=0; while d<M do begin i:=i+1; {кількість побудованих кіл} s:=frac(i/2); {перевірка остачі від ділення на 2} if s=0 then d:=d+10 else d:=d+20; {перевірка парності кола} end; write(i); end. Перевірка

Задача Vinni Вінні Пух любить складати віршики говорячи речення задом наперед. Якось йому попалось довге складне речення і він забув свій віршик, пробуючи його виговорити. Складіть програму, яка б допомагала ведмедику легко складати такі віршики. Зауваження: віршик може складатись як із 1 слова, так і з декількох, розділених пропусками. Технічні умови. Програма зчитує з клавіатури стрічку-віршик. В кінці віршика ніколи не ставиться крапка. Довжина віршика менша за 255 символів. Програма виводить на екран стрічку, яку отримано внаслідок повороту. Приклад. Введення> роза Виведення> азор Введення> Все медведи любят мед Виведення> дем тябюл идевдем есВ

Задача Vinni var a,b: string; i,n :integer; begin read(a); n:=length(a); {Визначаємо довжину рядка} for i:=n downto 1 do {Запускаємо цикл в зворотньому напрямку} begin b:=copy(a,i,1);{Вирізаємо по 1 букві} write (b);{Друкуємо вирізану букву} end; end. Перевірка

Задача Clock Стрілки годинника рухаються з постійним кутовими швидкостями h годин m хвилин. Найти число повних хвилин до найближчого моменту, в яких стрілки співвпадуть. Технічні умови: Програма читає два цілих числа h та m з клавіатури. Програма виводить. ціле число хвилин на екран. Приклади. Введення: 0 0 Введення: 1 1 Виведення 0 Виведення: 4.

Задача Clock Підказка Стрілки зустрічаються всього 11 раз. Так як кутові швидкості однакові – співпадають через рівні проміжки часу. Всього на годиннику 12 год, співпадають 11 раз – Т=(12*60)/11 (час між співпаданнями) Позначимо h- години m-хвилини (час на годиннику). Від 0:00 до h:m буде 60*h+m хвилин 60*h+m – час від одного із співпадань до h:m Якщо 60*h+m <(12*60)/11 – час до найближчого (останнього) спів- падання Якщо 60*h+m >(12*60)/11, то потрібно шукати 60*h+m -(12*60)/11 60*h+m -2*(12*60)/11 60*h+m -3*(12*60)/11 і т.д. поки 60*h+m <(12*60)/11

Задача Clock var h,m,i :integer; t:real; begin read(h,m); repeat t:=60*h+m-i*((12*60)/11); i:=i+1; until t<((12*60)/11); if t=0 then write(0) else write(trunc((12*60)/11-t)) end. Перевірка

Районна олімпіада з інформатики Кількість літер Задано слово, яке складається з N (N<=200) латинських малих літер. Завдання Напишіть програму, яка визначить кількість літер w, які зустрічаються в даному слові. Вхідні дані слід прочитати з клавіатури. Результат Єдине число (кількість літер w) виведіть на екран. Var s:string; i,v:integer; begin readln(s); v:=0; for i:=1 to length(s) do if copy(s,i,1)='w' then v:=v+1; writeln(v); end.

Районна олімпіада з інформатики Діагональна Дві групи мандрівників прийшли на поле розміру NxN. Одна група спочатку перебуває у лівому нижньому куті й бажає перейти до верхнього правого. Інша група йде з верхнього лівого кута до нижнього правого. Кожна група йде найкоротшим шляхом, уздовж діагоналі. У клітинках поля ростуть квіточки, й мандрівники залюбки їх збирають. Завдання Напишіть програму, яка знайде, скільки квіточок зберуть обидві групи разом. Вхідні дані слід прочитати з текстового файлу diagon.dat. Перший його рядок містить натуральне число N, де NxN – розміри поля. Далі йдуть N рядків по N чисел, рівних кількостям квіточок у відповідних клітинках поля. Числа всередині рядка розділені пропусками. Результат – єдине число (рівне шуканій кількості квіточок зібраних обома групами) – слід вивести у єдиний рядок текстового файлу diagon.sol. Задача з NetOI

Районна олімпіада з інформатики Діагональна

Районна олімпіада з інформатики Parket1» Щоб зобразити за допомогою паркету Новий Візерунок, треба N1 дощечок розмірами 1×1, N2 дощечок розмірами 2×1, N3 роз­мірами 3×1, N4 розмірами 4×1 та N5 дощечок розмірами 5×1. Купити можна лише дощечки розмірами 5×1. Дощечки можна різати, але не можна склеювати. Наприклад, коли потрібні пять дощечок 2×1, їх не можна зробити з двох дощечок 5×1, але можна з трьох. Для цього дві з них розріжемо на три частини 2×1, 2×1 та 1×1 кожну, а третю на дві частини 2×1 та 3×1. Отримаємо потрібні пять дощечок 2×1, а дві дощечки 1×1 та одна 3×1 підуть у відходи. Напишіть програму, яка, прочитавши кількості дощечок N1, N2, N3, N4 та N5, знайде, яку мінімальну кількість дощечок 5×1 необхідно купити. Технічні умови Програма читає з клавіатури пять чисел N1, N2, N3, N4 та N5 (саме в такому порядку), розділені пропусками. Всі числа невідємні, і їх сума менші, ніж 2*109 Програма виводить на екран кількість дощечок 5×1, які необхідно купити. Задача з NetOI

Районна олімпіада з інформатики Parket1» program parket1; var n1, n2, n3, n4, n5, v:real; begin read(n1,n2,n3,n4,n5); v:=v+n5;{Шукаємо кількість дощечок розміром 1х5} v:=v+n4; {Шукаємо кількість дощечок розміром 1х5+1х4} n1:=n1-n4; {Перевіряємо чи залишилися дощечки розміром 1х1 від дощечок 1х4} if n1<0 then n1:=0; v:=v+n3; {Шукаємо кількість дощечок розміром 1х5+1х4+1х3} n2:=n2-n3; {Перевіряємо чи залишилися дощечки розміром 1х2 від дощечок 1х3} if n2<0 then {Якщо не залишились 1х2 то обовязково будуть залишатися 1х1} begin n1:=n1+2*n2; {Шукаємо кількість дощечок розміром 1х1} n2:=0 end; v:=v+n2/2+frac(n2/2); {Шукаємо кількість дощечок розміром 1х5+1х4+1х3+1х2+1х1} n1:=n1-n2/2+frac(n2/2); {шукаємо n1, як залишок після n3, залишок після n2 } if n1<0 then n1:=0; v:=v+int(n1/5+0.5); {Шукаємо кінцеву суму} writeln(v); end.

Поради «бувалого» Щоб навчитися писати програми необхідно: Знати математику. Дуже часто зустрічаються математичні задачі. Вміти спілкуватися. Під час обговорення народжуються багато ідей. Мати здібності. Я так і не навчився грати на фортепіано Усвідомлювати, що тобі це потрібно Мати бажання перемогти. Не до безтями. Навчити інших розвязувати задачі. Необовязково. Але коли пояснюєш іншим, краще розумієш сам. (Найголовніше) Бути хорошою людиною. Якщо ви погана людина то навіть з усіма вашими вміннями, ви нікому не потрібні. Оригінальний текст