Metody i języki programowania 4 sem, zaoczne

Pula zadań do zrealizowania na laboratoriach.

Zadanie 1 Napis.

Nadaj nazwę plikowi źródłowemu moj.c

Funkcja main nie pobiera żadnych parametrów, nie zwraca wartości.

Po uruchomieniu programu należy wyświetlić dowolny napis.

Przeanalizuj zawartość plików powstających w kolejnych krokach kompilacji.

Preprocesing

gcc –E moj.c –o moj.i

Asemblacja.

gcc –S moj.i –o moj.s

Kompilacja.

gcc –c moj.s –o moj.o

Konsolidacja (linking).

gcc moj.o –o moj

Korzystanie z pomocy pakietu programowania info libc

Zadeklaruj w programie zmienną typu float, Za pomocą funkcji scanf() przypisz jej wartość wpisaną z klawiatury. Za pomocą funkcji printf() wyświetl jej zawartość na ekranie.

Zadanie 2 Funkcja kwadratowa.

Napisz program obliczający pierwiastki wielomianu kwadratowego. Dziedzina rozwiązań – liczby rzeczywiste.

Funkcja main nie pobiera żadnych parametrów, zwraca wartość 0 na końcu programu.

Po uruchomieniu programu należy wyświetlić napis informujący o zastosowaniu programu.

Wyświetl wartości pierwiastków. W przypadku braku rozwiązania w dziedzinie liczb rzeczywistych wyświetl odpowiedni komunikat.

Za pomocą debuggera gdb przetestuj wykonywanie programu krok po kroku oraz wyświetlanie zawartości wybranych zmiennych. (polecenia: file, list, run, break, clear, watch, step, q).

Zadanie 3 Tablica znaków, pętla for, while.

Funkcja main nie pobiera żadnych parametrów, zwraca wartość 0 na końcu programu.

Zadeklaruj zmienną – tablicę 30 znaków.

Ktora czesc tablicy wypelnic?:
1.- pierwsza polowe,
2.- cala tablice
Wybierz opcje 1 lub 2. Wyświetl następujący napis na monitorze:

Za pomocą funkcji scanf(…) odczytaj wybór użytkownika.

Jeżeli wybór to 1 wypełnij pierwszą połowę tablicy:

do pierwszych 15 elementów tablicy wpisz znak ‘A’ używając instrukcji for,

16-temu elementowi nadaj wartość 0 – wyjaśnij dlaczego ( punkt 8 ).

Jeżeli wybór to 2 wypełnij całą tablicę:

Do pierwszych 16 elementów tablicy wpisz znak ‘A’ używając instrukcji for,

Elementy 17- 29 tablicy wypełnij znakiem ‘B’ używając instrukcji while lub do while.

30 element wartość 0 – wyjaśnij dlaczego (punkt 8).

Zadeklaruj potrzebne zmienne jako zmienne lokalne funkcji main.

Wyświetl tablicę jako napis na monitorze używając funkcji printf().

Zadanie 4 Całka.

Napisz program obliczający numerycznie całkę wielomianu 3 stopnia w zadanym przedziale z zadanym krokiem całkowania. Zastosuj metodę prostokątów i trapezów (opcja programu).

Przedział całkowania, współczynniki wielomianu pobierz od użytkownika z klawiatury.

Zadanie 5 Tablice.

Napisz program obliczający średnią, minimalną oraz maksymalną wartość liczb umieszczonych w tablicy.

Napisz program wyświetlający zadaną liczbę elementów ciągu Fibbonaciego.

Napisz program obliczjący silnię.

Zadanie 6 Zapis do pliku I.

Napisz program zapisujący do pliku wielkość w bajtach znanych ci prostych typów zmiennych.

w celach testowych wpisz w kodzie programu ścieżkę dostępu do wybranego istniejącego pliku tekstowego, którego zawartość ma być wyświetlona.

zmodyfikuj program tak aby użytkownik mógł zadać ścieżkę dostępu do żądanego pliku

Zadanie 7 Odczyt pliku I.

Napisz program wyświetlający zawartość pliku tekstowego.

w celach testowych wpisz w kodzie programu ścieżkę dostępu do wybranego istniejącego pliku tekstowego, którego zawartość ma być wyświetlona.

zmodyfikuj program tak aby użytkownik mógł zadać ścieżkę dostępu do żądanego pliku

Zadanie 8 Argumenty funkcji main.

Napisz program wyświetlający parametry wywołania programu oraz ich liczbę oraz zmienne systemowe oraz ich liczbę.

Zadanie 9 Odczyt pliku II.

Zmodyfikuj program z zadania 4 tak, aby ścieżkę dostępu do pliku można było podać jako parametr wywołania programu. W przypadku podania błędnej ścieżki program powinien wyświetlić odpowiednią informację oraz zażądać podania prawidłowej ścieżki.

Zadanie 10 Kopiowanie pliku.

Napisz program kopiujący pliki

jeżeli użytkownik nie poda parametrów, program powinien o nie poprosić.

po skopiowaniu należy wyświetlić informacje o pliku kopiowanym: długość, katalog, w którym się znajduje, nazwę właściwą i rozszerzenie.

uzupełnić o przyjmowanie parametrów z linii poleceń: : plik do skopiowania, plik do którego skopiować

Zadanie 11 Zamiana I.

Napisać program zamieniający w pliku znak ‘{‘ na słowo „begin” i ‘}’ na „end”.

Zadanie 12 Zamiana II.

Napisać program zamieniający w pliku wyrazy pisane małymi literami na pisane wielkimi (jeżeli występują wielkie i małe litery w wyrazie, wyrazu nie zmieniać).

Zadanie 13 Funkcje.

Zmodyfikuj programy z zadań 1-4. Napisz funkcje obliczającą wyznacznik do zadania 1, funkcję obliczającą wartość wielomianu do zadania 3, otwierającą plik do odczytu z weryfikacją poprawnego otwarcia do zdania 4. Napisz funkcję obliczającą silnie, napisz funkcję obliczającą długość napisu. Wykorzystaj je w przykładowym programie.

Deklaracje funkcji umieść w pliku nagłówkowym „fun.h”, definicje w pliku „fun.c”. Napisz odpowiedni kod (dyrektywy preprocesora) zapobiegający wielokrotnemu włączaniu pliku nagłówkowego do kodu programu.

Zadanie 14 Funkcje o zmiennej liczbie argumentów.

Napisz funkcję o zmiennej liczbie argumentów obliczającą wartość wielomianu dowolnego stopnia.

Zmodyfikuj program „Całka” tak, aby wykorzystać funkcję w programie.

Zadanie 15 Dynamiczna tablica.

Napisz program alokujący dynamicznie tablicę liczb całkowitych. Wielkość tablicy jest podawana przez użytkownika. Zapisz liczby z tablicy do pliku w odpowiednim formacie.

Zmodyfikuj program tak, aby mógł odczytać liczb z pliku do tablicy alokowanej dynamicznie.

Zadanie 16 Łącz napisy.

Napisz funkcję łączącą dwa napisy.

Zadanie 17 Dynamiczna tablica.

Dla programu „Dynamiczna tablica” napisz funkcje zapisującą/odczytującą dane z pliku do tablicy i odwrotnie.

Zadanie 18 Fourier.

Napisz program implementujący transformatę Fouriera. Dane pobierane są z pliku.

Zadanie 19 Punkt.

Zdefiniuj strukturę SPoint opisującą punkt na płaszczyźnie. Napisz funkcje obliczającą odległość między punktami, przesuwającą o wektor, wyświetlającą dane struktury na ekranie.

Zadanie 20 Prostokąt.

Zdefiniuj strukturę SRect opisującą prostokąt. Napisz funkcje obliczające część wspólną dwóch prostokątów (mnożenie), prostokąt opisany na 2 prostokątach (dodawanie), pole figury. Napisz funkcje wyświetlającą dane struktury na ekranie.

Zadanie 21 Liczby zespolone.

Zdefiniuj strukturę SComplex liczb zespolonych. Napisz funkcje wykonujące działania: dodawanie, odejmowanie, mnożenie, sprzężenie, dzielenie. Napisz funkcje wyświetlającą dane struktury na ekranie.

Sławomir Wróblewski

swroble@dmcs.p.lodz.pl

3

Zadanie 1 Tablica znaków, pętla for, while

Slawomir Wroblewski

2003-12-07T10:12:00