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 n1 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.