Rozwiązania zadań z Programowania Obiektowego
|
|
- Seweryna Czech
- 7 lat temu
- Przeglądów:
Transkrypt
1 Rozwiązania zadań z Programowania Obiektowego Laboratorium 3 (Skaruz) Zadanie 1. Napisz program wypisujący wszystkie liczby 4-cyfrowe o sumie cyfr 21, 5 i 13. Przede wszystkim na początku trzeba obmyślić jakiś algorytm, który to zadanie jest w stanie rozwiązać i pomyśleć, co będzie potrzebne do jego wykonania. Najważniejszą rzeczą jest świadomość tego, co program ma robić, to akurat wyróżniłem w treści niebieskim kolorem. 1. Wypisujący ok, wypisywać informacje na ekran już potrafimy, za pomocą metody System.out.println(). W nawiasach oczywiście odpowiednie wyrażenie, bądź tekst ujęty w cudzysłów. To najprostsza część zadania. 2. Wszystkie liczby czterocyfrowe tu już się samo nasuwa rozwiązanie. Jeśli mamy wykonać operacje na wielu elementach, na pewno użyjemy pętli for, ale teraz rodzi się problem, w jakim zakresie. Wystarczy tylko znaleźć najmniejszą i największą liczbę czterocyfrową. Najmniejszą będzie więc 1000, a największą 9999 i właśnie w takim przedziale będziemy wykonywać naszą pętlę. 3. O sumie cyfr 21, 5 i 13 szczerze powiedziawszy, to w treści zadania jest błąd logiczny. Jedna liczba nie może mieć trzech różnych sum cyfr, zawsze suma cyfr w liczbie 21 będzie 3, bo 2+1=3, nigdy 5, nigdy 10, nigdy 291. Prawidłowo powinno więc brzmieć o sumie cyfr 21, 5 lub 13. Pomijając tą krótką dygresję, pomyślmy co się przyda do obliczenia sumy cyfr danej liczby. Będzie to oczywiście odpowiednia funkcja (a w Javie nazywana metodą) z aż dwoma parametrami. Dlaczego? Pierwszym parametrem będzie zmienna sterująca naszą pętlą, która to odpowiada kolejnej liczbie z naszego przedziału. Drugim argumentem funkcji będzie suma cyfr, jaka nas interesuje i ona będzie stała. Łatwo więc wywnioskować, że przy takim rozwiązaniu musimy napisać jedną, kilkulinijkową funkcję i zwyczajnie wywołać ją trzy razy z różnymi parametrami, zamiast trzy razy pisać to samo, ale z innymi cyferkami. Kod programu: public class Zadanie3_1 public static void main(string[] args) Zadanie3_1 zadanie = new Zadanie3_1(); System.out.println("Liczby czterocyfrowe o sumie cyfr równej 21 to:"); for(int i=1000;i<10000;i++) zadanie.sumacyfr(i,21); System.out.println("\n\nLiczby czterocyfrowe o sumie cyfr równej 5 to:"); for(int i=1000;i<10000;i++) zadanie.sumacyfr(i,5); System.out.println("\n\nLiczby czterocyfrowe o sumie cyfr równej 13 to:"); for(int i=1000;i<10000;i++) zadanie.sumacyfr(i,13); void sumacyfr(int liczba, int sc) int x, sumacyfr=0; x = liczba; while(x!=0) sumacyfr += x%10; x /= 10; if(sumacyfr==sc) System.out.printf("%d, ",liczba);
2 Metoda sumacyfr(int liczba, int sc) void sumacyfr(int liczba, int sc) int x, sumacyfr=0; x = liczba; while(x!=0) sumacyfr += x%10; x /= 10; if(sumacyfr==sc) System.out.printf("%d, ",liczba); Metoda jest void, bo mimo tego, że coś liczymy, to chcemy, żeby nam wypisała od razu liczbę. Moglibyśmy zrobić to jeszcze w inny sposób, zwracając z metody intowej liczbę, a wypisując po prostu tę metodę w metodzie głównej. Metoda ma dwa parametry liczba oraz sc (skrót od sumacyfr dla odróżnienia takiej samej zmiennej która jest już użyta). Parametr liczba odpowiada oczywiście za czterocyfrową liczbę, której sumę cyfr mamy policzyć, a parametr sc jest stałą, ustawioną na sztywno sumą cyfr, w przypadku której metoda wypisze liczbę. Do tego przydadzą nam się dwie nowe zmienne x oraz sumacyfr. Po nazwie sumacyfr można się domyślić, co będzie przechowywała, natomiast x jest pomocniczą zmienną służącą do przechowania podzielonej liczby. Aby obliczyć sumę cyfr danej liczby, musimy najpierw wyłuskać z niej każdą z cyfr. Problem można rozwiązać, jak widać, za pomocą dwóch instrukcji umieszczonych w pętli while, której warunkiem jest to, że x nie może być zerem. Do x przypisujemy naszą liczbę jeszcze przed wykonaniem pętli. Od teraz operujemy na zmiennej x, a nie na liczbie, bo ta nie może nam się zmodyfikować podczas wykonywania metody. Wyłuskiwanie cyfr z liczby odbywa się w dwóch etapach: dzielimy z resztą x przez 10 (podstawa systemu dziesiętnego), a następnie za x przypisujemy x dzielony przez 10. Na schemacie wygląda to mniej więcej tak dla liczby 2478: Dzielenie całkowitoliczbowe Reszta z dzielenia sumacyfr 2478 / / / 10 2 / = = = = 21 Odczytując od tyłu reszty z dzielenia widzimy, że jest to nasza wejściowa liczba. Na szczęście nie musimy tej liczby ponownie wypisywać, tylko obliczyć sumę jej cyfr. Dlatego z każdym kolejnym krokiem do zmiennej sumacyfr dodajemy wyłuskaną cyfrę, tak jak pokazane jest to w kolumnie sumacyfr. Gdy x osiągnie wartość 0, pętla zostanie przerwana i przechodzimy do instrukcji zawartych bezpośrednio po niej, a jest to instrukcja warunkowa sprawdzająca, czy obliczona wcześniej suma cyfr (sumacyfr) jest taka, jakiej potrzebujemy (parametr sc naszej metody). W przypadku, gdy jest to prawda, system wypisze tą liczbę, w przeciwnym wypadku zupełnie nic się nie stanie. No dobra, to była nasza funkcja wypisująca liczby o sumie cyfr sc, czyli mamy zrobione 30% zadania.
3 Ostatnimi warunkami będzie zrobienie, by funkcja wypisywała liczby czterocyfrowe, które mają sumę cyfr równą 25, 5 lub 13. Na początku musimy utworzyć nowy obiekt, dzięki któremu możemy w ogóle możemy użyć naszej metody. Tworzymy to za pomocą Zadanie3_1 zadanie = new Zadanie3_1(); dzięki czemu wszystkich metod z klasy Zadanie3_1 będziemy mogli używać tak, jak każdej innej, podając naszą zmienną zadanie i po kropce nazwę metody. Czas na sfinalizowanie zadania. Zrobimy to za pomocą pętli for, gdzie zainicjalizujemy zmienną sterującą i z wartością 1000 (najniższa liczba czterocyfrowa), a warunkiem będzie, by i nie przekroczyło 9999 (najwyższa liczba czterocyfrowa). Konstrukcję pętli for znamy. Jako instrukcję w pętli for podajemy wywołanie metody sumacyfr(i,25). W osobnych pętlach robimy dokładnie to samo, tylko jako drugi parametr metody wstawiamy 5 oraz 13. Działanie programu:
4 Configuration: <Default> Liczby czterocyfrowe o sumie cyfr równej 21 to: 1299, 1389, 1398, 1479, 1488, 1497, 1569, 1578, 1587, 1596, 1659, 1668, 1677, 1686, 1695, 1749, 1758, 1767, 1776, 1785, 1794, 1839, 1848, 1857, 1866, 1875, 1884, 1893, 1929, 1938, 1947, 1956, 1965, 1974, 1983, 1992, 2199, 2289, 2298, 2379, 2388, 2397, 2469, 2478, 2487, 2496, 2559, 2568, 2577, 2586, 2595, 2649, 2658, 2667, 2676, 2685, 2694, 2739, 2748, 2757, 2766, 2775, 2784, 2793, 2829, 2838, 2847, 2856, 2865, 2874, 2883, 2892, 2919, 2928, 2937, 2946, 2955, 2964, 2973, 2982, 2991, 3099, 3189, 3198, 3279, 3288, 3297, 3369, 3378, 3387, 3396, 3459, 3468, 3477, 3486, 3495, 3549, 3558, 3567, 3576, 3585, 3594, 3639, 3648, 3657, 3666, 3675, 3684, 3693, 3729, 3738, 3747, 3756, 3765, 3774, 3783, 3792, 3819, 3828, 3837, 3846, 3855, 3864, 3873, 3882, 3891, 3909, 3918, 3927, 3936, 3945, 3954, 3963, 3972, 3981, 3990, 4089, 4098, 4179, 4188, 4197, 4269, 4278, 4287, 4296, 4359, 4368, 4377, 4386, 4395, 4449, 4458, 4467, 4476, 4485, 4494, 4539, 4548, 4557, 4566, 4575, 4584, 4593, 4629, 4638, 4647, 4656, 4665, 4674, 4683, 4692, 4719, 4728, 4737, 4746, 4755, 4764, 4773, 4782, 4791, 4809, 4818, 4827, 4836, 4845, 4854, 4863, 4872, 4881, 4890, 4908, 4917, 4926, 4935, 4944, 4953, 4962, 4971, 4980, 5079, 5088, 5097, 5169, 5178, 5187, 5196, 5259, 5268, 5277, 5286, 5295, 5349, 5358, 5367, 5376, 5385, 5394, 5439, 5448, 5457, 5466, 5475, 5484, 5493, 5529, 5538, 5547, 5556, 5565, 5574, 5583, 5592, 5619, 5628, 5637, 5646, 5655, 5664, 5673, 5682, 5691, 5709, 5718, 5727, 5736, 5745, 5754, 5763, 5772, 5781, 5790, 5808, 5817, 5826, 5835, 5844, 5853, 5862, 5871, 5880, 5907, 5916, 5925, 5934, 5943, 5952, 5961, 5970, 6069, 6078, 6087, 6096, 6159, 6168, 6177, 6186, 6195, 6249, 6258, 6267, 6276, 6285, 6294, 6339, 6348, 6357, 6366, 6375, 6384, 6393, 6429, 6438, 6447, 6456, 6465, 6474, 6483, 6492, 6519, 6528, 6537, 6546, 6555, 6564, 6573, 6582, 6591, 6609, 6618, 6627, 6636, 6645, 6654, 6663, 6672, 6681, 6690, 6708, 6717, 6726, 6735, 6744, 6753, 6762, 6771, 6780, 6807, 6816, 6825, 6834, 6843, 6852, 6861, 6870, 6906, 6915, 6924, 6933, 6942, 6951, 6960, 7059, 7068, 7077, 7086, 7095, 7149, 7158, 7167, 7176, 7185, 7194, 7239, 7248, 7257, 7266, 7275, 7284, 7293, 7329, 7338, 7347, 7356, 7365, 7374, 7383, 7392, 7419, 7428, 7437, 7446, 7455, 7464, 7473, 7482, 7491, 7509, 7518, 7527, 7536, 7545, 7554, 7563, 7572, 7581, 7590, 7608, 7617, 7626, 7635, 7644, 7653, 7662, 7671, 7680, 7707, 7716, 7725, 7734, 7743, 7752, 7761, 7770, 7806, 7815, 7824, 7833, 7842, 7851, 7860, 7905, 7914, 7923, 7932, 7941, 7950, 8049, 8058, 8067, 8076, 8085, 8094, 8139, 8148, 8157, 8166, 8175, 8184, 8193, 8229, 8238, 8247, 8256, 8265, 8274, 8283, 8292, 8319, 8328, 8337, 8346, 8355, 8364, 8373, 8382, 8391, 8409, 8418, 8427, 8436, 8445, 8454, 8463, 8472, 8481, 8490, 8508, 8517, 8526, 8535, 8544, 8553, 8562, 8571, 8580, 8607, 8616, 8625, 8634, 8643, 8652, 8661, 8670, 8706, 8715, 8724, 8733, 8742, 8751, 8760, 8805, 8814, 8823, 8832, 8841, 8850, 8904, 8913, 8922, 8931, 8940, 9039, 9048, 9057, 9066, 9075, 9084, 9093, 9129, 9138, 9147, 9156, 9165, 9174, 9183, 9192, 9219, 9228, 9237, 9246, 9255, 9264, 9273, 9282, 9291, 9309, 9318, 9327, 9336, 9345, 9354, 9363, 9372, 9381, 9390, 9408, 9417, 9426, 9435, 9444, 9453, 9462, 9471, 9480, 9507, 9516, 9525, 9534, 9543, 9552, 9561, 9570, 9606, 9615, 9624, 9633, 9642, 9651, 9660, 9705, 9714, 9723, 9732, 9741, 9750, 9804, 9813, 9822, 9831, 9840, 9903, 9912, 9921, 9930, Liczby czterocyfrowe o sumie cyfr równej 5 to: 1004, 1013, 1022, 1031, 1040, 1103, 1112, 1121, 1130, 1202, 1211, 1220, 1301, 1310, 1400, 2003, 2012, 2021, 2030, 2102, 2111, 2120, 2201, 2210, 2300, 3002, 3011, 3020, 3101, 3110, 3200, 4001, 4010, 4100, 5000, Liczby czterocyfrowe o sumie cyfr równej 13 to: 1039, 1048, 1057, 1066, 1075, 1084, 1093, 1129, 1138, 1147, 1156, 1165, 1174, 1183, 1192, 1219, 1228, 1237, 1246, 1255, 1264, 1273, 1282, 1291, 1309, 1318, 1327, 1336, 1345, 1354, 1363, 1372, 1381, 1390, 1408, 1417, 1426, 1435, 1444, 1453, 1462, 1471, 1480, 1507, 1516, 1525, 1534, 1543, 1552, 1561, 1570, 1606, 1615, 1624, 1633, 1642, 1651, 1660, 1705, 1714, 1723, 1732, 1741, 1750, 1804, 1813, 1822, 1831, 1840, 1903, 1912, 1921, 1930, 2029, 2038, 2047, 2056, 2065, 2074, 2083, 2092, 2119, 2128, 2137, 2146, 2155, 2164, 2173, 2182, 2191, 2209, 2218, 2227, 2236, 2245, 2254, 2263, 2272, 2281, 2290, 2308, 2317, 2326, 2335, 2344, 2353, 2362, 2371, 2380, 2407, 2416, 2425, 2434, 2443, 2452, 2461, 2470, 2506, 2515, 2524, 2533, 2542, 2551, 2560, 2605, 2614, 2623, 2632, 2641, 2650, 2704, 2713, 2722, 2731, 2740, 2803, 2812, 2821, 2830, 2902, 2911, 2920, 3019, 3028, 3037, 3046, 3055, 3064, 3073, 3082, 3091, 3109, 3118, 3127, 3136, 3145, 3154, 3163, 3172, 3181, 3190, 3208, 3217, 3226, 3235, 3244, 3253, 3262, 3271, 3280, 3307, 3316, 3325, 3334, 3343, 3352, 3361, 3370, 3406, 3415, 3424, 3433, 3442, 3451, 3460, 3505, 3514, 3523, 3532, 3541, 3550, 3604, 3613, 3622, 3631, 3640, 3703, 3712, 3721, 3730, 3802, 3811, 3820, 3901, 3910, 4009, 4018, 4027, 4036, 4045, 4054, 4063, 4072, 4081, 4090, 4108, 4117, 4126, 4135, 4144, 4153, 4162, 4171, 4180, 4207, 4216, 4225, 4234, 4243, 4252, 4261, 4270, 4306, 4315, 4324, 4333, 4342, 4351, 4360, 4405, 4414, 4423, 4432, 4441, 4450, 4504, 4513, 4522, 4531, 4540, 4603, 4612, 4621, 4630, 4702, 4711, 4720, 4801, 4810, 4900, 5008, 5017, 5026, 5035, 5044, 5053, 5062, 5071, 5080, 5107, 5116, 5125, 5134, 5143, 5152, 5161, 5170, 5206, 5215, 5224, 5233, 5242, 5251, 5260, 5305, 5314, 5323, 5332, 5341, 5350, 5404, 5413, 5422, 5431, 5440, 5503, 5512, 5521, 5530, 5602, 5611, 5620, 5701, 5710, 5800, 6007, 6016, 6025, 6034, 6043, 6052, 6061, 6070, 6106, 6115, 6124, 6133, 6142, 6151, 6160, 6205, 6214, 6223, 6232, 6241, 6250, 6304, 6313, 6322, 6331, 6340, 6403, 6412, 6421, 6430, 6502, 6511, 6520, 6601, 6610, 6700, 7006, 7015, 7024, 7033, 7042, 7051, 7060, 7105, 7114, 7123, 7132, 7141, 7150, 7204, 7213, 7222, 7231, 7240, 7303, 7312, 7321, 7330, 7402, 7411, 7420, 7501, 7510, 7600, 8005, 8014, 8023, 8032, 8041, 8050, 8104, 8113, 8122, 8131, 8140, 8203, 8212, 8221, 8230, 8302, 8311, 8320, 8401, 8410, 8500, 9004, 9013, 9022, 9031, 9040, 9103, 9112, 9121, 9130, 9202, 9211, 9220, 9301, 9310, 9400, Process completed.
5 Zadanie 2. Dla dwóch liczb a i b oblicz średnią geometryczną z liczb z przedziału od a do b. Znowu ważne jest by wiedzieć, co mamy napisać. Co program ma robić. Tu widzimy już na samym początku treści zadania dla dwóch liczb a i b i od razu wiemy, że użytkownik będzie musiał wprowadzić liczby te z klawiatury. Ponownie kolorem niebieskim zaznaczyłem, co program ma wykonać. 1. Oblicz średnią geometryczną prosta sprawa, coś mamy obliczyć. W naszym wypadku jest to średnia geometryczna. Szanowny pan doktor raczył zamieścić wzór na średnią geometryczną, który i tak nie pomoże tym, którzy nie lubią matmy, bo zaistniał tam złowrogo wyglądający symbol iloczynu nieskończonego. Wzór ten wygląda następująco: Nie jest on trudny. Przy okazji można podszlifować analizę matematyczną i dowiedzieć się, że iloczyn nieskończony jest analogicznym wyrażeniem do szeregu z tą różnicą, że kolejnych wyrazów nie dodajemy do siebie, lecz mnożymy. I tak np. 4! możemy wyrazić za pomocą działania 1*2*3*4 = 24 jak również za pomocą iloczynu. 2. Liczb z przedziału od a do b rozwiązanie znów samo nam się nasuwa. Mamy przedział od a do b, czyli jasna sprawa, że użyjemy pętli for, w której zmienną sterującą zainicjalizujemy z wartością a, a warunkiem będzie, by owa zmienna nie przekroczyła wartości b. Kod programu: import java.lang.math; import java.util.scanner; public class Zadanie3_2 static double a, b; static Zadanie3_2 zadanie = new Zadanie3_2(); public static void main(string[] args) Scanner czytaj = new Scanner(System.in); System.out.print("Podaj liczbę a: "); zadanie.a = czytaj.nextdouble(); System.out.print("Podaj liczbę b: "); zadanie.b = czytaj.nextdouble(); System.out.printf("Średnia geometryczna liczb z przedziału [%.0f..%.0f] wynosi %.2f", zadanie.a,zadanie.b,zadanie.średniageometryczna(zadanie.iloczyn(zadanie.a,zada nie.b))); double iloczyn(double a, double b) double il=1.0, czynnik; for(double i=a;i<=b;i++) il*=i; return il; double średniageometryczna(double iloczyn) double n = (zadanie.b - zadanie.a)+1; double podstawa = zadanie.iloczyn(zadanie.a,zadanie.b); double wykładnik = 1/n; return Math.pow(podstawa,wykładnik);
6 Zacznijmy od samego początku. Pierwsze dwie instrukcje to zaimportowanie dwóch potrzebnych do działania programu bibliotek Scanner oraz Math. Pierwsza przyda się do czytania danych z klawiatury, druga zaś do obliczeń matematycznych. Następnie z klasie głównej, podobnie jak w poprzednim programie, deklarujemy ważne zmienne globalne oraz konstruktor klasy o nazwie zadanie. W metodzie main wczytujemy sobie dane (mam nadzieję, że tego tłumaczyć nie trzeba) i następnie wywołujemy metodę średniageometryczna, która jest zdefiniowana niżej. Metoda średniageometryczna wykorzystuje wartość innej metody iloczyn. Metoda iloczyn zwraca nam wartość będącą iloczynem liczb z przedziału wczytanego z klawiatury. Oznacza to, że wykonujemy pętlę i od a do b, gdzie zmienną il (skrót od iloczyn) mnożymy przez kolejną liczbę przedziału (i). Na końcu zwracamy il by w miejscu wywołania metody, pojawiła się ta wartość. A przyda się ona, będąc parametrem metody średniageometryczna, gdzie ów zwrócony iloczyn będzie liczbą podpierwiastkową (zgodnie ze wzorem na średnią geometryczną). W innej instrukcji obliczamy ilość elementów przedziału, która to będzie stopniem pierwiastka. Pierwiastkowanie n-tego stopnia wykonujemy na zasadzie potęgi do 1/n, i tak też wygląda nasza potęga, za którą odpowiada metoda pow z biblioteki Math. Jej pierwszym argumentem jest podstawa potęgi (wcześniej obliczona), a drugim wykładnik (również wcześniej obliczony) Działanie programu: Configuration: <Default> Podaj liczbę a: 1 Podaj liczbę b: 3 Średnia geometryczna liczb z przedziału [1..3] wynosi 1,82 Process completed.
7 Zadanie 3. Napisz program sumujący liczby nieparzyste z przedziału od 1 do n, gdzie n 1 podaje użytkownik na starcie programu. Program powinien zakończyć sumowanie na liczbie n, gdy liczba n jest nieparzysta lub na liczbie n 1, gdy liczba n jest parzysta. Ponownie zadanie zaczniemy od analizy treści i uświadomienia sobie, co musimy wykonać. Tak naprawdę wynikiem końcowym jest fragment zaznaczony na niebiesko. Reszta, to warunki, które musimy spełnić. 1. Sumujący liczby nieparzyste prosta sprawa, musimy napisać metodę sprawdzającą, czy podana liczba jest parzysta. 2. Z przedziału od 1 do n znowu przedział, jednak tym razem łatwiejszy, niż poprzednio, gdyż wprowadzamy jego górną granicę. Pętlowanie rozpoczniemy więc standardowo od jedynki. Pominę tłumaczenie tego program powinien zakończyć sumowanie bo zrobiłem to za pomocą dodania jednego znaku w jednej instrukcji, a później zresztą i tak to objaśnię. Kod programu: import java.util.scanner; public class Zadanie3_3 int a; static Zadanie3_3 zadanie = new Zadanie3_3(); public static void main(string[] args) Scanner czytaj = new Scanner(System.in); System.out.print("Podaj n-1: "); zadanie.a = czytaj.nextint(); System.out.printf("Suma liczb nieparzystych z zakresu [1..%d] wynosi %d",(zadanie.a),(zadanie.sumujnieparzyste(zadanie.a))); int sumujnieparzyste(int ile) int suma=0; for(int i=1;i<=ile;i++) if(i%2!=0) suma+=i; return suma; Zapis w pierwszej linijce wyjaśniłem przy okazji poprzedniego zadania, podobnie zresztą jak i kolejnych kilka. Zajmę się więc samym algorytmem. Program ma sumować liczby nieparzyste, więc przyda nam się wiedza, jak sprawdzić, czy liczba jest parzysta, czy też nie jest. A nie jest wtedy, gdy reszta z dzielenia przez 2 wynosi 1. Taki też mamy warunek w pętli, której zadanie jest sprawdzić, czy kolejna liczba będąca numerem iteracji jest nieparzysta i jeśli tak jest, to dodać ją do ogólnej sumy. Pętla nam się wykonuje do czasu, aż osiągnie numer wprowadzony przez nas z klawiatury. Gdybyśmy zapisali warunek pętli jako i<ile to wtedy wykonywałoby się faktycznie dla naszego wprowadzonego n-1, dodanie jednak symbolu =, który zmienia logikę warunku, upraszcza sprawę. Warunek i<=ile jest więc złotym środkiem na to zadanie. Co ciekawe, w metodie sumujnieparzyste zastosowałem parametr, który jest niczym innym, jak ilością liczb do policzenia, którą wprowadzamy z klawiatury. Z kolei zwrócenie sumy za pomocą
8 instrukcji return pozwoli nam na swobodne wyświetlenie wartości i używanie tej metody w innych metodach. Działanie programu: Configuration: <Default> Podaj n-1: 9 Suma liczb nieparzystych z zakresu [1..9] wynosi 25 Process completed.
9 Zadanie 4. Napisz program, który oblicza wartość równania kwadratowego ax2+bx+c=0. Co trzeba zrobić, zaznaczyłem na niebiesko. Myślę, że tutaj już nie potrzeba tego wypunktowywać, bo w sumie cel jest jeden: obliczyć równanie kwadratowe. Faktem jest, że jest kilka metod rozwiązywania równania kwadratowego: wzory Viete a, metoda wyznaczników oraz standardowa szkolna przez deltę. I tej ostatniej użyjemy, choć najprostszą z podanych nie jest, jednak taki jest wymóg zadania. Kod programu: import java.util.scanner; import java.lang.math; public class Zadanie3_4 float a,b,c; static Zadanie3_4 zadanie = new Zadanie3_4(); public static void main(string[] args) Scanner czytaj = new Scanner(System.in); System.out.print("Wprowadź a: "); zadanie.a = czytaj.nextfloat(); System.out.print("Wprowadź b: "); zadanie.b = czytaj.nextfloat(); System.out.print("Wprowadź c: "); zadanie.c = czytaj.nextfloat(); System.out.printf("Rozwiązania równania %.2fx^2 + %.2fx + %.2f = 0 :\n",zadanie.a,zadanie.b,zadanie.c); zadanie.równaniekwadratowe(zadanie.a,zadanie.b,zadanie.c); void równaniekwadratowe(float a, float b, float c) if(a==0) System.out.print("Równanie nie jest kwadratowe"); else double delta; delta = (b*b)-4*(a*c); if(delta<0) System.out.print("Brak rozwiązań rzeczywistych"); else if(delta==0) System.out.printf("%.2f",(-(b/(2*a)))); else if(delta>0) System.out.printf("%.2f oraz %.2f",((-b- Math.sqrt(delta))/(2*a)),((-b+Math.sqrt(delta))/(2*a))); Znowu sytuacja taka, że pierwszych linijek kodu tłumaczyć nie będę, bo zostały wytłumaczone już wcześniej. Przejdę więc do samej metody równaniekwadratowe, która posiada trzy argumenty a, b i c będące odpowiednimi współczynnikami równania. Następuje sprawdzenie, czy w ogóle nasze równanie jest kwadratowe. Jest, jeśli współczynnik przy jest różny od zera. Tylko wtedy wykonujemy dalsze czynności, w przeciwnym wypadku zwracamy informację, że równanie jest liniowe. Gdy jednak delta jest różna od zera, możemy poszaleć. Mamy trzy warianty delty: ujemna brak rozwiązań rzeczywistych (należałoby liczyć liczby zespolone) zerowa istnieje tylko jedno rozwiązanie dodatnia istnieją dwa rozwiązania.
10 Wszystkie te trzy przypadki zostały rozpatrzone za pomocą instrukcji warunkowych i przy odpowiednich warunkach zostały wyświetlone odpowiednie rozwiązania. Działanie programu: Configuration: <Default> Wprowadź a: 4 Wprowadź b: 7 Wprowadź c: 3 Rozwiązania równania 4,00x^2 + 7,00x + 3,00 : -1,00 oraz -0,75 Process completed.
11 Zadanie 5. Należy obliczyć sumę szeregu harmonicznego z dokładnością zawartą w przedziale 0<eps<1, podana przez użytkownika programu. Suma szeregu jest równa: Suma = 1+1/2 + 1/ /n, gdzie 1/n>=eps Kolejne z pozoru trudne zadanie, jednak po głębszej analizie wszystko nabiera sensu. Na niebiesko jest to, co mamy zaprogramować. Ważne jest, czym jest tutaj eps. Jest to dokładność szeregu, czyli przekładając to na prosty język, wyraz, do którego ma sumować. Eps to nic innego jak wyrażenie 1/n. Z prostego równanka możemy z łatwością wyliczyć n, które będzie wynosiło rozwiązać program, składający się z, uwaga, jednej pętli for. Kod programu: import java.util.scanner; public class Zadanie3_5 double eps; static Zadanie3_5 zadanie = new Zadanie3_5(); public static void main(string[] args) Scanner czytaj = new Scanner(System.in); System.out.print("Wprowadź eps: "); zadanie.eps = czytaj.nextdouble(); System.out.printf("Suma szeregu o dokładności %.2f wynosi %.5f",zadanie.eps,zadanie.sumaSzeregu(zadanie.eps)); double sumaszeregu(double eps) double suma = 0.0; int n = (int)math.round(1/eps);. Uzbrojeni w taką wiedzę możemy for(int i=1;i<=n;i++) suma += (1/(i*1.0)); return suma; Prosta sprawa. Jeśli podaliśmy eps, to możemy ten eps teraz przeistoczyć na n potrzebnego do obliczenia sumy szeregu (za pomocą pętli for). Żeby jednak otrzymać n, musimy zmienną double (bo taki jest eps) rzutować na int od razu zaokrąglając do całości, bo liczby całkowite są przecież całkowite. Tak uzyskanego n używamy w pętli for do policzenia sumy n wyrazów szeregu harmonicznego. Działanie programu: Configuration: <Default> Wprowadź eps: 0,2 Suma szeregu o dokładności 0,20 wynosi 2,28333 Process completed.
12 Za wykonanie zadań chętnie przyjmę
Programowanie - instrukcje sterujące
Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication
Bardziej szczegółowoMetody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Bardziej szczegółowo4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
Bardziej szczegółowoPodstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Bardziej szczegółowoPodstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini
Bardziej szczegółowoProgramowanie - wykład 4
Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include
Bardziej szczegółowodo instrukcja while (wyrażenie);
Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie
Bardziej szczegółowoWstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
Bardziej szczegółowoSchematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.
Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:
Bardziej szczegółowoWHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Bardziej szczegółowo1 Powtórzenie wiadomości
1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy
Bardziej szczegółowoWHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Bardziej szczegółowoProgramowanie, algorytmy i struktury danych
1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania
Bardziej szczegółowoProgramowanie strukturalne i obiektowe. Funkcje
Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy
Bardziej szczegółowoWiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego
Bardziej szczegółowo6. Pętle while. Przykłady
6. Pętle while Przykłady 6.1. Napisz program, który, bez użycia rekurencji, wypisze na ekran liczby naturalne od pewnego danego n do 0 włącznie, w kolejności malejącej, po jednej liczbie na linię. Uwaga!
Bardziej szczegółowoInstrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.
Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania
Bardziej szczegółowoWstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność
Bardziej szczegółowoNazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.
Nazwa implementacji: Nauka języka Python wyrażenia warunkowe Autor: Piotr Fiorek Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nasz kalkulator umie już liczyć, ale potrafi przeprowadzać
Bardziej szczegółowoLekcja : Tablice + pętle
Lekcja : Tablice + pętle Wprowadzenie Oczywiście wiesz już jak dużo można osiągnąć za pomocą tablic oraz jak dużo można osiągnąć za pomocą pętli, jednak tak naprawdę prawdziwe możliwości daje połączenie
Bardziej szczegółowoPlatforma.NET. Laboratorium nr 1 Podstawy języka C#
Platforma.NET Laboratorium nr 1 Podstawy języka C# Ćwiczenie 1 1. Utwórz nowy projekt a. Z menu File wybierz New/Project b. W oknie dialogowym New Project określ następujące właściwości: typu projektu:
Bardziej szczegółowoPętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pętle for, while, do... while, foreach Jeszcze o operatorach... Skrócone operatory arytmetyczne przykład x +=
Bardziej szczegółowoa[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76
. p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować
Bardziej szczegółowoJęzyk C, tablice i funkcje (laboratorium, EE1-DI)
Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
Bardziej szczegółowoFunkcja kwadratowa. f(x) = ax 2 + bx + c = a
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.
Bardziej szczegółowoIteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.
Iteracje Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracja inaczej zwana jest pętlą i oznacza wielokrotne wykonywanie instrukcji. Iteracje
Bardziej szczegółowoFunkcja kwadratowa. f(x) = ax 2 + bx + c,
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax 2 + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax 2, a R \
Bardziej szczegółowoWarunki logiczne instrukcja if
Warunki logiczne instrukcja if Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko 1. Wejdź na stronę kółka, uruchom edytor i wpisz: use console; def test::main() { var y; y = 1; while (y
Bardziej szczegółowoProste programy w C++ zadania
Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna
Bardziej szczegółowoWskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
Bardziej szczegółowoLab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. 1. Identyfikator funkcji,
Bardziej szczegółowoWarto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.
Nazwa implementacji: Nauka języka C wyrażenia warunkowe if- Autor: Piotr Fiorek Opis implementacji: Poznanie struktury oraz zastosowania wyrażeń warunkowych if- w języku C. W programie realizującym jakiś
Bardziej szczegółowoJęzyk C część 2. Podejmowanie decyzji w programie. if else. switch
Język C część 2 Podejmowanie decyzji w programie if else Instrukcja warunkowa umożliwia wykonanie pewnej instrukcji w zależności od wartości wyrażenia. Wszystkie wartości różne od 0, są w języku C traktowane
Bardziej szczegółowoznajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Bardziej szczegółowoPętle. Dodał Administrator niedziela, 14 marzec :27
Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać
Bardziej szczegółowoPodstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Bardziej szczegółowoInformacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.
Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania
Bardziej szczegółowoPodstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk
Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, Materiał
Bardziej szczegółowoif (wyrażenie ) instrukcja
if (wyrażenie ) instrukcja Jeśli wartość wyrażenia jest różna od zera, to jest wykonywana instrukcja, jeśli wartość wyrażenia jest równa 0, to dana instrukcja nie jest wykonywana Wyrażenie testowe podajemy
Bardziej szczegółowox 2 = a RÓWNANIA KWADRATOWE 1. Wprowadzenie do równań kwadratowych 2. Proste równania kwadratowe Równanie kwadratowe typu:
RÓWNANIA KWADRATOWE 1. Wprowadzenie do równań kwadratowych Przed rozpoczęciem nauki o równaniach kwadratowych, warto dobrze opanować rozwiązywanie zwykłych równań liniowych. W równaniach liniowych niewiadoma
Bardziej szczegółowoJAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak
JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard
Bardziej szczegółowoALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:
ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu: Rys1 Ćwiczenie 2 Podaj jaki ciąg znaków zostanie wypisany po wykonaniu
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
KATEDRASYSTEMÓWOBLICZENIOWYCH ALGORYTMY I STRUKTURY DANYCH 1.Rekurencja Rekurencja inaczej rekursja (ang. recursion) to wywołanie z poziomu metody jej samej. Programowanie z wykorzytaniem rekurencji pozwala
Bardziej szczegółowoProgramowanie w Baltie klasa VII
Programowanie w Baltie klasa VII Zadania z podręcznika strona 127 i 128 Zadanie 1/127 Zadanie 2/127 Zadanie 3/127 Zadanie 4/127 Zadanie 5/127 Zadanie 6/127 Ten sposób pisania programu nie ma sensu!!!.
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 2 - wprowadzenie do zmiennych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 23 października 2017 1 / 26 mgr inż. Krzysztof Szwarc Podstawy i
Bardziej szczegółowoKlasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik
Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik Dlaczego obiekty Załóżmy, że mamy napisać program o następującej specyfikacji: 1. Program wyświetla
Bardziej szczegółowoCzęść 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Bardziej szczegółowoW języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja
Pętle W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. Instrukcja for ma następującą postać: for (w1;w2;w3) instrukcja w1, w2, w3 są wyrażeniami Schemat blokowy
Bardziej szczegółowoMETODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH
METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR
Bardziej szczegółowoZadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak:
Tablice Tablice jednowymiarowe Jeżeli nasz zestaw danych składa się z wielu drobnych elementów tego samego rodzaju, jego najbardziej naturalnym ekwiwalentem w programowaniu będzie tablica. Tablica (ang.
Bardziej szczegółowoStrona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
Bardziej szczegółowoJęzyki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD
Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe
Bardziej szczegółowoNazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek
Nazwa implementacji: Nauka języka Python pętla for Autor: Piotr Fiorek Opis implementacji: Poznanie innego rodzaju pętli, jaką jest pętla for w języku Python. Składnia pętli for jest następująca: for
Bardziej szczegółowoInstrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal
Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja
Bardziej szczegółowoPrzykładowe zadania z teorii liczb
Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę
Bardziej szczegółowoLuty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
Bardziej szczegółowoWYRAŻENIA ALGEBRAICZNE
WYRAŻENIA ALGEBRAICZNE Wyrażeniem algebraicznym nazywamy wyrażenie zbudowane z liczb, liter, nawiasów oraz znaków działań, na przykład: Symbole literowe występujące w wyrażeniu algebraicznym nazywamy zmiennymi.
Bardziej szczegółowoKonstrukcje warunkowe Pętle
* Konstrukcje warunkowe Pętle *Instrukcja if sposób na sprawdzanie warunków *Konstrukcja: if(warunek) else { instrukcje gdy warunek spełniony} {instrukcje gdy warunek NIE spełniony} * 1. Wylicz całkowity
Bardziej szczegółowo7. Pętle for. Przykłady
. Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i
Bardziej szczegółowoProgramowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41
Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 1
Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program
Bardziej szczegółowo1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.
Bardziej szczegółowoW wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.
W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku. Nie wolno dzielić przez zero i należy sprawdzić, czy dzielna nie jest równa zeru. W dziedzinie liczb
Bardziej szczegółowoLekcja 3: Pierwsze kroki z Pythonem. Pętle
#SuperKoderzy www.superkoderzy.pl Mikrobitowcy Autorzy: Filip Kłębczyk Lekcja 3: Pierwsze kroki z Pythonem. Pętle Podczas lekcji uczniowie zapoznają się z dwoma rodzajami pętli - for i while - analizując
Bardziej szczegółowoProgramowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
Bardziej szczegółowoInstrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Instrukcje wyboru Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne Być, czy nie być?
Bardziej szczegółowo5. Rekurencja. Przykłady
5. Rekurencja Uwaga! W tym rozdziale nie są omówione żadne nowe konstrukcje języka C++. Omówiona jest za to technika wykorzystująca funkcje, która pozwala na rozwiązanie pewnych nowych rodzajów zadań.
Bardziej szczegółowoALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu
Bardziej szczegółowoALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
Bardziej szczegółowoInstrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Instrukcje wyboru Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne Być, czy nie być?
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoNaukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem
Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego
Bardziej szczegółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
Bardziej szczegółowoZofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1
PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 7 - wprowadzenie do metod mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 27 listopada 2017 1 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki
Bardziej szczegółowoJęzyk C, tablice i funkcje (laboratorium)
Język C, tablice i funkcje (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
Bardziej szczegółowoUtworzenie funkcji użytkownika w Visual Basic
Utworzenie funkcji użytkownika w Visual Basic Po co? Potrzebna jest nam funkcja, która nie występuje w Excelu. Zadanie 1. Utwórz funkcję użytkownika kotek, która będzie funkcją dwóch zmiennych b i h i
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoLaboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Bardziej szczegółowoINFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki
INFORMATYKA Z MERMIDONEM Programowanie Moduł 5 / Notatki Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Realizator projektu: Opracowano w ramach projektu
Bardziej szczegółowo2. Zmienne i stałe. Przykłady Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117).
2. Zmienne i stałe Przykłady 2.1. Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117). 5 int a = 281; int b = 117; 7 8 cout
Bardziej szczegółowoInstrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:
Instrukcje sterujące wer. 11 z drobnymi modyfikacjami! Wojciech Myszka 2017-07-05 10:53:09 +0200 Ala ma kota Część I Prosty przykład Problem 1. Zadanie polega na tym, żeby opracować algorytm który dla
Bardziej szczegółowoRozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Bardziej szczegółowoOpis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja
Opis zagadnieo 1-3 Iteracja, rekurencja i ich realizacja Iteracja Iteracja to czynnośd powtarzania (najczęściej wielokrotnego) tej samej instrukcji (albo wielu instrukcji) w pętli. Mianem iteracji określa
Bardziej szczegółowoLISTA 5. C++ PETLE for, while, do while
WSTEP DO INFORMATYKI I PROGRAMOWANIA LISTA 5. C++ PETLE for, while, do while Zadanie. Przeanalizuj działanie poniższego programu. cout
Bardziej szczegółowoDZIAŁANIA NA UŁAMKACH DZIESIĘTNYCH.
DZIAŁANIA NA UŁAMKACH DZIESIĘTNYCH. Dodawanie,8 zwracamy uwagę aby podpisywać przecinek +, pod przecinkiem, nie musimy uzupełniać zerami z prawej strony w liczbie,8. Pamiętamy,że liczba to samo co,0, (
Bardziej szczegółowoPytania sprawdzające wiedzę z programowania C++
Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?
Bardziej szczegółowoRekurencja (rekursja)
Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)
Bardziej szczegółowoProgramowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r. Czym jest obiekt w programowaniu obiektowym? Programowanie
Bardziej szczegółowoC++ Przeładowanie operatorów i wzorce w klasach
C++ i wzorce w klasach Andrzej Przybyszewski numer albumu: 89810 14 listopada 2009 Ogólnie Przeładowanie (przeciążanie) operatorów polega na nadaniu im nowych funkcji. Przeładowanie operatora dokonuje
Bardziej szczegółowo11.6 Klasa do obsługi liczb wymiernych
246 11.6 Klasa do obsługi liczb wymiernych Klasa do obsługi liczb wymiernych, którą teraz zaprojektujemy w celu zilustrowania korzyści wynikających z programowania obiektowego, służy do zgrabnego wykonywania
Bardziej szczegółowoWidoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
Bardziej szczegółowoProgramowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35
Programowanie w C++ Wykład 3 Katarzyna Grzelak 12 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35 Zakres ważności obiektów K.Grzelak (Wykład 1) Programowanie w C++ 2 / 35 Zakres ważności obiektów
Bardziej szczegółowo; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...
Tekst na niebiesko jest komentarzem lub treścią zadania. Zadanie. Dane są macierze: A D 0 ; E 0 0 0 ; B 0 5 ; C Wykonaj poniższe obliczenia: 0 4 5 Mnożenia, transpozycje etc wykonuję programem i przepisuję
Bardziej szczegółowoMetody numeryczne Laboratorium 2
Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania
Bardziej szczegółowoPętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady
Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy
Bardziej szczegółowoInformatyka I: Instrukcja 4.2
Informatyka I: Instrukcja 4.2 1 Wskaźniki i referencje - bezboleśnie Nauczyliśmy się do tej pory, że funkcje w języku C mogą zwracać wartość. Co jednak, gdybyśmy chcieli napisać funkcję, która rozwiąże
Bardziej szczegółowo