Lista zadań z algorytmami z użyciem różnych instrukcji powtórzeń
Transkrypt
Lista zadań z algorytmami z użyciem różnych instrukcji powtórzeń
Lista zadań z algorytmami z użyciem różnych instrukcji powtórzeń (pętli) 1. Program wypisuje pierwiastki kwadratowe z liczb naturalnych od 1 do 100, używając funkcji standardowej pierwiastkowania w VB (sqr). Obok sprawdzić wyniki, używając odpowiedniej funkcji Excela (f-cja pierwiastek()). 2. Program wypisuje tablicę wartości funkcji sin(x) dla x(0,2), z krokiem 0,1. Obok sprawdzić wyniki, używając odpowiedniej funkcji Excela (f-cja sin()). 3. Program wczytuje dowolną liczbę naturalną i oblicza, ile kolejnych liczb naturalnych trzeba dodać do siebie, aby ich suma przekroczyła wczytaną liczbę o wartość mniejszą od ostatniej dodanej liczby. 4. Program oblicza sumę n wyrazów szeregu 2 3 4 5 1 ... 3 5 7 9 przy użyciu instrukcji pętli: a) FOR ... TO ... [STEP] ... NEXT b) DO ... UNTIL ... LOOP c) DO ... WHILE... LOOP Porównaj wyniki. Czy są takie same? 5. Program wczytuje liczbę naturalną n, a następnie: - generuje losowo ciąg n liczb całkowitych dodatnich z przedziału wybranego przez użytkownika; - oblicza średnią arytmetyczną z wyrazów tego ciągu. 6. Program oblicza liczbę z dokładnością do zadanego epsilon. Wykorzystać rozwinięcie szereg: (1) n 1 1 1 1 1 4 n1 2n 1 3 5 7 Poprawiać wynik, zmniejszając epsilon. 7. Program generuje losowo ciąg n-elementowy liczb całkowitych dodatnich z zadanego przedziału, wyprowadza je na ekran i porządkuje od najmniejszego elementu ciągu do największego. 8. Program wczytuje n nazwisk i porządkuje je alfabetycznie. Wyprowadzić te nazwiska przed sortowaniem i po sortowaniu. Wskazówka: algorytm jest identyczny jak w zad.7., należy tylko odpowiednio zadeklarować zmienne. 9. Program oblicza wartość silni dla n naturalnego, wczytanego z klawiatury. Do tego programu napisać dwa opisy funkcji, dla dwóch sposobów obliczania silni: iteracyjnego i rekurencyjnego. Uwaga: funkcja silnia jest szybko rosnąca. Uruchom programy dla zadeklarowanych różnych typów zmiennych i sprawdź, przy jakich wartościach n następują nadmiary. 10. Program oblicza Największy Wspólny Dzielnik (funkcja NWD) oraz Najmniejszą Wspólną Wielokrotność (NWW) dla dwóch liczb naturalnych a i b, wczytanych z klawiatury. Można skorzystać z algorytmu Euklidesa: NWD(a, b)=NWD(b, a mod b), NWW(a, b)=a*b/NWD(a, b) Uwaga: ten algorytm również można napisać iteracyjnie i rekurencyjnie. Wybierz jeden z tych sposobów. 11. Przygotuj w Excelu tabelkę i nie zapomnij utworzyć kilku jej kopii: A 1 2 3 4 5 6 7 8 9 10 11 12 13 B Kolumna kryterium Ala wiersz 2 Ala wiersz 3 Ala wiersz 4 Ala wiersz 5 Jola wiersz 6 Ela wiersz 7 Ela wiersz 8 Kasia wiersz 9 Kasia wiersz 10 Kasia wiersz 11 Basia wiersz 12 Basia wiersz 13 Napisz kod makra, które usunie wiersze z powtarzającymi się danymi w kolumnie pierwszej. Użyj instrukcji warunkowej If warunek Then [instrukcje1] [Else instrukcje2] End If oraz jednej z instrukcji pętli: Do While… Loop lub Do Until… Loop. (Pamiętaj, że konstrukcja Cells(numer_wiersza, numer_kolumny).Value odnosi się do zawartości komórki znajdującej się na przecięciu wiersz o numerze: numer_wiersza i kolumny o numerze: numer_kolumny) 12. Przygotuj w Excelu arkusz z tabelką zawierającą nazwy zbiorów z pełnymi ścieżkami dostępu, np.: (nie zapomnij o kopiach oryginalnego arkusza!) A 1 ORIGINAL 2 C:\cyrk\baza\stock.ewi 3 D:\ORFE\PL\dalej.com 4 E:\UFO\ALA.TXT 5 G:\BZDET\File.txt 6 A:\cotam.xls 7 C:\Moje\Anna.doc 8 W:\Genia\Staff\Procedure\SCQ.MDB 9 C:\odpad\stock.ewi 10 D:\ORFE\sekret.com 11 E:\ALA.TXT 12 G:\BZDET\Moje.txt 13 A:\TXT\uff.xls 14 C:\Moje\TXT\Anna.doc Przejdź do Visual Basica i napisz makro, które odseparuje ścieżki od nazw plików. Oprócz jednej z powyższych instrukcji pętli możesz użyć również znanej już instrukcji pętli FOR ... NEXT w postaci: For licznik = początek To koniec [Step krok] [instrukcje] [Exit For] [instrukcje] Next [licznik] Przydatne są również funkcje: Funkcja LEN(ciąg_znaków lub nazwa_zmiennej) zwraca liczbę znaków w ciągu_znaków lub liczbę bajtów niezbędnych do przechowania zmiennej. Funkcja LEFT(łańcuch_znaków, liczba_znaków) zwraca wartość typu Variant (String), zawierającą podaną liczbę znaków, począwszy od lewej strony ciągu znaków. Funkcja RIGHT(łańcuch_znaków, liczba_znaków) zwraca wartość typu Variant (String), zawierającą podaną liczbę znaków, począwszy od prawej strony ciągu znaków. Funkcja MID(łańcuch_znaków, start, długość) zwraca wartość typu Variant (String), zawierającą podany fragment łańcucha_znaków o podanej długości, poczynając od znaku określonego przez start.