-
Notifications
You must be signed in to change notification settings - Fork 12
Home
Pracujemy z zadaniami ze strony AOAPC II: Beginning Algorithm Contests (Second Edition) (Rujia Liu) :: Chapter 3. Arrays and Strings
-
Omówienie zadania Bit Counting
-
Rozwiązanie zadania Molar Mass
-
Zadanie domowe Score
Dla chętnych - zadania pozostałe.
Wciąż dążymy do implementacji szybkiego algorytmu rozwiązującego zadanie Szachy. Przyda nam się do tego technika znana pod nazwą programowania dynamicznego.
Materiał wstępny: Po co komu te algorytmy? - początek wykładu (do ok. 27 minuty).
Zadanie na zajęcia - rozwiązanie omówionego zadania z matury (porównamy wszystkie trzy implementacje). Źródła: arkusz maturalny (zadanie 5), zestawy danych testowych.
Oczekiwane wyniki: 106, 139, 1342.
W jaki sposób programowanie dynamiczne może przyspieszyć rozwiązanie zadania Szachy?
Zadanie do domu: Helikopter, Trójkąt, Słowa Fibonacciego (gr. złota)
Omówimy:
- Rozwiązanie brute-force zadania szachy.
- Deklaracja zmiennych i odczytanie danych wejściowych
- Czterokrotne zagnieżdżenie pętli
- Rozwiązanie optymalne zadania szachy.
- Jak szybko znaleźć największą liczbę w prostokątnym fragmencie szachownicy?
Zadania dla mniej zaawansowanych chcących poćwiczyć zagnieżdżanie pętli i/lub tablice:
- Grupa złota - Helikopter.
- Grupa złota - Trójkąt.
Omawialiśmy rozwiązania zadań szachy i labirynt.
Omówimy zadanie Park Wodny z XXIII OI.
Ćwiczenia dla początkujących: tablice jednowymiarowe i zadania z części "pętla for i tablice" z kursu programowania.
Zapraszam na konkurs w ramach Godziny Kodowania 2015. Zadania z kategorii dzięcioły powinny być w zasięgu wszystkich.
Dzisiejszym tematem są pętle.
Pętla for
wypisująca na ekranie liczby od 1
do 10
int i;
for (i = 1; i <= 10; i++) {
cout << i << " ";
}
Zwróć uwagę na trzy instrukcje będące parametrami pętli:
-
i = 1
- inicjalizacja, wykonywana jednokrotnie na samym początku. -
i <= 10
- warunek sprawdzany przed każdym obrotem pętli. Jeżeli warunek jest fałszywy, to program wychodzi z pętli. -
i++
- instrukcja wykonywana po każdym obrocie pętli.
Ćwiczenie: zmodyfikuj powyższy program tak, by wypisywał liczby od 0
do 100
.
Ćwiczenie: zmodyfikuj powyższy program tak, by wypisywał liczby od 100
do 0
.
Ćwiczenie: zmodyfikuj powyższy program tak, by wypisywał liczby parzyste od 0
do 100
.
-
Zadanie: flaga polska
Napisz program, który odczytuję liczbę n a następnie wyświetla flagę polską o szerokości 4n i wysokości 2n.
3
......
......
......
######
######
######
-
Project Euler: Multiplies of 3 and 5.
Liczby naturalne mniejsze od 10, które są wielokrotnościami 3 lub 5, to 3, 5, 6 i 9. Ich suma równa jest 23.
Napisz program, który oblicza sumę wielokrotności 3 i 5 mniejszych niż 1000.
Wynik zweryfikuj wysyłając rozwiązanie na stronę http://projecteuler.net (trzeba się zarejestrować).
- Project Euler: Even Fibonacci numbers.
W ciągu Fibonacciego kolejny wyraz obliczamy jako sumę dwóch poprzednich. Jeżeli zaczniemy od jedynki i dwójki, pierwszymi dziesięcioma elementami ciągu będą
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Spośród nich 2, 8 i 34 to elementy parzyste - są to jedyne elementy parzyste, których wartość nie przekracza 50. Ich suma to 2 + 8 + 34 = 44.
Zadanie: oblicz sumę parzystych elementów ciągu, których wartość nie przekracza czterech milionów.
Wynik zweryfikuj wysyłając rozwiązanie na stronę http://projecteuler.net (trzeba się zarejestrować).
Z kursu wstępu do programowania obejrzymy dwa filmy - lekcja nr 3 (instrukcja warunkowa)
Podczas zajęć rozwiążesz i wyślesz do oceny w serwisie MAIN2 rozwiązanie zadania ćwiartka
Tak jak poprzednio korzystamy z kompilatora online.
Następnie rozwiązanie opublikujesz w serwisie GitHub.
Zadanie do domu: maksimum. Rozwiązanie zadania proszę przesłać do oceny w MAIN2 i po zaliczeniu umieścić na GitHubie. Termin: 29 listopada.
--
-
Układ dwójkowy
--
© 2013-15 Kółko Informatyczne Szkoły Żagle. Licencja Creative Commons-BY-NC-SA.