Programowanie i metody numeryczne — laboratorium, część 3

advertisement
Programowanie i metody numeryczne — laboratorium, część 3
3
3.1
Tablice
Wstęp
Zadanie 3.1.1. Napisz procedurę, która przyjmuje tablicę typu double i wyświetla ją na ekran.
Zadanie 3.1.2. Używając szablonów, popraw procedurę z powyższego zadania tak aby mogła wypisywać tablicę
dowolnego typu.
Zadanie 3.1.3. Napisz program, który definiuje dwie tablice zmiennych typu int długości 20, a następnie
wypełnia pierwszą z nich kolejnymi liczbami naturalnymi zaczynając od 1, a drugą zerami. Na koniec program
powinien wypisać zawartość tablic na ekran.
Zadanie 3.1.4. W powyższym zadaniu spróbuj wypełnić więcej elementów pierwszej tablicy, aniżeli wynosi jej
zadeklarowana długość, np. 25, 40, 70, 1000, 10000, 100000. Co się wówczas stanie?
Zadanie 3.1.5. Napisz procedurę pobierającą trzy zmienne a, b, c i zmieniającą wartości zmiennych a i b na
a := ca,
b := b/c.
Napisz program demonstrujący działanie procedury.
Zadanie 3.1.6. Napisz funkcję, której argumentami są dwie tablice typu double o tej samej długości. Funkcja
ta, traktując te tablice jako wektory z Rn , ma zwrócić ich iloczyn skalarny.
Zadanie 3.1.7. Napisz procedurę, której argumentami są dwie tablice typu double o tej samej długości, zapisującą do pierwszej z nich sumę kolejnych elementów obu tablic. Napisz program demonstrujący działanie
procedury.
Zadanie 3.1.8. Napisz procedurę, która jako argument przyjmuje napis i wyświetla kody odpowiadające znakom
zawartym w tym napisie.
3.2
Dynamiczny przydział pamięci
Zadanie 3.2.1. Napisz program, który wczytuje liczbę n, a następnie zajmuje n GB pamięci zmiennymi typu
double. Na życzenie użytkownika, program powinien wypełniać zmienne jedynkami lub nie. Program powinien
zakończyć się i zwolnić pamięć na polecenie użytkownika.
Zadanie 3.2.2. Napisz funkcję, która zwraca kopię danej tablicy elementów typu double.
Zadanie 3.2.3. Napisz funkcję, która przyjmuje dwie tablice zmiennych tego samego typu i łączy je w jedną
tablicę, tzn. zwraca nową tablicę zawierającą kolejno elementy pierwszej i drugiej z podanych tablic.
Zadanie 3.2.4. Napisz funkcję, która jako parametr przyjmuje nazwę pliku, wczyta liczby znajdujące się w
tym pliku i zwróci tablicę typu double zawierającą te liczby. Funkcja powinna działać w następujący sposób.
Na początku powinna założyć, że liczb będzie nie więcej niż 10, zadeklarować tablicę takiej długości i do niej
wczytywać liczby. Gdyby się okazało, że liczb jest jednak więcej, należy zadeklarować nową tablicę, dwa razy
większą, skopiować do niej zawartość starej tablicy i zwolnić pamięć zajętą przez nią, a następnie kolejne liczby
umieszczać dalej w nowej tablicy. Gdyby ona także nie wystarczyła, to należy ponownie zadeklarować dwa razy
większą od poprzedniej tablicę i powtarzać powyższe czynności aż wszystkie liczby zostaną wczytane. Na koniec
należy zwrócić tablicę ze wczytanymi liczbami.
3.3
Parametry wiersza poleceń
Zadanie 3.3.1. Napisz program, który wypisuje na ekran podane przez użytkownika parametry wiersza poleceń.
Zadanie 3.3.2. Napisz program, który kopiuje wybrany plik. Nazwa pliku oraz nowa nazwa pliku powinny zostać
wczytane z wiersza poleceń.
Zadanie 3.3.3. Napisz program, który jako parametry wiersza poleceń przyjmuje dowolną ilość liczb całkowitych.
Program powinien zsumować podane liczby i wypisać sumę na ekran.
1
Download