====== Różnice ====== Różnice między wybraną wersją a wersją aktualną.
cw-3-2014 [2014/10/13 15:07] 127.0.0.1 edycja zewnętrzna |
cw-3-2014 [2018/10/15 15:37] (aktualna) miller [2. Kartka z kalendarza] |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
- | ==== Kartka z kalendarza ==== | + | ==== 1. Obliczanie przybliżonej wartości pochodnej funkcji w punkcie ==== |
+ | |||
+ | Program ma obliczać przybliżoną wartość pochodnej funkcji f(x)=x^2 dla x=1.Oczywiście wszyscy znają wartość dokładną, ale program korzysta z przybliżenia ilorazem różnicowym (f(x+h)-f(x))/h i oblicza jego wartość dla h= 1, 0.1, 0.01, 0.001,..., 1e-16. | ||
+ | |||
+ | Proszę zwrócić uwagę, że błąd nie jest najmniejszy dla najmniejszego h. | ||
+ | |||
+ | ==== 2. Kartka z kalendarza ==== | ||
=== Wersja podstawowa === | === Wersja podstawowa === | ||
- | * Dane wejściowe: numer miesiąca (1 - 12), numer dnia tygodnia (od 0 - niedziela do 6 - sobota) w pierwszym dniu tego miesiąca, np. dla października będą to liczby 10 i 2. | + | * Dane wejściowe: numer miesiąca (1 - 12), numer dnia tygodnia (od 0 - niedziela do 6 - sobota) w pierwszym dniu tego miesiąca, np. dla listopada będą to liczby 11 i 4. |
- | * Program powinien wyprowadzić na ekran tabelkę, np. dla października: | + | * Program powinien wyprowadzić na ekran tabelkę, np. dla listopada 2018: |
\\ | \\ | ||
- | Miesiac 10 | + | Miesiac 11 |
|Ni |Po |Wt |Sr |Cz |Pt |So | | |Ni |Po |Wt |Sr |Cz |Pt |So | | ||
- | | | | 1 | 2 | 3 | 4 | 5 | | + | | | | | | 1 | 2 | 3 | |
- | | 6 | 7 | 8 | 9 |10 |11 |12 | | + | | 4 | 5 | 6 | 7 | 8 | 9 |10 | |
+ | |11 |12 |13 |14 |15 |16 |17 | | ||
itd. | itd. | ||
=== Wersje rozszerzone === | === Wersje rozszerzone === | ||
- | * dane wejściowe: numer miesiąca i numery dnia dzisiejszego (miesiąca i tygodnia), | + | * dane wejściowe: numer miesiąca drukowanego, numer miesiąca aktualnego i numery dnia dzisiejszego (miesiąca i tygodnia), |
* numer miesiąca pisany cyframi rzymskimi, | * numer miesiąca pisany cyframi rzymskimi, | ||
* na ekranie (za numerem miesiąca) program pisze nazwa miesiąca (ew. korzysta z alfabetu polskiego), | * na ekranie (za numerem miesiąca) program pisze nazwa miesiąca (ew. korzysta z alfabetu polskiego), | ||
- | * dane wejściowe: numer miesiąca, (dane o dzisiejszym dniu - z biblioteki time.h), | + | * dane wejściowe: numer miesiąca, (dane o dzisiejszym dniu - z biblioteki ''time.h''), |
* program wyprowadza na ekran 12 tabelek (dla kolejnych miesięcy jednego roku), | * program wyprowadza na ekran 12 tabelek (dla kolejnych miesięcy jednego roku), | ||
* program tworzy tabelkę w postaci transponowanej, tj.: \\ | * program tworzy tabelkę w postaci transponowanej, tj.: \\ | ||
\\ | \\ | ||
- | Miesiac 10 | + | Miesiac 11 |
- | | Ni | | 6 | | + | | Ni | | 4 | |
- | | Po | | 7 | | + | | Po | | 5 | |
- | | Wt | 1 | 8 | | + | | Wt | | 6 | |
- | | Sr | 2 | 9 | | + | | Sr | | 7 | |
- | | Cz | 3 | itd| | + | | Cz | 1 | 8 | |
- | | Pt | 4 | | | + | | Pt | 2 | 9 | |
- | | So | 5 | | | + | | So | 3 | 10 | itd. |
- | + | ||
- | ==== Inne zadania - do zrobienia "Ile kto może" ==== | + | |
- | + | ||
- | 4. Program pisze tabliczkŕ mno┐enia w zakresie np.: [1-10] x [1-10] (ew. bez elementˇw nad albo pod przek╣tn╣). | + | |
- | 5. Program pisze tabliczkŕ mno┐enia w zakresie podanym przez u┐ytkownika np.: [7-20] x [34-41]. | + | |
- | 6. Program wczytuje ci╣g liczb - dziennych notowa˝ np. euro. Oblicza ile by│o wzrostˇw, ile spadkˇw, kiedy (miŕdzy ktˇrymi notowaniami) by│ najwiŕkszy wzrost/spadek dzienny, jak d│ugo utrzymywa│ siŕ najd│u┐szy wzrost/spadek. | + | |
- | 7. Liczbŕ ca│kowit╣ wczytan╣ w systemie dziesiŕtnym wyprowadza na ekran w innym (wybranym przez u┐ytkownika) systemie pozycyjnym (je┐eli podstaw╣ systemu bŕdzie liczba >10, to zaproponowaŠ "dodatkowe" cyfry - np. jak w systemie szesnastkowym). | + | |
- | 8. Wczytan╣ liczbŕ ca│kowit╣ z zakresu [1, 13] wyprowadza w postaci liczby rzymskiej (bez u┐ywania znakowej tablicy odpowiednikˇw). | + | |
- | 9. Wczytuje liczbŕ naturaln╣ i sprawdza (pisze) czy jest to liczba pierwsza. | + | |
- | 10. Wczytuje liczbŕ naturaln╣ i wyprowadza jej czynniki pierwsze (z podaniem ich krotnoťci). | + | |
- | 11. Wypisuje wszystkie liczby pierwsze z zadanego zakresu. | + | |
* Uwagi: | * Uwagi: | ||
Linia 47: | Linia 42: | ||
* Wskazówka (dla ułatwienia "pisania w kolumnach"): Jeżeli w łańcuchu sterującym dla funkcji //printf// użyjemy sekwencji %2d zamiast %d, to liczba jednocyfrowa będzie poprzedzana spacją - o szczegółach będziemy mówić w przyszłości. | * Wskazówka (dla ułatwienia "pisania w kolumnach"): Jeżeli w łańcuchu sterującym dla funkcji //printf// użyjemy sekwencji %2d zamiast %d, to liczba jednocyfrowa będzie poprzedzana spacją - o szczegółach będziemy mówić w przyszłości. | ||
+ | ==== Inne zadania ==== | ||
+ | |||
+ | - Program pisze tabliczkę mnożenia. Wersje programu: | ||
+ | * w zakresie np.: [1-10] x [1-10], | ||
+ | * jw, ale tabliczka nie zawiera elementów nad / pod przekątną, | ||
+ | * program pisze tabliczkę mnożenia w zakresie podanym przez użytkownika np.: [7-20] x [34-41]. | ||
+ | - Liczbę naturalną wczytaną w systemie dziesiętnym wyprowadza na ekran w innym (wybranym przez użytkownika) systemie pozycyjnym (jeżeli podstawą systemu ma być liczba >10, to należy zaproponować "dodatkowe" cyfry - jak w systemie szesnastkowym). | ||
+ | - Zapis liczb w systemach pozycyjnych o innych podstawach (bazach). Program wczytuje podstawę systemu i liczbę w tym systemie oraz pisze jej wartość w systemie dziesiętnym. | ||
+ | - Wczytaną liczbę całkowitą z zakresu [1, 13] wyprowadza w postaci liczby rzymskiej (bez używania znakowej tablicy odpowiedników). Należy zwrócić uwagę na np. podobieństwa rzymskiego zapisu liczb 1-3, 6-8, 11-13. | ||
+ | - Wczytuje liczbę naturalną i sprawdza (pisze) czy jest to liczba pierwsza. | ||
+ | - Wczytuje liczbę naturalną i wyprowadza jej czynniki pierwsze (z podaniem ich krotności). | ||
+ | - Wypisuje wszystkie liczby pierwsze z zadanego zakresu. | ||
+ | - Liczba automorficzna to liczba, której wszystkie cyfry występują (w tym samym porządku) na ostatnich pozycjach liczby, która jest jej kwadratem, np. 5 (25), 25 (625). | ||
+ | - Proszę napisać program, który znajduje osiem takich liczb. | ||
+ | - Który typ danych pozwoli znaleźć największą liczbę takich liczb? Wskazówka: Można skorzystać ze stałych zdefiniowanych w ''limits.h'' (np. ''ULONG_MAX''). | ||
+ | - Czy istnieje jakaś prawidłowość w ciągu tych liczb? Czy można ją wykorzystać do przyspieszenia poszukiwań większych liczb automorficznych? (Oczywiście należałoby udowodnić zauważoną prawidłowość). | ||
+ | |||
+ | |||
+ |