Programowanie Obiektowew języku C++ Zadania L2

Podobne dokumenty
Programowanie Obiektowew języku C++ Zadania L2

Podstawy programowania w języku C++ Zadania

Programowanie Obiektowew języku C++ Zadania L4

Programowanie Obiektowew języku C++ Zadania L4

Programowanie Obiektowew języku C++ Zadania L8

Programowanie Obiektowew języku C++ Zadania L9

Podstawy programowania w języku C++ Zadania - dziedziczenie i polimorfizm

Październik Data Dzień tygodnia Szczęśliwy numerek [Wybierz inny miesiąc]

2017 r. STOPA BEZROBOCIA r. STOPA BEZROBOCIA

ODCZYT STANU WODY NA RZECE DRWĘCY mierzone dla posterunku Nowe Miasto Lubawskie

ORGANIZATOR SPORTU DZIECI I MŁODZIEŻY W ŚRODOWISKU WIEJSKIM

Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw

Wolumen - część II Budynki Urzędu Gminy Kulesze Kościelne i Ochotniczej Straży Pożarnej Grodzkie Nowe w grupie taryfowej G

Programowanie Obiektowo Zorientowane w języku c++ Konstruktory

ROK 2007 Sprawozdanie o rynku pracy Styczeń

IV SEKTOR - HARMONOGRAM WYWOZU ODPADÓW WIELKOGABARYTOWYCH Z BUDYNKÓW WIELORODZINNYCH NA 2015 ROK

Programowanie Obiektowo Zorientowane w języku C++ Klasy, pola, metody

Karta Aktualizacji Nr 1/P/1/2014 Instrukcji Ruchu i Eksploatacji Sieci Dystrybucyjnej

HARMONOGRAM ZAJĘĆ J. ANGIELSKI I SEMESTR rok akademicki 2015/2016 zimowy

GRUPA 1. Adres: Plac Kościuszki 13, Tomaszów Mazowiecki

Wymiar czasu pracy w kwartałach 2018r. pełny etat

SEMESTR II. 08:15-10:30 Sieci komputerowe WYKŁAD 10:45-13:00 Sieci komputerowe LABORATORIUM 13: PRZERWA. mgr inż.

Pośrednictwo pracy i aktywne formy przeciwdziałaniu bezrobociu styczeń 2002 r. Oferty pracy

Pośrednictwo pracy i aktywne formy przeciwdziałaniu bezrobociu styczeń 2003 r. Oferty pracy

ROK 2004 Sprawozdanie o rynku pracy Styczeń

Wymiar czasu pracy w kwartałach 2018r. pełny etat

Wymiar czasu pracy w kwartałach 2018r. pełny etat

Programowanie proceduralne w języku C++ Podstawy

Nazwa Grupy: Warsztaty plastyczne Rok szkolny:2017/2018. Wrzesień 2017

UCHWAŁA NR XXXIII/257/2016 RADY MIASTA KRAŚNIK. z dnia 22 grudnia 2016 r.

Programowanie proceduralne w języku C++ Pętle, tablice

Pojazdy zarejestrowane w Polsce w 2014 r.

Technik BHP. semestr II Ustalanie przyczyn i okoliczności wypadków Ustalanie przyczyn i okoliczności wypadków

Programowanie proceduralne w języku C++ Pojęcia podstawowe - kod źródłowy

Programowanie w języku C++ Podstawowe paradygmaty programowania

KALENDARZ NOTOWANIA INSTRUMENTÓW TERMINOWYCH BASE I WYKONANIA UMÓW DLA KONTRAKTÓW TERMINOWYCH NA ENERGIĘ ELEKTRYCZNĄ NA ROK 2016

Szablony funkcji i szablony klas

Programowanie obiektowe

Harmonogram egzaminów w SPNJO w roku akademickim 2015/ 2016

UCHWAŁA Nr II/10/18 RADY POWIATU KOLNEŃSKIEGO. z dnia 12 grudnia 2018 r.

Kalendarz 2014 / 2015

HARMONOGRAM ZAJĘĆ EDUKACJA MUZYCZNA I PLASTYCZNA I SEMESTR rok akademicki 2015/2016 zimowy

Wyliczanie wyrażenia obiekty tymczasowe

Terminy odbioru odpadów GMINA KOŹMIN WLKP. 2015r.

FLORYSTYKA semestr I A rok szkolny 2015/2016, zajęcia w Gimnazjum nr 3, ul. Kościuszki 28, Otwock

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

TEMAT : KLASY DZIEDZICZENIE

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Kod odpadu. D-5/R-12 Zmieszane odpady z budowy, remontów i demontażu inne niż wymienione w. 5,280 Mg , i

Harmonogram egzaminów w SPNJO w roku akademickim 2016/2017

Wyznaczenie miarodajnych okresów przeprowadzania badań zachowań parkingowych użytkowników Strefy Płatnego Parkowania

Wprowadzenie do szablonów szablony funkcji

KALENDARZ ROKU SZKOLNEGO 2014/2015

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27

Wprowadzenie do programowania i programowanie obiektowe

Harmonogram egzaminów w SPNJO w roku akademickim 2018/2019

Harmonogram realizacji dochodów budŝetu Powiatu Gryfińskiego na 2009 rok

Wprowadzenie do szablonów szablony funkcji

HARMONOGRAM ZAJĘĆ OLIGOFRENOPEDAGOGIKA I SEMESTR rok akademicki 2015/2016 zimowy

Dokument 16, 1980 październik 30, Pismo NSZZ Solidarność Wydziału Geodezji Górniczej do UKZ NSZZ Solidarność AGH Dokument 17, 1980 październik

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30

Terminy odbioru odpadów komunalnych z nieruchomości niezamieszkałych w 2017 roku. MICKIEWICZA 1/od 1 do 3, 4, 5, 7

BHP semestr I rok szkolny 2015/2016, zajęcia w Gimnazjum nr 3, ul. Kościuszki 28, Otwock

Nazwa skrócona opcji. Styl wykonania opcji Instrument bazowy. wygaśnięcia. Indeks WIG20

Wprowadzenie do szablonów klas

Język C++ wykład VI. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VI. dr Jarosław Mederski.

Kod odpadu. Zmieszane odpady opakowaniowe ,080 Mg R ,060 Mg R-12. 0,022 Mg wymienione w

Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis.

PARADYGMATY PROGRAMOWANIA Wykład 3

Operacje wejścia/wyjścia (odsłona druga) - pliki

Technologie Informacyjne

ZMIESZANE ODPADY KOMUNALNE co 2 tygodnie

Programowanie obiektowe 2005/2006. Laboratorium 1. Przeciążanie funkcji

Harmonogram egzaminów w SPNJO w roku akademickim 2017/2018

HARMONOGRAM ZAJĘĆ EDUKACJA I WSPOMAGANIE OSÓB Z ZABURZENIAMI ZE SPEKTRUM AUTYZMU (ASD) I SEMESTR rok akademicki 2015/2016 zimowy

Programowanie obiektowe

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Olimpiada O Diamentowy Indeks AGH 2017/18. Informatyka Etap III

Szczegółowe statystyki zdarzeń

HARMONOGRAM ZAJĘĆ PEDAGOGIKA MARII MONTESSORI I SEMESTR rok akademicki 2015/2016 zimowy

HARMONOGRAM WYWOZU ODPADÓW SEGREGOWALNYCH

ŻOŁNIERSKA 16, 16C, 19, 22/42 24, 26, 27 37, 39, 41, 41A, 41B, 43/45, 43, 25 45, 47, ŻOŁNIERSKA 18 Pon/Wt/Śr/Czw/Pt 27 ŻOŁNIERSKA 18A Wt/Pt

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Przeciążanie funkcji. Przykład 1: #include <iostream> using namespace std; double srednia(double n1, double n2) { return ((n1 + n2)/2.

HARMONOGRAM / PLAN ZAJĘĆ

Metoda wyłączenia z progresją

Apteki pełnią dyżury od godz rano do godz rano dnia następnego.

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Tytuł pracy dyplomowej

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

UCHWAŁA Nr XXX/ /13 RADY GMINY NOWA WIEŚ WIELKA z dnia 28 października 2013 r.

Rozkład godzin pracy aptek ogólnodostępnych na terenie Powiatu Nowodworskiego:

s Tłumaczenie pisemne prof. dr hab. A. Matulewska (4h)

Opcje na WIG20 Nowe zasady obrotu. Warszawa, lipiec 2014 r.

Do wszystkich Wykonawców

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 4. Karol Tarnowski A-1 p.

STYCZEŃ LUTY. Dyżury aptek w Grójcu 2014

Techniki Programowania wskaźniki

z dnia 26 lipca 2018 r.

Transkrypt:

Programowanie Obiektowew języku C++ Zadania L2 Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki Stosowanej i Modelowania 2 Uniwersytet im. Jana Kochanowskiego w Kielcach Wydział Matematyczno-Przyrodnmiczy Instytut Fizyki Zakład Informatyki Październik 2016 Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 1 / 9

Spis treści 1 Zadanie 2 Podpowiedzi do zadania L2-1 Obliczanie dnia tgodnia dla konkretnej daty Podpowiedzi Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 2 / 9

Zadanie L2-1 Zdefiniować klasy data i osoba tak, aby wykonanie programu głównego: int main(){ osoba JK("Jan", "Kowalski", data(5,4,1987)); osoba AN("Anna", "Nowak", data(23,11,2001)); cout << JK; cout << AN; } spowodowało wygenerowanie strumienia wyjściowego: Jan Kowalski - data ur.: Niedziela 5-4-1987 Anna Nowak - data ur.: Piatek 23-11-2001 UWAGA: Dzień tygodnia urodzin powinien być generowany automatycznie na podstawie daty urodzenia Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 3 / 9

Spis treści 1 Zadanie 2 Podpowiedzi do zadania L2-1 Obliczanie dnia tgodnia dla konkretnej daty Podpowiedzi Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 4 / 9

Algorytm obliczania dni tygodnia Algorytm pozwala na szybkie obliczenie dnia tygodnia dla podanej daty dzień-miesiąc-rok. Wszystkie przedstawione operacje dzielenia są operacjami dzielenia całkowitego - (np. 5/2 = 2). Na wtępie wyznaczymy dzień tygodnia (d t1 ) dla pierwszego stycznia podanego roku (r) wg równania (4) - 0 dla poniedziałku, 1 dla wtorku,..., 6 dla niedzieli y = (r 1) mod 100 (1) c = (r 1) y (2) g = y + y/4 (3) ( (((c/100) ) ) ) d t1 = mod 4 5 + g mod 7 (4) Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 5 / 9

Tabela pierwszych dni miesięcy Teraz zdefiniujemy pomocniczą tabelę określającą wartość d p, tzn. liczbę dni roku do końca miesiąca poprzedzającego miesiąc bieżący. Tabela zdefiniowana jest dla roku nieprzestępnego. Miesiąc d p styczeń 0 luty 31 marzec 59 kwiecień 90 maj 120 czerwiec 151 Miesiąc d p lipiec 181 sierpień 212 wrzesień 243 październik 273 listopad 304 grudzień 334 Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 6 / 9

Algorytm obliczania dni tygodnia Następnie wyznaczymy dzień roku d r jako sumę d p i bieżącego dnia miesiąca d m d r = d p + d m (5) Liczbę d r należy zwiększyć o 1 dla marca i następnych miesięcy roku przestępnego d rp = d r + d d (6) gdzie: d d = 1 dla marca i następnych miesięcy roku przestępnego, d d = 0 dla pozostałych mniesięcy Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 7 / 9

Rok przestępny Rok jest przestępny, gdy: 1 jest podzielny przez 4 i równocześnie nie jest podzielny przez 100 - np. rok 2012, 2 jest podzielny przez 400 - np. rok 2000. z powyższego wynika, że lata 1900, 2001, 1998 nie są przestępne. Indeks dnia tygodnia (d t ) z zakresu (0, 1,..., 6) wyznaczamy z zależności: d t = (d t1 + d rp 1) mod 7 (7) Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 8 / 9

Podpowiedzi 1 W celu umożliwienia dostępu do danych prywatnych klasy data przeciążanemu operatorowi operator«należy go zaprzyjaźnić z tą klasą - może to wyglądać tak: class data{ friend ostream& operator<<(ostream&, const data&); unsigned short d, m, r;... }; 2 Analogiczne zaprzyjaźnienie powinno się pojawić w klasie osoba - tym razem dla operatora: ostream& operator<<(ostream& str, const osoba& os); 3 operator«klasy osoba powinien skorzystać z usług operatora klasy data Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 9 / 9