Skip to content
anagorko edited this page Feb 22, 2016 · 84 revisions

Kółko Informatyczne Szkoły Żagle

Rok szkolny 2015/16

22 lutego. AOAPC II: Arrays and Strings

Pracujemy z zadaniami ze strony AOAPC II: Beginning Algorithm Contests (Second Edition) (Rujia Liu) :: Chapter 3. Arrays and Strings

  1. Omówienie zadania Bit Counting

  2. Rozwiązanie zadania Molar Mass

  3. Zadanie domowe Score

Dla chętnych - zadania pozostałe.

26 stycznia. Dwa łyki programowania dynamicznego

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)

19 stycznia. Implementacja rozwiązań - szczegóły techniczne

Omówimy:

  1. Rozwiązanie brute-force zadania szachy.
  • Deklaracja zmiennych i odczytanie danych wejściowych
  • Czterokrotne zagnieżdżenie pętli
  1. 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:

  1. Grupa złota - Helikopter.
  2. Grupa złota - Trójkąt.

12 stycznia. Tablice dwuwymiarowe. Algorytmy typu brute-force

Omawialiśmy rozwiązania zadań szachy i labirynt.

15 grudnia. Tablice

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.

8 grudnia. Pętle

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

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:

  1. i = 1 - inicjalizacja, wykonywana jednokrotnie na samym początku.

  2. i <= 10 - warunek sprawdzany przed każdym obrotem pętli. Jeżeli warunek jest fałszywy, to program wychodzi z pętli.

  3. 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.

Zadania

  1. Zadanie N znaków

  2. 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
......
......
......
######
######
######
  1. Zadanie Helikopter

  2. Zadanie Najmniejsza z N

  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ć).

  1. 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ć).

24 listopada. Instrukcja warunkowa

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.

Wcześniejsze zajęcia

Wyszukiwanie binarne

Zmienne

--

Początkujący

--

Ludum dare

SFML | kurs

Clone this wiki locally