Zestaw z dn. 2

Transkrypt

Zestaw z dn. 2
Zestaw 1
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym folderze o nazwie będącej
numerem indeksu, umieszczonym na pulpicie. Pliki należy podpisać wewnątrz numerem indeksu. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .adb)!!!
1.
2.
Napisać program pobierający od użytkownika liczbę całkowitą dodatnią R i liczbę rzeczywistą dodatnią S, a
następnie informujący ile kolejnych liczb z ciągu 1, 1+R, 1+2R, 1+3R, … należy dodać, aby otrzymać liczbę
nie mniejszą niż S, oraz czy wynik tego sumowania będzie równy S czy większy, a jeśli większy to o ile
(przykład: dla R=3 i S=22 odpowiedzią programu ma być „dodano 4 liczby, wynik równy”, dla R=4 i S=13.5 „dodano 3 liczby, wynik większy od S o 1.5”, dla R=7 i S=1 - „dodano 1 liczbę, wynik równy”).
Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej liczbą całkowitą
dodatnią) tablicę N wartości całkowitych. Program pobiera od użytkownika trzy wartości całkowite A, B, C,
następnie pobiera wartości tablicy, wypisuje jej zawartość, a ostatecznie wypisuje wszystkie te trójki
sąsiednich elementów tablicy, które zawierają wszystkie 3 wartości A, B, C w dowolnej kolejności (przykład:
dla A=1, B=2, C=3 i tablicy 1,2,3,1,4,3,2,1,0 program wypisze trójki 1,2,3; 2,3,1 i 3,2,1).
Zestaw 2
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym folderze o nazwie będącej
numerem indeksu, umieszczonym na pulpicie. Pliki należy podpisać wewnątrz numerem indeksu. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .adb)!!!
1.
2.
Napisać program pobierający od użytkownika liczby całkowite dodatnie P i K oznaczające odpowiednio
początkowy stan oszczędności i zaplanowaną kwotę końcową oraz liczbę rzeczywistą dodatnią W oznaczającą
miesięczne wydatki (wydatki te zwiększają się co kwartał o 10%), a następnie informujący czy po okresie M
miesięcy kwota pozostałych oszczędności będzie wynosić przynajmniej K (M jest liczbą całkowitą dodatnią
podawaną przez użytkownika; przykład: jeżeli P=100, K=70 i W=5, to program odpowie „tak” dla każdego M
mniejszego od 6, dla P=100, K=80 i W=2.5 program odpowie „tak” dla każdego M mniejszego od 8).
Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej liczbą całkowitą
dodatnią) tablicę N wartości całkowitych. Program pobiera od użytkownika liczbę rzeczywistą G, wartości
tablicy, wypisuje zawartość tablicy, a następnie wypisuje wszystkie takie nieuporządkowane pary utworzone
z elementów tablicy stojących na różnych pozycjach, w których średnia arytmetyczna wartości pary
przekracza średnią arytmetyczną z wartości G i najmniejszej wartości z tablicy (przykład: dla G=4.4 i tablicy
1,7,-2,3,0,2,1 wypisane mają być pary (1,7),(1,3),(1,2),(7,-2),(7,3),(7,0),(7,2),(7,1),(3,0),(3,2),(3,1),(2,1) w
dowolnej kolejności).
Zestaw 3
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym folderze o nazwie będącej
numerem indeksu, umieszczonym na pulpicie. Pliki należy podpisać wewnątrz numerem indeksu. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .adb)!!!
1.
2.
Napisać program pobierający od użytkownika liczbę całkowitą K>1 i wypisujący wszystkie czynniki pierwsze
tej liczby. Aby to zrealizować program powinien wykonać próbę podzielania bez reszty tej liczby przez
wartość czynnika równego 2 tyle razy ile się uda, za każdym razem redukując jej wartość do wyniku takiego
dzielenia, w dalszej kolejności wykonać taką próbę w stosunku do pozostałej wartości dla czynnika równego 3
i kolejnych liczb naturalnych aż do uzyskania wyniku dzielenia równego 1 (podzielność przez czynniki, które
nie są liczbami pierwszymi, np. 4, 6, 8, 9, itd. nie będzie możliwa, więc czynniki te zostaną wykluczone
automatycznie). Przykład: dla K=60 wypisane zostaną liczby 2,2,3,5, dla K=27 program wypisze 3,3,3, dla
K=13 wypisana zostanie liczba 13).
Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej liczbą całkowitą
dodatnią) tablicę N wartości całkowitych. Program pobiera od użytkownika wartości tablicy, wypisuje jej
zawartość, a następnie odwraca kolejność wartości w tych rozłącznych parach sąsiednich elementów
tablicy, które NIE zawierają największej wartości z tablicy (gdzie pary wybierane są tak, że pierwszym
elementem pierwszej pary jest pierwszy element tablicy, a w sytuacji gdy tablica ma nieparzystą długość,
ostatni element nie wchodzi w skład żadnej pary). Przykład: dla tablicy 1,5,1,9,2,3,9,4,0 wynikiem ma być
tablica 5,1,1,9,3,2,9,4,0.
Zestaw 4
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym folderze o nazwie będącej
numerem indeksu, umieszczonym na pulpicie. Pliki należy podpisać wewnątrz numerem indeksu. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .adb)!!!
1.
2.
Napisać program pobierający od użytkownika wartości całkowite aż do podania wartości 0 kończącej
pobieranie i wypisujący te pary kolejno podawanych liczb, dla których suma wartości pary jest mniejsza od
największej z dotychczas podanych wartości, oraz wypisujący ile było takich par (końcowe zero nie jest brane
pod uwagę; przykład: dla ciągu wartości 4,1,2,3,-1,6,5,0 wypisane mają być pary: 1,2; 3,-1; -1,6 oraz
informacja że były 3 takie pary).
Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej liczbą całkowitą
dodatnią) tablicę N wartości całkowitych. Program pobiera od użytkownika wartości tablicy, wypisuje jej
zawartość, a następnie wypisuje najdłuższy ciągły fragment tablicy złożony wyłącznie z wartości podzielnych
przez K (gdzie K jest liczbą całkowitą dodatnią podaną przez użytkownika). Jeżeli występuje kilka takich
fragmentów o maksymalnej długości, wynikiem powinien być pierwszy z nich. Przykład: dla tablicy
1,2,3,3,2,2,3,0,9,2,6 i K=3 program wypisze 3,0,9.
Zestaw 5
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym folderze o nazwie będącej
numerem indeksu, umieszczonym na pulpicie. Pliki należy podpisać wewnątrz numerem indeksu. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .adb)!!!
1.
2.
Napisać program pobierający od użytkownika wartości całkowite aż do podania wartości 0 kończącej
pobieranie i wypisujący te trójki kolejno podawanych liczb, dla których suma wartości trójki jest większa od
największej z dotychczas podanych wartości, oraz wypisujący ile było takich trójek (końcowe zero nie jest
brane pod uwagę; przykład: dla ciągu wartości 4,-1,2,3,1,6,-3,0 wypisane mają być trójki: 4,-1,2; 2,3,1; 3,1,6
oraz informacja że były 3 takie trójki).
Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej liczbą całkowitą
dodatnią) tablicę N wartości całkowitych. Program pobiera od użytkownika wartości tablicy, wypisuje jej
zawartość, a następnie wypisuje najdłuższy ciągły fragment tablicy złożony wyłącznie z wartości
niepodzielnych przez K (gdzie K jest liczbą całkowitą dodatnią podaną przez użytkownika). Jeżeli występuje
kilka takich fragmentów o maksymalnej długości, wynikiem powinien być ostatni z nich. Przykład: dla tablicy
1,2,3,3,2,2,4,0,9,2,6 i K=3 program wypisze 2,2,4.
Zestaw 6
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym folderze o nazwie będącej
numerem indeksu, umieszczonym na pulpicie. Pliki należy podpisać wewnątrz numerem indeksu. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .adb)!!!
1.
2.
Mamy K par królików. Po miesiącu każda z tych par rodzi młode. Po kolejnym miesiącu każda ze starszych K
par rodzi kolejne młode, a poprzednio urodzone młode stają się zdolne do rozmnażania. W kolejnym miesiącu
K najstarszych par królików rodzi kolejne młode, ich potomstwo z pierwszego miotu również, a drugi miot
staje się gotowy do rozmnażania, itd. Zakładamy, że każda z króliczych par rodzi zawsze parkę młodych, oraz
że królików nie ubywa. Napisz program pobierający od użytkownika dwie liczby całkowite dodatnie: K
oznaczającą początkową liczbę par królików oraz X, i obliczający po ilu miesiącach populacja osiągnie
liczebność X sztuk i ile będzie w niej wtedy osobników dorosłych a ile młodych. Przykład: dla K=1 i X=20
otrzymamy 5 miesięcy, 8 par dorosłych i 5 par młodych.
Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej liczbą całkowitą
dodatnią) tablicę N wartości całkowitych. Program pobiera od użytkownika wartości tablicy, wypisuje jej
zawartość, a następnie modyfikuje tablicę tak, aby w każdej spośród rozłącznych trójek sąsiednich
elementów tej tablicy o wartościach niepodzielnych przez liczbę całkowitą dodatnią K podaną przez
użytkownika, wyzerować najmniejszą z wartości w trójce, przy czym jeśli wartość najmniejsza występuje
kilkakrotnie to zerowane są wszystkie wystąpienia (gdzie rozłączne trójki wybierane są tak, że pierwszym
elementem pierwszej trójki jest pierwszy element tablicy, a w tablicy o długości niepodzielnej przez 3 ostatnie
jeden lub dwa elementy nie są elementem żadnej trójki); przykład: tablica o wartościach
4,-2,2,2,3,0,2,-3,-3,1,4,1,0 dla K=3 przekształcana jest do postaci 4,0,2,2,3,0,2,-3,-3,0,4,0,0).
Zestaw 7
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym folderze o nazwie będącej
numerem indeksu, umieszczonym na pulpicie. Pliki należy podpisać wewnątrz numerem indeksu. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .adb)!!!
1. Pień świeżo zasadzonego drzewa ma średnicę S centymetrów i wysokość H centymetrów. W ciągu roku
2.
wysokość pnia zwiększa się o X procent wysokości z poprzedniego roku, a średnica pnia o Y % średnicy z
poprzedniego roku. Napisz program pobierający wartości S, H, X, Y i A (liczby całkowite nieujemne) i
obliczający, po ilu latach od zasadzenia drzewa pień (mający kształt walca) miałby objętość co najmniej A m 3
oraz jaką faktyczną objętość będzie miał wówczas pień. [objętość walca to πr 2h, gdzie r – promień podstawy,
h – wysokość]. Przykład: dla H=100, S=10, X=5, Y=5 i A=1 dostaniemy wynik 34 lata i faktyczną objętość (z
dokładnością do dwóch miejsc po przecinku) równą 1,14 m3.
Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej liczbą całkowitą
dodatnią) tablicę N wartości całkowitych. Program pobiera od użytkownika wartości tablicy, wypisuje jej
zawartość, a następnie wypisuje wszystkie takie uporządkowane pary elementów tablicy złożone z różnych
wartości, w których średnia arytmetyczna wartości pary przekracza średnią arytmetyczną ze wszystkich
elementów tablicy (przykład: dla tablicy -1,2,3,2,3 wypisane mają być pary (2,3),(2,3),(3,2),(3,2),(2,3),(2,3),
(3,2),(3,2), w dowolnej kolejności).
Zestaw 8
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym folderze o nazwie będącej
numerem indeksu, umieszczonym na pulpicie. Pliki należy podpisać wewnątrz numerem indeksu. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .adb)!!!
1.
2.
Sadownik zebrał w pierwszym roku owocowania sadu X ton jabłek. W kolejnym roku zbiory wyniosły 50%
zbiorów z poprzedniego roku, w kolejnym – 205% z roku go poprzedzającego, itd. na przemian. Napisz
program obliczający po ilu latach owocowania sadu łączne zyski sadownika (licząc od początku) wyniosą co
najmniej K zł i jakie faktycznie wówczas będą, zakładając że zysk na 1 tonie jabłek jest stały i wynosi Z zł (X,
Z i K mają być pobierane od użytkownika, przy czym X i Z to liczby rzeczywiste nieujemne, a K – liczba
całkowita nieujemna). Przykład: dla X=10, Z=50 i K=5000 wynikiem jest 13 lat i kwota 5370.65 zł.
Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej liczbą całkowitą
dodatnią) tablicę N wartości całkowitych. Program pobiera od użytkownika wartości tablicy, wypisuje jej
zawartość, a następnie wypisuje informację ile rozłącznych czwórek sąsiednich elementów tablicy ma
średnią większą od iloczynu pobranej wcześniej liczby całkowitej G i najmniejszej wartości występującej w
tablicy (gdzie czwórki wybierane są tak że pierwszym elementem pierwszej czwórki jest pierwszy element
tablicy, a w sytuacji gdy tablica ma długość która nie jest podzielna przez 4 ostatni element lub elementy nie
wchodzą w skład żadnej czwórki). Przykład: dla tablicy 1,2,3,4,5,6,7,8,1,5,2,5,3,-3,4 i G = -1 wynikiem ma
być 2 (czwórki: 5,6,7,8 i 1,5,2,5).
Zestaw 9
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym folderze o nazwie będącej
numerem indeksu, umieszczonym na pulpicie. Pliki należy podpisać wewnątrz numerem indeksu. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .adb)!!!
1.
2.
Napisać program pobierający od użytkownika liczby całkowite nieujemne aż do momentu podania zera i
wypisujący te trójki kolejno podanych wartości, dla których pierwiastek z największej liczby w trójce jest
większy niż średnia dwóch pozostałych liczb tej trójki, oraz informację ile było takich trójek. Przykład: dla
ciągu 2,4,1,4,9,0 program wypisze trójki 2,4,1 i 1,4,9 oraz informację że były dwie trójki.
Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej liczbą całkowitą
dodatnią) tablicę N wartości całkowitych. Program pobiera od użytkownika wartości tablicy, wypisuje jej
zawartość, a następnie wypisuje informację ile jest w niej liczb równocześnie podzielnych przez A, różnych
od najmniejszej liczby w tablicy i występujących w tablicy co najmniej K razy (gdzie K jest liczbą całkowitą
dodatnią podaną przez użytkownika). Przykład: dla tablicy 4,4,4,0,1,2,1,3,2,2,3,1,9,2,1 oraz A=2 i K=2 wynik
powinien wynosić 2, dla tablicy 2,3,2,4,5, dowolnego A i K=2 wynik powinien wynosić 0).
Zestaw 10
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym folderze o nazwie będącej
numerem indeksu, umieszczonym na pulpicie. Pliki należy podpisać wewnątrz numerem indeksu. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .adb)!!!
1.
2.
Mamy K par chomików. Po 2 miesiącach każda z tych par rodzi młode. Po kolejnych dwóch miesiącach każda
ze starszych K par rodzi kolejne młode, a poprzednio urodzone młode stają się zdolne do rozmnażania. Po
kolejnych dwóch miesiącach K najstarszych par chomików rodzi kolejne młode, ich potomstwo z pierwszego
miotu również, a drugi miot staje się gotowy do rozmnażania, itd. Zakładamy, że każda z chomiczych par rodzi
zawsze 2 parki młodych, oraz że chomików nie ubywa. Napisz program pobierający od użytkownika dwie
liczby całkowite dodatnie: K oznaczającą początkową liczbę par chomików oraz X, i obliczający po ilu
miesiącach populacja osiągnie liczebność X sztuk i ile będzie w niej wtedy osobników dorosłych a ile
młodych. Przykład: dla K=1 i X=50 otrzymamy 10 miesięcy, 21 par dorosłych i22 pary młodych.
Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej liczbą całkowitą
dodatnią) tablicę N wartości całkowitych. Program pobiera od użytkownika wartości tablicy, wypisuje jej
zawartość, a następnie modyfikuje tablicę tak, aby w każdej spośród rozłącznych trójek sąsiednich
elementów tej tablicy o wartościach podzielnych przez liczbę całkowitą dodatnią K podaną przez
użytkownika, wyzerować najmniejszą z wartości w trójce, przy czym jeśli wartość najmniejsza występuje
kilkakrotnie to zerowane są wszystkie wystąpienia (gdzie rozłączne trójki wybierane są tak, że pierwszym
elementem pierwszej trójki jest pierwszy element tablicy, a w tablicy o długości niepodzielnej przez 3 ostatnie
jeden lub dwa elementy nie są elementem żadnej trójki); przykład: tablica o wartościach
4,-2,2,2,3,0,2,-3,-3,2,8,2,0 dla K=2 przekształcana jest do postaci 4,0,2,2,3,0,2,-3,-3,0,8,0,0).
Zestaw 11
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym folderze o nazwie będącej
numerem indeksu, umieszczonym na pulpicie. Pliki należy podpisać wewnątrz numerem indeksu. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .adb)!!!
1.
2.
Napisać program pobierający od użytkownika liczbę całkowitą dodatnią R i liczbę rzeczywistą dodatnią S, a
następnie informujący ile kolejnych liczb z ciągu 1, R-1, 2R+1, 3R-1, 4R+1, … należy dodać, aby otrzymać
liczbę większą niż S, oraz o ile wynik tego dodawania będzie większy od S (przykład: dla R=3 i S=30.0
odpowiedzią programu ma być „dodano 5 liczb, wynik większy o 1”, dla R=4 i S=12.5 - „dodano 3 liczby,
wynik większy o 0.5”, dla R=1 i S=1.0 - „dodano 3 liczby, wynik większy o 3”).
Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej liczbą całkowitą
dodatnią) tablicę N wartości całkowitych dodatnich. Program pobiera od użytkownika wartości tablicy,
wypisuje jej zawartość, a następnie zeruje mniejszą z wartości (lub obie, gdy są równe) w rozłącznych parach
sąsiednich elementów tablicy, które NIE zawierają najmniejszej wartości z tablicy (gdzie pary wybierane są
tak, że pierwszym elementem pierwszej pary jest pierwszy element tablicy, a w sytuacji gdy tablica ma
nieparzystą długość, ostatni element nie wchodzi w skład żadnej pary). Przykład: dla tablicy
1,5,1,1,2,3,4,4,5,3,2 wynikiem ma być tablica 1,5,1,1,0,3,0,0,5,0,2.