INFOMAN брой 16
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÞÛÛÛ ÞÛÝ ÛÝ ÞÛÛÛÛÛ ÛÛÛÛÛ ÞÛÛ ÛÛÝ ÞÛÛÝ ÞÛ ÛÝ
ÞÛ ÞÛÛÝ ÛÝ ÞÛ ÞÛ ÛÝ ÞÛÞÛ ÛÝÛÝ ÞÛ ÛÝ ÞÛÛÝ ÛÝ
ÞÛ ÞÛ ÛÝ ÛÝ ÞÛ ÞÛ ÛÝ ÞÛ ÛÜÛ ÛÝ ÞÛ ÛÝ ÞÛ ÛÝ ÛÝ
ÞÛ ÞÛ ÛÝÛÝ ÞÛÛÛÛ ÞÛ ÛÝ ÞÛ ÞÛÝ ÛÝ ÞÛÛÛÛÛÛÝ ÞÛ ÛÝÛÝ
ÞÛ ÞÛ ÛÛÝ ÞÛ ÞÛ ÛÝ ÞÛ ÛÝ ÞÛ ÛÝ ÞÛ ÛÛÝ
ÞÛÛÛ ÞÛ ÛÝ ÞÛ ÛÛÛÛÛ ÞÛ ÛÝ ÞÛ ÛÝ ÞÛ ÛÝ
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ЕДИНСТЕНОТО В БЪЛГАРИЯ СПИСАНИЕ ЗА ЗАДАЧИ ПО ИНФОРМАТИКА
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
E-mail: ÜÜ ÜÜ Home Page:
infoman@musala.com Û Û http://infoman.musala.com/
брой 15 - Ноември, 1999 Û ßÜÜß (c) INFOMAN Team Bulgaria
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
(последен брой)
СЪДЪРЖАНИЕ
ÄÄÄÄÄÄÄÄÄÄÄÄ
ТЕМА АВТОР
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄ
1. (Последно) интро (Infoman)
2. Задачите от Балканиадата по информатика Гърция`99 Светлин Наков
3. Няколко интересни задачки Васил Поповски
4. Една задача от ACM Savoyclub Karnobatski
5. (Последно) заключение (Infoman)
(Последно) интро (Infoman)
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄ
Здравейте инфомани (и инфоманки). Трябва да ви разочаровам, но това е
последният брой на списанието, който аз (главният му редактор) правя. Съ-
желявам. Вече май наистина нямам време да се занимавам със задачи по инфор-
матика, както и с издаването на INFOMAN. Ако някой иска да се занимава със
списанието,моля да се свърже с редакцията и аз ще му дам всичко необходимо,
за да продължи издаването. Сайта на INFOMAN остава (поне засега). Надявам
се списанието наистина да е било полезно на някои от вас. Дано наистина е
имало смисъл от усилията положени в редакцията. Дано да се намери и някой,
който и занапред да издава списанието. Днешната комерсиализация не води до
нищо добро, но в един момент тя е неизбежна.
Млади информатици (и информатички), учете информатика, учете алгорит-
мите, учете задачките по информатика, дори и да ви се струва, че усвояване-
то на тези познания е безполезно.Изобщо не е така! Алгоритмите са основата
на програмирането.Без да знае алгоритми един програмист е просто занаятчия.
И такива ги има много.Не бъдете един от тях.Не се хвърляйте да учите модер-
ните технологии на Били-то (Microsoft) и други подобни преди да сте научи-
ли какво е рекурсия, например, и как можете да обходите едно дърво, защото
и на тези модерни технологии основата е съвкупност от структури от данни и
алгоритми. Това е важното, това е същественото. Всичко друго е боза. Днес
C++ и Java, COM, ActiveX, CORBA и т.н., утре нещо съвсем друго, но изграде-
но пак на основата на алгоритмите. Трябва да разберете структурното и обе-
ктното програмиране в дълбочина. И до днес голяма част от програмистите си
пишат програмите в една колона без отместване и без процедури и функции и
предават параметрите на функциите в глобални променливи. Така не се прави!
Независимо дали програмата ви работи или не, тя не трябва да е написана та-
ка, защото в един момент, когато тя спре да работи, да се поправи ще е мно-
го трудно, да не говорим ако трябва да я поправя друг програмист. Когато
постъпих на работа в София, и трябваше да науча за 2 седмици няколко прог-
рамни езика и куп други неща, един колега ми каза: "Не се притеснявай, ко-
гато научиш 7-8 програмни езика, започва да не ти пука на какво пишеш." По-
вярвайте ми, вярно е! Ако можеш да пишеш, не ти пука на какво пишеш. И за
да можеш да пишеш, трябва да имаш алгоритмично мислене, за което трябва да
знаеш алгоритми и структури от данни. Не трябва един начинаещ да започва
да се учи от Visual C++ или DELPHI, а от обикновено C или Pascal, защото
рискува да научи библиотеките MFC, VCL и COM интерфейсите без да знае как
да намери всички листа на едно дърво например, което ще му потрябва когато
започне да се занимава с релационни бази от данни. Няма повече да ви обяс-
нявам за нуждата от ученето на алгоритми, защото смятам че всички които че-
тат INFOMAN са наясно от тази нужда. Искам да ви пожелая много, много успе-
хи в програмирането и не само, бъдете истински програмисти, бъдете най-доб-
рите, бъдете инфомани!
9.11.1999
Светлин Наков
(бивш) главен редактор на списание INFOMAN
Задачите от Балканиадата по информатика Гърция`99 Светлин Наков
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄ
Предлагам ви решения на 5 от 6-те задачи, които бяха дадени на балка-
ниадата по информатика за ученици, проведена в Гърция 1999 година. Решение
на 6-тата задача не предлагам защото нито аз, нито някой мой познат досега
не е предложил работещо решение. Решение на тази задача има, но то не рабо-
ти достатъчно бързо, за да изпълни критериите на журито. Останалите задачи
са анализирани, решени и описани добре във файловете gallery.pas, krim.pas,
poznati.pas, flipgame.pas и treescnt.pas.
Няколко интересни задачки Васил Поповски
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Изпращам ви нялколко интересни задачки, които съм решавал преди доста
време, още когато пишех на Pascal и реших, че може да са полезни на списа-
ние INFOMAN. Условията и решенията са във файловете izlozba.pas, diof.pas
и optbuy.pas.
Една задача от ACM Savoyclub Karnobatski
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Изпращам едно решение на една от задачите от балканския кръг на отбор-
ното студентско състезание ACM, проведено наскоро в Румъния. Условието е
на английски, а решението е на български, но на латиница, но това да не ви
притеснява - файлът е ACM-FIB.DOC.
(Последно) заключение (Infoman)
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄ
INFOMAN ви пожелава много здраве, успехи, късмет и т.н. Учете алгорит-
ми, пишете програми, работете, защото в информатиката е бъдещето.Тя е един-
ствената професия, за която е гарантирано че след като я изучиш, ако не си
генетично тъп, ще си намериш свястна работа. И ... умната! Който учи, ще
сполучи (ама ако учи каквото трябва -:)))
File List:
infoman16.txt
diof.pas
flipgame.pas
gallery.pas
acm-fib.html
izlozba.pas
krim.pas
optbuy.pas
poznati.pas
treescnt.pas