Informatyka zaoczna eaie
Forum studentów zaocznych informatyki AGH
FAQ
Szukaj
Użytkownicy
Grupy
Galerie
Rejestracja
Profil
Zaloguj się, by sprawdzić wiadomości
Zaloguj
Forum Informatyka zaoczna eaie Strona Główna
->
Algorytmy
Napisz odpowiedź
Użytkownik
Temat
Treść wiadomości
Emotikony
Więcej Ikon
Kolor:
Domyślny
Ciemnoczerwony
Czerwony
Pomarańćzowy
Brązowy
Żółty
Zielony
Oliwkowy
Błękitny
Niebieski
Ciemnoniebieski
Purpurowy
Fioletowy
Biały
Czarny
Rozmiar:
Minimalny
Mały
Normalny
Duży
Ogromny
Zamknij Tagi
Opcje
HTML:
NIE
BBCode
:
TAK
Uśmieszki:
TAK
Wyłącz BBCode w tym poście
Wyłącz Uśmieszki w tym poście
Kod potwierdzający: *
Wszystkie czasy w strefie EET (Europa)
Skocz do:
Wybierz forum
Info
----------------
Informacje
Materiały
----------------
Matematyka
Fizyka
UNIX
Algorytmy
Plan
----------------
Plan zajęć
Zmiany
Wyniki / Zaliczenia
----------------
Egzaminy
Kolosy
Pierdoły
----------------
Hyde Park
Przegląd tematu
Autor
Wiadomość
mapu
Wysłany: Śro 9:14, 06 Cze 2007
Temat postu:
Nie bede zamieszczal gotowych zadan, ale idee rozwiazan.
Jak macie jakies pytania to piszcie.
ad 1.
Zmienna typu int (czyli liczba 0 - 67108863 dziesietnie).
Liczba binarnie wyglada np. tak:
00000000000000000000001001 - to znaczy ze w zbiorze sa literki 'a' i 'd'
Moc obliczamy na przyklad tak:
a). dzielimy modulo nasza liczbe przez 2 (rownoznaczne z otrzymaniem wartosci bitu najbardziej po prawej) i sprawdzamy czy wynik = 1, jezeli tak to zwiekszamy licznik mocy.
b). dzielimy zwyczanie liczbe przez 2 (to jest jakby przesuniecie w prawo o 1 bit)
c). powtarzamy w petli 26 razy i zwracamy licznik mocy na koncu.
ad 2.
Ja bym to zrobil tak:
a). Poniewaz rekordy sa uporzadkowane rosnaco, to mozna zastosowac wyszukiwanie polowkowe. Implementujemy tak aby wskaznik wskazywal na pierwsze nazwisko (jezeli wystepuje).
b). Teraz prosto. Nie wiemy jak imiona sa poukladane, dlatego musimy przejsc liniowo. Czyli caly czas sprawdajac od miejsca skrzyzowana wskaznikow if(nazw == szukaneNazwisko) jednoczenie sprawdzamy if(imie == szukaneImie) jezeli tak to zwracamy true.
Do tego pierwszego warunku z nazwiskiem w else bedzie return false - to znaczy skonczyly nam sie nazwiska, a nie znalezlismy imienia.
ad 7.
Nie wiem czy dobrze rozumiem, ale rozmiar to chyba bedzie po prostu: return k ?
Niech mnie ktos poprawi.
Gość
Wysłany: Wto 23:00, 05 Cze 2007
Temat postu:
Kod:
to są zadanka z kolosa
Jak ktoś ma porawne w 100% rozwiązanie albo pomysł jak rozwiązać niech pisze - pomoże innym i sobie :)
[/quote]
Gość
Wysłany: Wto 22:58, 05 Cze 2007
Temat postu: ASD zadania 03.06.2007 kolos
Cytat:
1.Zbiór 26 liter 'a'..'z' zaimplementowano na 4 bajtowej zmiennej typu integer. Obecność w zbiorze litery 'a' jest równoznaczna z ustawieniem na jeden najmłodszego bitu, itd. Napisać w Pascalu funkcję zwracającą moc zbioru.
2. Dana jest tablica rekordów posortowanych rosnąco wg pola nazw.
osoba = record
nazw : string[30];
imie : string[20];
end;
Napisać w Pascalu efektywną funkcję zwracjącą wartość true jeżeli w tablicy występuje osoba o zadanym nazwisku i imieniu.
3.Napisać procedrę sorującą rosnąco tablicę wg pola imię metodą prostego wybierania.
4.Dany jest stos elementów typu integer zaimplementowany jako jednokierunkowy łańcuch odsyłaczy. Napisać stosowne definicje oraz zaimplementować w Pascalu funkcję usuwającą wszystkie elementy ze stosu.
5.Dane jest niepuste drzewo binarne. Napisać w Pascalu funkcję, która otrzymując wskazanie na korzeń drzewa i wskazanie na dowolny węzeł tego drzewa zwraca wartość true jeżeli węzeł należy do prawego poddrzewa.
6.Dana jest tablica rozproszona t:array[0..max-1] of element, gdzie element jest typu:
element = record
klucz : string;
zajęty : boolean;
end;
Dostępne są funkcjenumeryzacji klucza fn(klucz:string):integer oraz funkcja rozpraszająca hash(kn,i:integer):integer. Napisać funkcję zwracającą wartość true w przypadku gdy rekord o zadanym kluczu występuje w tablicy więcej niż jeden raz.
7.Dana jest kolejka zaimplementowana przy pomocy tablicy:
kolejka = record
p,k : integer; {wskazuje na pierwszy i ostatni element}
tab: array[0..9] of integer;
end;
Napisać w Pascalu funkcję zwracającą rozmiar kolejki.
8.Dany jest graf skierowany przechowywany jako macierz połączeń:
graf = array[1..max,1..max] of boolean. Napisać w Pascalu funkcję zwracającą wartość true gdy każda krawędź w grafie ma krawędź przeciwną.
fora.pl
- załóż własne forum dyskusyjne za darmo
Powered by
phpBB
© 2001, 2005 phpBB Group
Regulamin