Informatika gyűjtemény

Egy szinttel feljebb NYÁK

2004050607080910

NézetNyomtat

NYÁK

Bevezető

A Precíz Mikroelektronikai Vállalat nyomtatott áramköri (NYÁK) lemezek gyártásával foglalkozik. Legegyszerűbb esetben ezek olyan műanyaglemezek, amiket vékony vörösrézréteggel vonnak be, majd ezt a réteget egy adott minta szerint lemarják. A fennmaradó vörösréz-mintán az összefüggő területek vezetékekként alkalmazhatók. Az áramkör készítése az alkatrészek felforrasztásával fejezdőik be. Bonyolultabb, de ma már eltejedt technikákkal (melyeket természetesen a PMV-nél is alkalmaznak) több rétegű huzalozás is kialakítható egy lapon...

© Erik Schorr (arpa.org)
A gyártás fontos fázisa a tesztelés, melyre a PMV a következő technológiát alkalmazza: felforrasztás előtt de a már lemart lapra egy automata gép érintkezőket érint és vizsgálja a köztük lévő elektromos összeköttetést. A gép által kapott eredményeket ezekután egy számítógép veti össze az eredeti tervekkel és eltérés esetén a lap lekerül a gyártósorról. A feladat egy részfeladat leprogramozása a számítógépes tesztprogramhoz.

Feladat

Készíts programot mely bemenetként megkapja a tervrajz egy vezetékének körvonalait majd a tesztelőgép által érkező koordinátákra eldönti, hogy azok a koordináták belül esnek-e ezen a körvonalon.

Bemenet

A bemeneti fájl egy sokszög körvonalait adja meg csúcsainak a koordinátáival. Ez a sokszög a vizsgálandó vezeték körvonala.
A bemeneti fájl első sora a csúcsok 3<=N<=1000 számát adja meg, majd a következő N sorban az -200<=X,Y<=200 koordinátapárok következnek. Az egymás utáni szomszédos koordinátapárok adják meg a sokszög határoló szakaszait. (A zártság érdekében az első és az utlsó koordinátapár is szomszédosnak tekintendő.)
A további bemeneti információkat már nem a fájlból, hanem a program szöveges bemenetéről (standard input) kell beolvasni. A bemeneten X Y alakú sorok fognak érkezni, ahol -200<=X,Y<=200. A bemenet végét egy számpárként nem dekódolhetó sor fogja jelezni. Ennek felismerésére egy lehetséges mód Pascalban:
{$i-} ReadLn(x, y); {$i+}
IF IOResult = 0 THEN {x es y beolvasva}
ELSE {x es y beolvasasa sikertelen}

Kimenet

A program a sokszögleírás beolvasása után interaktívan válaszoljon a standard inputon érkező koordinátákra! Amennyiben az X Y koordinátájú pont belül esik a sokszögön, az IGEN szót és egy soremelést kell kiírni, egyébként a NEM szót és egy soremelést.

Megjegyzések

A sokszög lehet konkáv, de az élei nem metszhetik egymást.

Példa

nyak.bebemenetkimenet
7 0 0 70 0 70 10 50 10 40 30 10 30 0 10 20 20 60 5 30 10 0 20 60 20 vege IGEN IGEN IGEN NEM NEM

Próba

A szakkör folyamán egy online értékelőprogrammal lehetett tesztelni a kész programokat. Az értékelő továbbra is használható (sőt most már talán működik is :)), de a rá mutató linket biztonsági okokból levettem innen...

Tesztadatok

nyak.zip néhány sokszög leírása, tesztkoordináták nélkül