Programowanie wspóªbie»ne
|
|
- Grzegorz Jarosz
- 6 lat temu
- Przeglądów:
Transkrypt
1 1 Zadanie 1: Programowanie wspóªbie»ne wiczenia 11 Przestrzenie krotek cz. 1 Obliczanie caªki oznaczonej Rozwa»my iteracyjne obliczanie caªki oznaczonej na przedziale [a, b] metod trapezów. Krok iteracji polega na obliczeniu pola trapezu wyznaczonego przez punkty a, b, f(a), f(b) i porównaniu go z sum pól trapezów zbudowanych na przedziaªach [a, c] i [c, b], gdzie c jest ±rodkiem przedziaªu [a, b]. Je±li ró»nica jest wi ksza od zadanej wielko±ci ɛ, obliczamy rekurencyjnie caªki na przedziaªach [a, c] i [c, b], z dokªadno±ci ɛ 2 ka»d, i sumujemy je. Obliczenie tych caªek powinno odbywa si wspóªbie»nie. Caªy proces powinien by realizowany przez pewn liczb nierozró»nialnych wykonawców pobieraj cych zlecenia z przestrzeni krotek i tam umieszczaj cych zarówno kolejne zlecenia jak te» wyniki. Inicjatorem oblicze«i odbiorc ostatecznych wyników jest odr bny proces zleceniodawcy, który w tym celu wywoªuje funkcj double calka(double a, double b, double epsilon). Celem zadania jest wi c napisanie tre±ci w. w. funkcji oraz procesu wykonawcy. Wykonawca powinien dziaªa w p tli niesko«czonej. double calka(double a, double b, double epsilon) { / woªana przez proces zleceniodawcy / double fa = f(a), fb = f(b); double x, calka, xp, xk, w; tsput("zlecenie %f %f %f %f %f %f", a, b, fa, fb, (fa + fb) (b a) / 2, epsilon); x = a; calka = 0.0; tsfetch("wynik?f?f?f", &xp, &xk, &w); calka += w; x += xk xp; while (x!= b); return calka; double a, b, c, fa, fb, fc, pab, pac, pcb, epsilon ; tsfetch("zlecenie?f?f?f?f?f?f", &a, &b, &fa, &fb, &pab, &epsilon); c = (a + b) / 2; fc = f(c); pac = (fa + fc) (c a) / 2; pcb = (fc + fb) (b c) / 2; if (fabs(pab (pac + pcb)) > epsilon) { tsput("zlecenie %f %f %f %f %f %f", a, c, fa, fc, pac, epsilon / 2); tsput("zlecenie %f %f %f %f %f %f", c, b, fc, fb, pcb, epsilon / 2); else { tsput("wynik %f %f %f", a, b, pab); while (1); W tym rozwi zaniu w funkcji calka pojawia si jedna do± subtelna kwestia. Ze wzgl du na zaokr glenia wyników operacji na liczbach rzeczywistych, mo»e si okaza,»e po zsumowaniu wszystkich odcinków nie tramy w punkt b. Aby unikn takiej sytuacji, mo»emy odbiera wyniki zgodnie z kolejno±ci podprzedziaªów. Odpowiedni fragment w. w. funkcji przyjmie wtedy nast puj c posta.
2 2 xp = a; calka = 0.0; tsfetch("wynik %f?f?f", xp, &xk, &w); calka += w; xp = xk; while (x!= b); Zadanie 2: Sortowanie b belkowe W przestrzeni krotek znajduje si ci g N liczb. Ka»da liczba to krotka w formacie "LICZBA %d %d", gdzie pierwszy element to unikalny indeks tej liczby w ci gu (z przedziaªu 0... N 1) a drugi to warto± tej liczby. Celem zadania jest napisanie wspóªbie»nego algorytmu sortowania b belkowego tego ci gu. W wersji sekwencyjnej algorytm dziaªa w przebiegach. W ka»dym przebiegu, N 1 razy wykonuje si operacj porównywania i ewentualnej zamiany elementów pierwszego z drugim, drugiego z trzecim, trzeciego z czwartym, itd. Po doj±ciu do ko«ca ci gu, przebieg si ko«czy i rozpoczynany jest nast pny, ale jedynie je±li w dopiero co zako«czonym dokonano co najmniej jednej zamiany. W wersji wspóªbie»nej proces sortowania powinien by realizowany przez pewn liczb nierozró»nialnych wykonawców. W efekcie dla dowolnych krotek "LICZBA i v" i "LICZBA j w", powinien by speªniony warunek: je±li i < j, to v w. Dodatkowo, po zako«czeniu sortowania, wszystkie procesy wykonawców powinny si poprawnie zako«czy. Nie musimy natomiast przejmowa si sprz taniem dodatkowych krotek wytworzonych podczas dziaªania algorytmu. bool koniec; int i, j, v, w; while (! tstryread("koniec")) { koniec = true; i = 0; tsfetch("liczba %d?d", i, &v); for (j = 1; j < N; ++j) { tsfetch("liczba %d?d", j, &w); if (v > w) { int tmp = v; v = w; w = tmp; koniec = false; tsput("liczba %d %d", i, v); i = j; v = w; tsput("liczba %d %d", i, v); if (koniec) { tsput("koniec"); Powy»sze rozwi zanie nie pozwala wykonawcom na wyprzedzanie si wzajemnie. Zako«czenie sortowania wymuszane jest przez pojawienie si krotki "KONIEC". Niestety jej wstawienie do przestrzeni dokonywane jest dopiero po sprawdzeniu caªego ci gu. W tym czasie wielu innych
3 wykonawców mogªo ju» niepotrzebnie zacz kolejny przebieg. Nie b dziemy starali si tego wyeliminowa, poniewa» sortowanie b belkowe generalnie nie jest najefektywniejsz metod sortowania. 3 Zadanie 3: Problem hetmanów Problem hetmanów polega na rozmieszczeniu N hetmanów na szachownicy N N tak, aby»aden hetman nie mógª zbi innego zgodnie z zasadami gry w szachy. Celem zadania jest napisanie algorytmu wspóªbie»nego znajduj cego wszystkie rozwi zania tego problemu. Algorytm ma do dyspozycji pewn liczb nierozró»nialnych procesów. Wszystkie wygenerowane przez nie odpowiedzi powinny by umieszczone w przestrzeni krotek. Pojedyncza odpowied¹ powinna zawiera tablic z ustawieniem wszystkich hetmanów. W rozwi zaniu mo»na skorzysta z funkcji bool konikt(int w1, int k1, int w2, int k2), która informuje, czy hetman z pola (w1, k1) bije hetmana stoj cego na (w2, k2), gdzie w1 i w2 to numery wierszy a k1 i k2 to numery kolumn. Procesy realizuj ce algorytm nie musz si ko«czy. W naszym rozwi zaniu procesy b d realizowa zlecenia, które s opisane przez krotki w formacie "ZLECENIE %d[%d] %d %d" i odpowiadaj cz ±ciowym rozwi zaniom problemu. Pierwszy element takiej krotki to n-elementowa tablica (0 n < N) liczb caªkowitych z zakresu 0... N 1, której i-ty element (0 i < n) to indeks wiersza hetmana ustawionego w i-tej kolumnie. Innymi sªowy, krotka odpowiada cz ±ciowemu rozwi zaniu, w którym hetmani zostali ju» umieszczeni w n pierwszych kolumnach. Drugi i trzeci element krotki, natomiast, to indeks odpowiednio pierwszego i ostatniego wiersza w i + 1-szej kolumnie, w którym mo»na próbowa umie±ci hetmana, aby otrzyma rozwi zanie dla n + 1 hetmanów. Zakªadamy,»e pocz tkowo przestrze«krotek zawiera pojedyncz krotk, której pierwszym elementem jest 0-elementowa tablica, drugim elementem jest liczba 0, a trzecim liczba N 1. #dene GRANULARNOSC 4 / liczba równa co najmniej 1 / int t[ N]; / cz ±ciowe rozwi zanie / int n; / liczba hetmanów w cz ±ciowym rozwi zaniu / int pw, ow; / pierwszy i ostatni wiersz do sprawdzenia / tsfetch("zlecenie?d[?d]?d?d", &n, t, &pw, &ow); if (ow pw + 1 > GRANULARNOSC) { int sw = (pw + ow) / 2; tsput("zlecenie %d[%d] %d %d", n, t, pw, sw); tsput("zlecenie %d[%d] %d %d", n, t, sw + 1, ow); else { for (int w = pw; w <= ow; ++w) { / to sprawdzenie te» mo»na próbowa zrównolegli, / / ale na potrzeby zaj darujemy sobie to / bool konf = false; for (int k = 0; k < n &&!konf; ++k) konf = konikt(w, n, k, t[k ]); if (!konf) { t[n] = w; if (n < N 1) / cz ±ciowe rozwi zanie / tsput("zlecenie %d[%d] %d %d", n + 1, t, 0, N 1); else / peªne rozwi zanie / tsput("rozwiazanie %d[%d]", N, t); / if! konf / / for w / / if / while (1); / process /
4 4 Zastanów si, jak wykorzystuj c dodatkowy proces koordynatora sprawi, aby procesy realizuj ce algorytm (w tym koordynator) si sko«czyªy. Zadanie 4: Problem jedz cych lozofów Zakªadamy,»e mamy N lozofów. Filozofowie s rozró»nialni ka»dy ma swój indeks z przedziaªu 0... N 1. Przestrze«krotek natomiast zawiera N krotek odpowiadaj cym widelcom w formacie "WIDELEC \%d", gdzie \%d przyjmuje warto±ci z przedziaªu 0... N 1. Rozwa»my rozwi zanie z procesem lokaja, który b dzie przyjmowaª zgªaszaj cych si lozofów, decyduj c, kiedy pozwoli usi ± im przy stole. enum { GLODNY, / lozof zgªaszaj cy si do lokaja chce usi ± / NAJEDZONY / lozof zgªaszaj cy si do lokaja chce wsta / ; process lokaj() { int wolnemiejsca = N 1; / dowlona warto± od 1 do N 1 / int kto; / indeks zgªaszaj cego si lozofa / int co; / czego chce zgªaszaj cy si lozof / if (wolnemiejsca > 0) { tsfetch("zgšoszenie?d?d", &co, &kto); else { co = NAJEDZONY; tsfetch("zgšoszenie %d?d", co, &kto); switch (co) { case GLODNY: wolnemiejsca; tsput("zgoda %d", kto); break; case NAJEDZONY: ++wolnemiejsca; break; while (1); tsput("zgšoszenie %d %d", GLODNY, i); tsfetch("zgoda %d", i); tsput("zgšoszenie %d %d", NAJEDZONY, i); while (1); Które z operacji tsput w procesie lozofa mog mie inn kolejno±? Które z operacji tsfetch w procesie lozofa mog mie inn kolejno±? Kiedy najwcze±niej mo»na wykona tsput na krotce informuj cej,»e lozof jest NAJEDZONY?
5 Wad tego rozwi zania jest to,»e dost p do stoªu odbywa si sekwencyjnie lokaj wpuszcza lozofów jednego po drugim. Spróbujmy zwi kszy wspóªbie»no± rozwi zania zast puj c lokaja pul biletów. Dokªadniej, zakªadamy»e pocz tkowo w przestrzeni krotek znajduje si M nierozró»nialnych biletów, gdzie M {1... N, to jest krotek o formacie "BILET". Wtedy proces lozofa mo»e wygl da nast puj co. tsfetch("bilet"); tsput("bilet"); while (1); Krotki biletów zwi kszaj wspóªbie»no±, ale stanowi dodatkowy narzut pami ciowy. Mo»emy si ich pozby, zmieniaj c schemat, wedªug którego lozofowie podnosz widelce. if (i % 2 == 0) { else { while (1); Które z rozwi za«b dzie najefektywniejsze przy parzystej liczbie lozofów, ka»dy wykonuj cy si z t sam pr dko±ci? 5
Programowanie wspóªbie»ne
1 Zadanie 1: Programowanie wspóªbie»ne wiczenia 12 Przestrzenie krotek cz. 2 Przychodnia lekarska W przychodni lekarskiej pracuje L > 0 lekarzy, z których ka»dy ma jedn z 0 < S L specjalno±ci, przy czym
Bardziej szczegółowoPodziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie
Cz ± II Podziaª pracy 1 Tablica sortuj ca Kolejka priorytetowa to struktura danych udost pniaj ca operacje wstawienia warto±ci i pobrania warto±ci minimalnej. Z kolejki liczb caªkowitych, za po±rednictwem
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Zadanie 1: Bar Programowanie wspóªbie»ne wiczenia 6 monitory cz. 2 Napisz monitor Bar synchronizuj cy prac barmana obsªuguj cego klientów przy kolistym barze z N stoªkami. Ka»dy klient realizuje nast
Bardziej szczegółowoANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15
ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Programowanie wspóªbie»ne wiczenia 5 monitory cz. 1 Zadanie 1: Stolik dwuosobowy raz jeszcze W systemie dziaªa N par procesów. Procesy z pary s nierozró»nialne. Ka»dy proces cyklicznie wykonuje wªasnesprawy,
Bardziej szczegółowo1 Metody iteracyjne rozwi zywania równania f(x)=0
1 Metody iteracyjne rozwi zywania równania f()=0 1.1 Metoda bisekcji Zaªó»my,»e funkcja f jest ci gªa w [a 0, b 0 ]. Pierwiastek jest w przedziale [a 0, b 0 ] gdy f(a 0 )f(b 0 ) < 0. (1) Ustalmy f(a 0
Bardziej szczegółowoRozwi zania klasycznych problemów w Rendezvous
Cz ± I Rozwi zania klasycznych problemów w Rendezvous 1 Producenci i konsumenci Na pocz tek rozwa»my wersj z jednym producentem i jednym konsumentem, dziaªaj cymi w niesko«czonych p tlach. Mechanizm komunikacji
Bardziej szczegółowo1 Bª dy i arytmetyka zmiennopozycyjna
1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Programowanie wspóªbie»ne wiczenia 2 semafory cz. 1 Zadanie 1: Producent i konsument z buforem cyklicznym type porcja; void produkuj(porcja &p); void konsumuj(porcja p); porcja bufor[n]; / bufor cykliczny
Bardziej szczegółowoAlgorytmy zwiazane z gramatykami bezkontekstowymi
Algorytmy zwiazane z gramatykami bezkontekstowymi Rozpoznawanie j zyków bezkontekstowych Problem rozpoznawania j zyka L polega na sprawdzaniu przynale»no±ci sªowa wej±ciowego x do L. Zakªadamy,»e j zyk
Bardziej szczegółowoBash i algorytmy. Elwira Wachowicz. 20 lutego
Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad
Bardziej szczegółowoLab. 02: Algorytm Schrage
Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z
Bardziej szczegółowoVincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java
J zyk programowania JAVA c 2011 Vincent Van GOGH: M»czyzna pij cy li»ank kawy Zadanie 6. Napisz program, który tworzy tablic 30 liczb wstawia do tej tablicy liczby od 0 do 29 sumuje te elementy tablicy,
Bardziej szczegółowoProgramowanie funkcyjne. Wykªad 13
Programowanie funkcyjne. Wykªad 13 Siªa wyrazu rachunku lambda Zdzisªaw Spªawski Zdzisªaw Spªawski: Programowanie funkcyjne. Wykªad 13, Siªa wyrazu rachunku lambda 1 Wst p Warto±ci logiczne Liczby naturalne
Bardziej szczegółowoMetodydowodzenia twierdzeń
1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych
Bardziej szczegółowoLekcja 9 - LICZBY LOSOWE, ZMIENNE
Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my
Bardziej szczegółowoLekcja 5 Programowanie - Nowicjusz
Lekcja 5 Programowanie - Nowicjusz Akademia im. Jana Dªugosza w Cz stochowie Programowanie i program wedªug Baltiego Programowanie Programowanie jest najwy»szym trybem Baltiego. Z pomoc Baltiego mo»esz
Bardziej szczegółowoCaªkowanie numeryczne - porównanie skuteczno±ci metody prostokatów, metody trapezów oraz metody Simpsona
Akademia Górniczo-Hutnicza im. Stanisªawa Staszica w Krakowie Wydziaª Fizyki i Informatyki Stosowanej Krzysztof Grz dziel kierunek studiów: informatyka stosowana Caªkowanie numeryczne - porównanie skuteczno±ci
Bardziej szczegółowoInterpolacja funkcjami sklejanymi
Interpolacja funkcjami sklejanymi Funkcje sklejane: Zaªó»my,»e mamy n + 1 w zªów t 0, t 1,, t n takich,»e t 0 < t 1 < < t n Dla danej liczby caªkowitej, nieujemnej k funkcj sklejan stopnia k nazywamy tak
Bardziej szczegółowoMetody dowodzenia twierdze«
Metody dowodzenia twierdze«1 Metoda indukcji matematycznej Je±li T (n) jest form zdaniow okre±lon w zbiorze liczb naturalnych, to prawdziwe jest zdanie (T (0) n N (T (n) T (n + 1))) n N T (n). 2 W przypadku
Bardziej szczegółowoMnożenie macierzy. Systemy z pamięcią współdzieloną Systemy z pamięcią rozproszoną Efektywność
Mnożenie macierzy Systemy z pamięcią współdzieloną Systemy z pamięcią rozproszoną Efektywność Literatura: Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; 1 Mnożenie macierzy dostęp do
Bardziej szczegółowoArkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.
Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu. Uk ad graficzny CKE 2010 KOD WPISUJE ZDAJ CY PESEL Miejsce na naklejk z kodem EGZAMIN MATURALNY
Bardziej szczegółowoWska¹niki, tablice dynamiczne wielowymiarowe
Rozdziaª 11 Wska¹niki, tablice dynamiczne wielowymiarowe 11.1 Wst p Identycznie, jak w przypadku tablic statycznych, tablica dynamiczna mo»e by tablic jedno-, dwu-, trójitd. wymiarow. Tablica dynamiczna
Bardziej szczegółowoWybrane poj cia i twierdzenia z wykªadu z teorii liczb
Wybrane poj cia i twierdzenia z wykªadu z teorii liczb 1. Podzielno± Przedmiotem bada«teorii liczb s wªasno±ci liczb caªkowitych. Zbiór liczb caªkowitych oznacza b dziemy symbolem Z. Zbiór liczb naturalnych
Bardziej szczegółowoP tle. Rozdziaª Wst p. 4.2 P tle P tla for(...);
Rozdziaª 4 P tle 4.1 Wst p Niniejszy rozdziaª zawiera opis p tli w j zyku C, wraz z przykªadowymi programami oraz ich obja±nieniem. 4.2 P tle P tla to element j zyka programowania, pozwalaj cy na wielokrotne,
Bardziej szczegółowoPrzetwarzanie sygnaªów
Przetwarzanie sygnaªów Laboratorium 1 - wst p do C# Dawid Poªap Przetwarzanie sygnaªów Pa¹dziernik, 2018 1 / 17 Czego mo»na oczekiwa wzgl dem programowania w C# na tych laboratoriach? Dawid Poªap Przetwarzanie
Bardziej szczegółowoLekcja 9 Liczby losowe, zmienne, staªe
Lekcja 9 Liczby losowe, zmienne, staªe Akademia im. Jana Dªugosza w Cz stochowie Liczby losowe Czasami potrzebujemy by program za nas wylosowaª liczb. U»yjemy do tego polecenia liczba losowa: Liczby losowe
Bardziej szczegółowo0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie
0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na
Bardziej szczegółowoA = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.
Logika i teoria mnogo±ci, konspekt wykªad 12 Teoria mocy, cz ± II Def. 12.1 Ka»demu zbiorowi X przyporz dkowujemy oznaczany symbolem X obiekt zwany liczb kardynaln (lub moc zbioru X) w taki sposób,»e ta
Bardziej szczegółowoDzi kuj za uwag! Spotkania z Pythonem. Cz ± 1 - podstawy - rozwi zania zada« Michaª Alichniewicz. Gda«sk 2014. Studenckie Koªo Automatyków SKALP
Spotkania z Pythonem Cz ± 1 - podstawy - rozwi zania zada«michaª Alichniewicz Studenckie Koªo Automatyków SKALP Gda«sk 2014 Dzi kuj za uwag! Na licencji Creative Commons Attribution-NonCommercial-ShareAlike
Bardziej szczegółowoProgramowanie i struktury danych 1 / 44
Programowanie i struktury danych 1 / 44 Lista dwukierunkowa Lista dwukierunkowa to liniowa struktura danych skªadaj ca si z ci gu elementów, z których ka»dy pami ta swojego nast pnika i poprzednika. Operacje
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowo2 Liczby rzeczywiste - cz. 2
2 Liczby rzeczywiste - cz. 2 W tej lekcji omówimy pozostaªe tematy zwi zane z liczbami rzeczywistymi. 2. Przedziaªy liczbowe Wyró»niamy nast puj ce rodzaje przedziaªów liczbowych: (a) przedziaªy ograniczone:
Bardziej szczegółowoO pewnym zadaniu olimpijskim
O pewnym zadaniu olimpijskim Michaª Seweryn, V LO w Krakowie opiekun pracy: dr Jacek Dymel Problem pocz tkowy Na drugim etapie LXII Olimpiady Matematycznej pojawiª si nast puj cy problem: Dla ka»dej liczby
Bardziej szczegółowoAlgorytmy grafowe 2. Andrzej Jastrz bski. Akademia ETI. Politechnika Gda«ska Algorytmy grafowe 2
Algorytmy grafowe 2 Andrzej Jastrz bski Akademia ETI Minimalne drzewo spinaj ce Drzewem nazywamy spójny graf nie posiadaj cy cyklu. Liczba wierzchoªków drzewa jest o jeden wi ksza od liczby jego kraw dzi.
Bardziej szczegółowoLekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz
Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia
Bardziej szczegółowoALGORYTMY SORTOWANIA DANYCH
ALGORYTMY SORTOWANIA DANYCH W zagadnieniu sortowania danych rozpatrywa b dziemy n liczb caªkowitych, b d cych pierwotnie w losowej kolejno±ci, które nale»y uporz dkowa nierosn co. Oczywi±cie sortowa mo»emy
Bardziej szczegółowoListy i operacje pytania
Listy i operacje pytania Iwona Polak iwona.polak@us.edu.pl Uniwersytet l ski Instytut Informatyki pa¹dziernika 07 Który atrybut NIE wyst puje jako atrybut elementów listy? klucz elementu (key) wska¹nik
Bardziej szczegółowoRekurencyjne struktury danych
Andrzej Jastrz bski Akademia ETI Dynamiczny przydziaª pami ci Pami, która jest przydzielana na pocz tku dziaªania procesu to: pami programu czyli instrukcje programu pami statyczna zwi zana ze zmiennymi
Bardziej szczegółowoRys.2 N = H (N cos = N) : (1) H y = q x2. y = q x2 2 H : (3) Warto± siªy H, która mo»e by uto»samiana z siª naci gu kabla, jest równa: z (3) przy
XXXV OLIMPIADA WIEDZY TECHNICZNEJ Zawody III stopnia Rozwi zania zada«dla grupy mechaniczno-budowlanej Rozwi zanie zadania Tzw. maªy zwis, a wi c cos. W zwi zku z tym mo»na przyj,»e Rys. N H (N cos N)
Bardziej szczegółowoRozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a).
Rozwi zania zada«z egzaminu podstawowego z Analizy matematycznej 2.3A (24/5). Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a). Zadanie P/4. Metod operatorow rozwi
Bardziej szczegółowoMacierze i Wyznaczniki
Macierze i Wyznaczniki Kilka wzorów i informacji pomocniczych: Denicja 1. Tablic nast puj cej postaci a 11 a 12... a 1n a 21 a 22... a 2n A =... a m1 a m2... a mn nazywamy macierz o m wierszach i n kolumnach,
Bardziej szczegółowoJAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1
J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)
Bardziej szczegółowoc Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach
12: w sieciach Spis zagadnie«sieci przepªywowe przepªywy w sieciach ±cie»ka powi kszaj ca tw. Forda-Fulkersona Znajdowanie maksymalnego przepªywu Zastosowania przepªywów Sieci przepªywowe Sie przepªywowa
Bardziej szczegółowoEkonometria Bayesowska
Ekonometria Bayesowska Wykªad 9: Metody numeryczne: MCMC Andrzej Torój 1 / 17 Plan wykªadu Wprowadzenie 1 Wprowadzenie 3 / 17 Plan prezentacji Wprowadzenie 1 Wprowadzenie 3 3 / 17 Zastosowanie metod numerycznych
Bardziej szczegółowoMacierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja
Macierze 1 Podstawowe denicje Macierz wymiaru m n, gdzie m, n N nazywamy tablic liczb rzeczywistych (lub zespolonych) postaci a 11 a 1j a 1n A = A m n = [a ij ] m n = a i1 a ij a in a m1 a mj a mn W macierzy
Bardziej szczegółowoRozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu
Rozdział 6 Pakowanie plecaka 6.1 Postawienie problemu Jak zauważyliśmy, szyfry oparte na rachunku macierzowym nie są przerażająco trudne do złamania. Zdecydowanie trudniejszy jest kryptosystem oparty na
Bardziej szczegółowoModel obiektu w JavaScript
16 marca 2009 E4X Paradygmat klasowy Klasa Deniuje wszystkie wªa±ciwo±ci charakterystyczne dla wybranego zbioru obiektów. Klasa jest poj ciem abstrakcyjnym odnosz cym si do zbioru, a nie do pojedynczego
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoProste modele o zªo»onej dynamice
Proste modele o zªo»onej dynamice czyli krótki wst p do teorii chaosu Tomasz Rodak Festiwal Nauki, Techniki i Sztuki 2018 April 17, 2018 Dyskretny model pojedynczej populacji Rozwa»my pojedyncz populacj
Bardziej szczegółowoLiniowe zadania najmniejszych kwadratów
Rozdziaª 9 Liniowe zadania najmniejszych kwadratów Liniowe zadania najmniejszych kwadratów polega na znalezieniu x R n, który minimalizuje Ax b 2 dla danej macierzy A R m,n i wektora b R m. Zauwa»my,»e
Bardziej szczegółowoX WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)
X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne) Zadanie 1 Obecnie u»ywane tablice rejestracyjne wydawane s od 1 maja 2000r. Numery rejestracyjne aut s tworzone ze zbioru
Bardziej szczegółowoZestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.
ZESTAWY A Zestaw 1 Organizacja plików: Wszystkie pliki oddawane do sprawdzenia nale»y zapisa we wspólnym folderze o nazwie b d cej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko ¹ródªa programów
Bardziej szczegółowoZadania z kolokwiów ze Wst pu do Informatyki. Semestr II.
Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II. Poni»sze zadania s wyborem zada«z kolokwiów ze Wst pu do Informatyki jakie przeprowadziªem w ci gu ostatnich lat. Marek Zawadowski Zadanie 1 Napisz
Bardziej szczegółowoŸ1 Oznaczenia, poj cia wst pne
Ÿ1 Oznaczenia, poj cia wst pne Symbol sumy, j, k Z, j k: k x i = x j + x j+1 + + x k. i=j Przykªad 1.1. Oblicz 5 i=1 2i. Odpowied¹ 1.1. 5 i=1 2i = 2 1 + 2 2 + 2 3 + 2 4 + 2 5 = 2 + 4 + 8 + 16 + 32 = 62.
Bardziej szczegółowoListy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.
Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy
Bardziej szczegółowoASD - ćwiczenia III. Dowodzenie poprawności programów iteracyjnych. Nieformalnie o poprawności programów:
ASD - ćwiczenia III Dowodzenie poprawności programów iteracyjnych Nieformalnie o poprawności programów: poprawność częściowa jeżeli program zakończy działanie dla danych wejściowych spełniających założony
Bardziej szczegółowoUkªady równa«liniowych
dr Krzysztof yjewski Mechatronika; S-I 0 in» 7 listopada 206 Ukªady równa«liniowych Informacje pomocnicze Denicja Ogólna posta ukªadu m równa«liniowych z n niewiadomymi x, x, x n, gdzie m, n N jest nast
Bardziej szczegółowoAlgorytmy i Struktury Danych
Lista zada«. Nr 4. 9 kwietnia 2016 IIUWr. II rok informatyki. Algorytmy i Struktury Danych 1. (0pkt) Rozwi» wszystkie zadania dodatkowe. 2. (1pkt) Uªó» algorytm znajduj cy najta«sz drog przej±cia przez
Bardziej szczegółowoPodstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Bardziej szczegółowoMacierze i Wyznaczniki
dr Krzysztof yjewski Mechatronika; S-I.in». 5 pa¹dziernika 6 Macierze i Wyznaczniki Kilka wzorów i informacji pomocniczych: Denicja. Tablic nast puj cej postaci a a... a n a a... a n A =... a m a m...
Bardziej szczegółowoWst p do sieci neuronowych 2010/2011 wykªad 7 Algorytm propagacji wstecznej cd.
Wst p do sieci neuronowych 2010/2011 wykªad 7 Algorytm propagacji wstecznej cd. M. Czoków, J. Piersa Faculty of Mathematics and Computer Science, Nicolaus Copernicus University, Toru«, Poland 2010-11-23
Bardziej szczegółowoAlgorytmy tekstowe. Andrzej Jastrz bski. Akademia ETI
Andrzej Jastrz bski Akademia ETI Wyszukiwanie wzorca Wyszukiwaniem wzorca nazywamy sprawdzenie, czy w podanym tekscie T znajduje si podci g P. Szukamy sªowa kot: Ala ma kota, kot ma ale. Algorytm naiwny
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoWykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.
Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja
Bardziej szczegółowoMaszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne
Maszyny Turinga Maszyna Turinga jest automatem ta±mowym, skª da si z ta±my (tablicy symboli) potencjalnie niesko«czonej w prawo, zakªadamy,»e w prawie wszystkich (tzn. wszystkich poza sko«czon liczb )
Bardziej szczegółowoEGZAMIN MATURALNY Z INFORMATYKI
Miejsce na naklejk z kodem szko y dysleksja EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY Instrukcja dla zdaj cego CZ I Czas pracy 90 minut 1. Sprawd, czy arkusz egzaminacyjny zawiera 10 stron (zadania
Bardziej szczegółowoGranular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY
Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY PB 2 PB 1 Projekt z grupowania danych - Rough k-medoids Liczba osób realizuj cych projekt: 1 osoba 1. Wczytanie danych w formatach
Bardziej szczegółowoAPI transakcyjne BitMarket.pl
API transakcyjne BitMarket.pl Wersja 20140314 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Odpowiedzi serwera... 3 1.5. Przykładowy
Bardziej szczegółowoCAŠKOWANIE METODAMI MONTE CARLO Janusz Adamowski
III. CAŠKOWAIE METODAMI MOTE CARLO Janusz Adamowski 1 1 azwa metody Podstawowym zastosowaniem w zyce metody Monte Carlo (MC) jest opis zªo-»onych ukªadów zycznych o du»ej liczbie stopni swobody. Opis zªo»onych
Bardziej szczegółowoPRZYBLI ONE METODY ROZWI ZYWANIA RÓWNA
PRZYBLI ONE METODY ROZWI ZYWANIA RÓWNA Metody kolejnych przybli e Twierdzenie. (Bolzano Cauchy ego) Metody kolejnych przybli e Je eli funkcja F(x) jest ci g a w przedziale domkni tym [a,b] i F(a) F(b)
Bardziej szczegółowoInformatyka A. Algorytmy
Informatyka A Algorytmy Spis algorytmów 1 Algorytm Euklidesa....................................... 2 2 Rozszerzony algorytm Euklidesa................................ 2 3 Wyszukiwanie min w tablicy..................................
Bardziej szczegółowoRelacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.
Relacje 1 Relacj n-argumentow nazywamy podzbiór ϱ X 1 X 2... X n. Je±li ϱ X Y jest relacj dwuargumentow (binarn ), to zamiast (x, y) ϱ piszemy xϱy. Relacj binarn okre±lon w zbiorze X nazywamy podzbiór
Bardziej szczegółowoAlgorytmy z powrotami. Algorytm minimax
Algorytmy z powrotami. Algorytm minimax Algorytmy i struktury danych. Wykład 7. Rok akademicki: 2010/2011 Algorytm z powrotami rozwiązanie problemu budowane jest w kolejnych krokach, po stwierdzeniu (w
Bardziej szczegółowoprzewidywania zapotrzebowania na moc elektryczn
do Wykorzystanie do na moc elektryczn Instytut Techniki Cieplnej Politechnika Warszawska Slide 1 of 20 do Coraz bardziej popularne staj si zagadnienia zwi zane z prac ¹ródªa energii elektrycznej (i cieplnej)
Bardziej szczegółowoLekcja 12 - POMOCNICY
Lekcja 12 - POMOCNICY 1 Pomocnicy Pomocnicy, jak sama nazwa wskazuje, pomagaj Baltiemu w programach wykonuj c cz ± czynno±ci. S oni szczególnie pomocni, gdy chcemy ci g polece«wykona kilka razy w programie.
Bardziej szczegółowoSystem zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy
System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy modelowaniem, a pewien dobrze zdefiniowany sposób jego
Bardziej szczegółowoRównania ró»niczkowe I rz du (RRIR) Twierdzenie Picarda. Anna D browska. WFTiMS. 23 marca 2010
WFTiMS 23 marca 2010 Spis tre±ci 1 Denicja 1 (równanie ró»niczkowe pierwszego rz du) Równanie y = f (t, y) (1) nazywamy równaniem ró»niczkowym zwyczajnym pierwszego rz du w postaci normalnej. Uwaga 1 Ogólna
Bardziej szczegółowox y x y x y x + y x y
Algebra logiki 1 W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0
Bardziej szczegółowoEdu-Sense Sp. z o.o. Lubelski Park Naukowo-Technologiczny ul. Dobrzańskiego 3 20-262 Lublin www.edu-sense.com. Strona 1
Scenariusz lekcji 3 Konspekt lekcji w klasie IV szkoły podstawowej. Przedmiot: zajęcia komputerowe. Autor: Anna Stankiewicz-Chatys Temat: Programowanie Ozobotów polecenia powtarzające się. Czas trwania:
Bardziej szczegółowoWST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14
WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 203/4 Spis tre±ci Kodowanie i dekodowanie 4. Kodowanie a szyfrowanie..................... 4.2 Podstawowe poj cia........................
Bardziej szczegółowoTablice cz. I Tablice jednowymiarowe, proste operacje na tablicach
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach Tablice Powiedzmy, że chcemy zapamiętać w programie
Bardziej szczegółowoJanusz Adamowski METODY OBLICZENIOWE FIZYKI Zastosowanie eliptycznych równa«ró»niczkowych
Janusz Adamowski METODY OBLICZENIOWE FIZYKI 1 Rozdziaª 9 RÓWNANIA ELIPTYCZNE 9.1 Zastosowanie eliptycznych równa«ró»niczkowych cz stkowych 9.1.1 Problemy z warunkami brzegowymi W przestrzeni dwuwymiarowej
Bardziej szczegółowoArchitektury systemów komputerowych
zadanie: 1 2 3 4 5 6 7 Suma maks: 12 12 12 18 18 10 18 100 Imi i nazwisko: punkty: Architektury systemów komputerowych Egzamin, wersja A 6.II.2013 Do zdobycia jest 100 punktów. Przewidywana skala ocen:
Bardziej szczegółowoLekcja 1: Wst p do sztucznej inteligencji i systemów ucz cych si
Lekcja 1: Wst p do sztucznej inteligencji i systemów ucz cych si S. Hoa Nguyen Posªuguj c si a) wiedz zdobyt z wykªadu, b) materiaªami dostarczanymi przez sªownik Wikipedia (hasªo sztuczna inteligencja
Bardziej szczegółowoMaksymalna liczba punktów do zdobycia: 80. Zadanie 1: a) 6 punktów, b) 3 punkty, Zadanie 2: a) 6 punktów, b) 4 punkty,
VII Wojewódzki Konkurs Matematyczny "W ±wiecie Matematyki" im. Prof. Wªodzimierza Krysickiego Etap drugi - 17 lutego 2015 r. Maksymalna liczba punktów do zdobycia: 80. 1. Drugi etap Konkursu skªada si
Bardziej szczegółowoVI OIG, Etap II konkurs dru»ynowy. 10 III 2012 Dost pna pami : 32 MB.
Pocisk Pocisk o masie 5g wystrzelono z powierzchni ziemi pionowo w gór z szybko±ci pocz tkow v 0. Jak szybko± b dzie miaª pocisk w chwili, gdy dogoni go odgªos wystrzaªu i na jakiej wysoko±ci to nast pi?
Bardziej szczegółowoTeoria grafów i jej zastosowania. 1 / 126
Teoria grafów i jej zastosowania. 1 / 126 Mosty królewieckie W Królewcu, na rzece Pregole znajduj si dwie wyspy poª czone ze sob, a tak»e z brzegami za pomoc siedmiu mostów, tak jak pokazuje rysunek 2
Bardziej szczegółowowykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis
i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje
Bardziej szczegółowoPodstawy JavaScript. Dawid Poªap. Dawid Poªap Technologia informacyjna Grudzie«, / 13
Podstawy JavaScript Dawid Poªap Dawid Poªap Technologia informacyjna Grudzie«, 2017 1 / 13 Plan na reszt zaj z TI Dzisiaj podstawy podstaw programowania w konsoli. W nowym roku na stronie internetowej
Bardziej szczegółowoCCNA Subnetting Guide
CCNA Subnetting Guide Kataßzyna Mazur January 17, 2015 Contents Classful Networks (Sieci Klasowe) 2 Opis klas adresów 3 Subnetting Based on Network Requirements (Dzielenie sieci ze wzgl du na wymagan ilo±
Bardziej szczegółowoZastosowania matematyki
Zastosowania matematyki Monika Bartkiewicz 1 / 126 ...czy«cie dobrze i po»yczajcie niczego si nie spodziewaj c(šk. 6,34-35) Zagadnienie pobierania procentu jest tak stare jak gospodarka pieni»na. Procent
Bardziej szczegółowo1. Wprowadzenie do C/C++
Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Bardziej szczegółowoFunkcja kwadratowa, wielomiany oraz funkcje wymierne
Funkcja kwadratowa, wielomiany oraz funkcje wymierne Šukasz Dawidowski Nocne powtórki maturalne 28 kwietnia 2014 r. Troch teorii Funkcj f : R R dan wzorem: f (x) = ax 2 + bx + c gdzie a 0 nazywamy funkcj
Bardziej szczegółowoProgramowanie i struktury danych
Programowanie i struktury danych Wykªad 3 1 / 37 tekstowe binarne Wyró»niamy dwa rodzaje plików: pliki binarne pliki tekstowe 2 / 37 binarne tekstowe binarne Plik binarny to ci g bajtów zapami tanych w
Bardziej szczegółowo1 Stos: Stack i Stack<T>
1 Stos: Stack i Stack Przykªady z»ycia: Stos talerzy (aby wyci gn co± ze ±rodka, musimy wyci gn te z góry) Meble ªadowane do naczepy ci»arówki Osoby wsiadaj ce do samolotu i wysiadaj ce z niego. Piramida
Bardziej szczegółowoTwierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski
Twierdzenie Wainera Marek Czarnecki Wydziaª Filozoi i Socjologii Uniwersytet Warszawski Wydziaª Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski Warszawa, 3 lipca 2009 Motywacje Dla dowolnej
Bardziej szczegółowoPrzekroje Dedekinda 1
Przekroje Dedekinda 1 O liczbach wymiernych (tj. zbiorze Q) wiemy,»e: 1. zbiór Q jest uporz dkowany relacj mniejszo±ci < ; 2. zbiór liczb wymiernych jest g sty, tzn.: p, q Q : p < q w : p < w < q 3. 2
Bardziej szczegółowoTemat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.
Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury. Algorytm zachłanny ( ang. greedy algorithm) wykonuje zawsze działanie, które wydaje si w danej chwili
Bardziej szczegółowo