Laboratorium 11 (Operatory)
Transkrypt
Laboratorium 11 (Operatory)
Zaawansowane j¦zyki programowania Laboratorium 11 (Operatory) Zadanie 1 (0.5 pkt). Napisz p¦tl¦ rownowa»n¡ poni»szej p¦tli f or bez korzystania z operatorów && i ||. for(i=0; i < lim − 1 && (c=getchar()) != '\n' && c != EOF; ++i) Je±li mowa o operatorach w ksi¡»kach to poruszane s¡ dwie kwestie: Pierwsza z nich to kolejno±¢ wykonywania, druga za± to zjawisko przeci¡»ania operatorów. Przeci¡»anie operatorów to metoda na znaczenie podstawowych znanych operatorów w sytuacji, gdy ich argumentami s¡ obiekty zdeniowane przez programist¦. W j¦zykach C++,C# przeci¡»anie operatorów wykonuje si¦ przez u»ycie sªowa kluczowego . znajduje si¦ prosty program w , który przeci¡»a operator dodawania dla liczb zespolonych. operator Tutaj C++ Zadanie 2 (1 pkt). Napisa¢ obiekt (klas¦, struktur¦) dla uªamka zwykªego nieskracalnego postaci ab . Nast¦pnie zdeniowa¢ operacje: dodawania, odejmowania, mno»enia, dzielenia u»ywaj¡c specjalnie zdeniowanych funkcji, a nast¦pnie przy u»yciu przeci¡»ania operatorów. Wykona¢ dziaªania na bardzo du»ych uªamkach i sprawdzi¢ czas dziaªania wybranej operacji przy u»yciu obydwu metod. : Aby otrzyma¢ uªamek nieskracalny b¦dziemy potrzebowa¢ najwi¦kszego wspólnego dzielnika liczb a, b czyli algorytmu Euklidesa. Wskazówka W wi¦kszo±ci j¦zykach programowania istnieje reprezentacja zbioru matematycznego. Jednak w j¦zykach niskiego poziomu np.: denicja zbioru i podstawowych na nim operacji spoczywa na programi±cie. Jednym ze sposobów reprezentowania zbioru jest u»ycie tzw. jego funkcji charakterystycznej. Wówczas zbiór uto»samiany jest z ci¡giem bitów o rozmiarze n, gdzie n jest maksimum danego zbioru. Na przykªad zbiór {1, 3} jest reprezentowany przez ci¡g 101, zbiór {1, 5, 7} przez 1000101 itd. ADA,ANSI C,FORTRAN, ZADANIE DOMOWE Zadanie 3 (1.5 pkt). Napisa¢ program, który b¦dzie obsªugiwaª zbiory np.: {1, 3, 4} {2, 5}, {∅}. Program ma tworzy¢, usuwa¢ zbiory i dokonywa¢ podstawowych operacji, takich jak: suma (znak +), przekrój (znak ∗) ró»nic¦ (znak \) oraz ró»nice symetryczn¡ (znak 4). Przykªadowe dziaªanie programu: A = {1, 2, 3, 4, 5} B = {2, 4, 6} A + B = {1, 2, 3, 4, 5, 6} A ∗ B = {2, 4} A\B = {1, 3, 5} B\A = {6} A4B = {1, 2, 3, 5, 6} Wskazówka: Ró»nica symetryczna nie musi by¢ u»ywana przez zjawisko przeci¡»enia operatorów. Program powinien wypisywa¢ zbiory uporz¡dkowane. TERMIN: Dzie« przed kolejnym laboratorium, godz. 23.59. Rozwi¡zania przesªa¢ na adres: [email protected]