Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych typów danych, definicji stałych i deklaracji zmiennych, wyrażeń arytmetycznych, użyciem instrukcji przypisania, wprowadzaniem i wyprowadzaniem danych, instrukcja warunkowa if, blok instrukcji. 1. Napisz program wyświetlający na ekranie tekst wprowadzony przez Użytkownika programu. 2. Napisz program, który oblicza pole powierzchni prostokąta. 3. Napisz program, który oblicza średnią arytmetyczną z trzech wprowadonych dowolnych liczb. 4. Napisz program, który sprawdza tożsamość (a+b)(a-b) = a 2 -b 2. 5. Dane są przyprostokątne trójkąta prostokątnego a i b. Oblicz przyprostokątną c oraz kąty trójkąta w radianach i stopniach. 6. Napisz program obliczający wartość prostej funkcji określonej przedziałami.
Laboratorium nr 3. i 4. Celem laboratorium jest pisanie programów z pętlami (for(), while, do...while), operatorami z uwzględnieniem priorytetów oraz użyciem funkcji matematycznych z biblioteki standardowej. 1. Napisz program do sumowania n (podane przez Użytkownika) dowolnych liczb rzeczywistych. 2. Napisz program, który wyznacza sumę kolejnych wyrazów szeregu, tak długo, aż równica między kolejnymi dwoma wyrazami nie będzie większa od stałej epsilon, np. równej 0,0001. 3. Oblicz wariancję σ 2 (x) i odchylenie standardowe dla m niezależnych pomiarów x 1,x 2,..., x m (m <= 20). gdzie 4. Sprawdź, czy wszystkie liczby naturalne z wybranego przedziału <a, b> spełniają nierówność: Wypisz liczby, dla których nierówność nie jest prawdziwa. 5. Znaleźć najmniejszą liczbę naturalną n taką, że: a. b., gdzie ε jest dowolną liczbą dodatnią. 6. Dany jest ciąg liczb rzeczywistych zakończony podaniem liczby 123, która nie jest wliczana do ciągu. Obliczy średnią arytmetyczną z wyrazów dodatnich ciągu oraz ustal, ile wyrazów ma wartość bezwzględną mniejszą od 100.
Laboratorium nr 5. i 6. Celem laboratorium są operacje na zmiennych typu tablicowego i formatowanie wyników. 1. Napisz program, który wczytuje do tablicy imiona i nazwiska, nr albumu n Studentów (n < 10, podane przez Użytkownika), a następnie drukuje zawartość tablicy na ekranie w trzech kolumnach w sformatowany sposób. 2. Napisz program, który wczytuje do tablicy elementy macierzy A o wymiarze m x n (m, n < 20) oraz: a. oblicza i wyświetla macierz sum elementów w wierszu, b. oblicza i wyświetla macierz sum elementów w kolumnie. Wyświetla wynik w sformatowany sposób. Laboratorium nr 7. Kolokwium obejmujące laboratoria 1-6.
Laboratorium nr 8. i 9. Celem laboratorium jest poznanie elementów programowania strukturalnego (funkcje i podział projektu na pliki). 1. Dana jest funkcja: Malejąca dla dodatnich parametrów A, B, C. Należy napisać program do tablicowania tej funkcji z krokiem delta x. Tablicowanie należy zakończyć, gdy wartość funkcji f(x) zmaleje poniżej założonej wartości ε. Wyniki należy drukować stronami w dwóch kolumnach. Wydruk kolejnej strony powinien nastąpić po naciśnięciu dowolnego klawisza. 2. Napisz program, który oblicza wartość wyrażenia W(n), gdzie n jest podana przez Użytkownika liczbą naturalną. Przerób program na funkcję i wykorzystaj ją do napisania programu, który zapisuje w tablicy kolejne liczby naturalne z danego przedziału <a, b> oraz odpowiadające im wartości wyrażenia. Wyświetl wyniki na ekranie, korzystając z wcześniej napisanej procedury wyświetlania wyników. 3. Napisz program, który sprawdza, czy dana liczba jest liczbą pierwszą. Przerób program na funkcję i wykorzystaj ją do napisania programu, który zapisuje w tablicy i wyświetla na ekranie liczby pierwsze oraz liczby podzielne przez 23 z danego przedziału <a, b>.
Laboratorium nr 10. i 11. Celem laboratorium jest stosowanie instrukcji sterujących switch, break, continue. 1. Liczby bliźniacze to liczby pierwsze, których różnica wynosi 2, np. 3 i 5, 11 i 13, itd. Napisz program, który zapisuje w tablicy i wyświetla na ekranie 20 par liczb bliźniaczych większych od a, gdzie a jest dowolną liczbą całkowitą dodatnią, wpisaną z klawiatury, mniejszą od 1000. Program powinien być odporny na błędne podanie zamiast liczby innych znaków lub nie dozwolonych wartości liczby a. 2. Hipoteza Goldbacha mówi, że każda liczba parzysta może być przedstawiona jako suma dwóch liczb pierwszych. Napisz program, który sprawdza tę hipotezę dla 20 pierwszych liczb parzystych. 3. Napisz program, który w podanym przez użytkownika przedziale <x1, x2> wykonuje jedną z trzech operacji: a. wyznacza liczby pierwsze, b. wyznacza liczby bliźniacze, c. sprawdza hipotezę Goldbacha, w zależności od wyboru dokonanego przez użytkownika. W programie należy wykorzystać instrukcję warunkową switch.
Laboratorium nr 12. Celem laboratorium jest stosowanie z funkcjami wywoływanymi rekurencyjnie, porównanie różnych typów zmiennych całkowitych i rzeczywistych i ich zakresów, kwalifikatory typów. 1. Napisz program, który wyznacza silnię dla dowolnej liczby naturalnej n wpisywanej z klawiatury metodą wybraną przez użytkownika. Program powinien posiadać dwie funkcje do wyznaczania silni: a. metodą iteracyjną ze wzoru definicyjnego: n! = 1*2*...*n, b. metodą rekurencyjną zgodnie z definicją: n! = n*(n-1)! przy czym 0! = 1. Wyznacz doświadczalnie maksymalne wartości n, dla których można wyznaczyć silnię przy zastosowaniu w programie wszystkich poznanych typów zmiennych całkowitych i rzeczywistych. 2. Napisz program, który dla dowolnego n wyznacza funkcję 2 n metodą wybraną przez użytkownika. Program powinien posiadać dwie funkcje do jej wyznaczania: a. metodą iteracyjną ze wzoru definicyjnego: 2 n = 2*2*...*2, b. metodą rekurencyjną zgodnie z definicją: 2 n = 2*2 n-1 przy czym 2 0 = 1. Określ maksymalną wartość n dla typu zmiennej zastosowanej w programie. 3. Liczby Fibonacciego definiowane są następująco: x 1 = 2, x 2 = 5, x n = 2 x n-2 + x n-1, n = 3,4,5,... a. Napisz funkcję, która wyznacza n pierwszych liczb Fibonacciego. b. Wykorzystaj funkcję do napisania programu, który oblicza liczby Fibonacciego w dowolnym przedziale <k, l> wpisanym z klawiatury. 4. Wieże Hanoi - Według legendy w pewnej świątyni buddyjskiej w Hanoi siedzą mnisi i przekładają 64 złote krążki z jednego stosu na drugi. Krążki są kolejno coraz mniejsze, a problem polega na tym, że podczas przekładania po jednym krążku nie można położyć krążka większego na mniejszy - istnieje więc stos pomocniczy. Zgodnie z legendą w chwili położenia ostatniego krążka nastąpi koniec świata. Nie ma się jednak czego obawiać, gdyż nawet gdyby robili to w tempie jeden ruch na sekundę, to i tak nie zdążyliby przed zgaśnięciem naszego słońca. Problem ten jest dosyć złożony, ale łatwo jest sformułować dla niego rozwiązanie rekurencyjne. W celu przełożenia n krążków ze stosu A na B, należy najpierw przełożyć n-1 krążków ze stosu A na stos pomocniczy, przenieść n-ty największy krążek z A na B, po czym przełożyć n-1 krążków ze stosu pomocniczego na stos B. Napisz program, który dla zadanej liczby krążków n rozwiązuje problem wież Hanoi.
Laboratorium nr 13. i 14. Celem laboratorium jest poznanie wybranych metod sortowania tablic oraz organizacji dużych programów z podziałem na pliki, tworzenie prostych bibliotek, a także ćwiczenie wcześniej poznanych elementów programowania. 1. Napisz program, który generuje 100 losowo wybranych liczb całkowitych z zakresu <0,1000> i zapisuje je w tablicy o wymiarze 1x100, a następnie sortuje liczby niemalejąco metodą sortowania bąbelkowego (przez prostą zamianę) oraz wyświetla wynik na ekranie. W programie powinna być wyodrębniona funkcja sortowania bąbelkowego. 2. Napisz program, który wczytuje z klawiatury ciąg n liczb całkowitych, wpisuje je do tablicy i wyświetla na ekranie, a następnie sortuje liczby niemalejąco metodą sortowania karcianego (przez proste wstawianie) oraz wyświetla wynik na ekranie. W programie powinna być wyodrębniona procedura sortowania karcianego. 3. Wykorzystując programy z zadań 1 i 2 napisz program, który umożliwia użytkownikowi wpisanie ciągu n liczb z klawiatury lub wygenerowanie go losowo, wybór metody sortowania oraz wyświetlanie ciągów wejściowego i posortowanego w takim formacie, aby liczby były wyświetlane w kolumnach i mieściły się na ekranie. 4. Napisz funkcję do sortowania prostego i dołącz ją do programu z zadania 3. 5. Napisz funkcję do sortowania szybkiego i dołącz ją do napisanego w zadaniach 1-4 programu. Wyodrębnij w programie plik zawierający wszystkie funkcje sortowania. 6. Napisz program, który wczytuje z klawiatury imiona i nazwiska grupy n studentów i zapisuje dane do tablicy, a następnie sortuje je według nazwisk w kolejności alfabetycznej bez uwzględniania polskich liter (metoda sortowania dowolna). Laboratorium nr 15. Kolokwium obejmujące laboratoria 8-14.