LEKCJA 1/1d

Zajęcia organizacyjne, zapoznanie z sytemem oceniania, wymaganiami oraz programem nauczania.

LEKCJA 2/1d

Działanie komputera, odzwierciedlenie świata rzeczywistego za pomocą bitów, bity i bajty.

LEKCJA 3/1d

Budowa komputera, parametry elementów komputera.

LEKCJA 4/1d

Płyta główna i elementy umieszczone na płycie głównej.

LEKCJA 5/1d

Nośniki danych - dyski twarde HDD i SSD, pamięć Flash

LEKCJA 6/1d

Pamięci optyczne

LEKCJA 7/1d

Pliki komputerowe - rodzaje i cechy

LEKCJA 8/1d

System operacyjny - działanie, cel, możliwości, wymagania

LEKCJA 9/1d

Test 1 z podstaw

LEKCJA 10/1d

Technologie druku

Proszę przeczytać w całości materiał dostępny pod linkiem http://info.lo2.radomsko.pl/pliki/drukarki.pdf

LEKCJA 11/1d

Sieci komputerowe - podstawy, podstawowe pojęcia (z pliku)

LEKCJA 12/1d

Sieci komputerowe - prędkość transmisji danych, bezpieczeństwo w sieciach

LEKCJA 13/1d

TEST 2 z podstaw + binarny

LEKCJA 14/1d

Systemy liczbowe stałopozycyjne - system binarny

LEKCJA 15/1d

Systemy liczbowe stałopozycyjne - system HEX

LEKCJA 16/1d

Systemy liczbowe stałopozycyjne - dowolny system liczbowy

LEKCJA 17/1d

KARTKÓWKA Z SYSTEMÓW - piątek/wtorek

LEKCJA 18/1d

Dodawanie binarne

Odejmowanie binarne

LEKCJA 19/1d

Mnożenie binarne

LEKCJA 20/1d

KARTKÓWKA Z OBLICZEŃ

LEKCJA 21/1d

GRAFIKA RASTROWA I WEKTOROWA - prezentacja cz 1, rodzaje grafiki, wielkość pamięci graficznej, rozdzielczość i głębia bitowa barw

LEKCJA 22/1d

GRAFIKA RASTROWA I WEKTOROWA - prezentacja cz 2 - kolory

LEKCJA 23/1d

Skanery, Gimp - parametry nowego pliku, kolory

Na następną lekcję proszę ściągnąć i zainstalować program GIMP -> link do strony

LEKCJA 24/1d

GIMP: Nakładanie warstw i obrazku, edycja warstw, przezroczystość, usuwanie tła z warstwy.

LEKCJA 25/1d

GIMP: Edycja kolorów obrazu. Menu Kolory.

LEKCJA 26/1d

GIMP: Narzędzia do rysowania i edycji

LEKCJA 27/1d

GIMP: tworzenie własnej ulotki, zasady umieszczania tekstu na zdjęciach

LEKCJA 28/1d

Corel Draw - wstęp, podstawowe narzędzia

LEKCJA 29/1d

Plakat w Corelu

Zdalne:

LEKCJA 30/1d

Przygotowanie środowiska pracy - schemat blokowy w scratch.
Podstawowe instrukcje programistyczne w postaci graficznej - wykład.

Strona internetowa z darmową platformą scratch online
Uwaga! Proszę założyć własne konto na stronie MIT - zadanie do sprawdzenia trzeba będzie udostępnić w sieci i podać mi gotowy link. Należy pamiętać, że program mysi być publiczny!

Zad 1. dodaj duszka małej piłeczki i dokonaj próbnej animacji ruchu piłki (pętla)
Zad 2. gdy powyższe zadziała spróbuj odbić piłkę od krawędzi ekranu (można za pomocą obrotu duszka lub kontrolując współrzędne x,y)
Zad 3. gdy powyższe zadziała zapętl ruch piłeczki tak, żeby wielokrotnie odbijała się od krawędzi ekranu
Zad 4. Gdy powyższe zadziała dodaj duszka paletki (np.: paddle) i dokonaj prób odbicia piłeczki od niej (tak jak od ściany), w tym momencie powinno się dać zagrać w grę, ale bez zbijania bloczków i jeszcze bez "utraty życia". Uwaga! Paletką poruszamy za pomocą klawiszy kursora (nie myszki!) czyli pętla -> jeśli ktoś wcisnął strzałkę w prawo to przesuń duszka o kilka kroków w prawo. Podobnie strzałka w lewo.


LEKCJA 31/1d
Zad 5. Gdy powyższe zadziała dodaj zakończenie gry gdy ktoś nie odbije piłeczki. Następnie dodaj do programu system odliczania życia, gdy piłeczka nie zostanie odbita. Gra się kończy gdy utracisz wszystkie życia.

Zad 6. Gdy powyższe zadziała dodaj bloczki do zbijania za pomocą klonowania i pętli. Zastanów się jak zrobić zbijanie konkretnego bloczka z tych klonów.

LEKCJA 32/1d
Zad 7. gdy powyższe zadziała dodaj odbijanie piłeczki od bloczków
Zad 8. gdy powyższe zadziała dodaj ukrywanie trafionego bloczka
Zad 9. gdy powyższe zadziała dodaj zliczanie punktów
Zad 10. uatrakcyjnij wygląd programu i dokonaj testów poprawności działania


PODSTAWY C++

LEKCJA 33/1d
Instalacja środowiska CodeBlocks z kompilatorem GCC (link). Obsługa programu, na czym polega kompilacja, budowa folderu projektu. Języki programowania wysoko i niskopoziomowe.

LEKCJA 34 i 35/1d
Zmienne w C++, typy, deklaracja, czas życia, nakładanie się nazw.  

LEKCJA 36/1d
Test z grafiki
Instrukcja warunkowa IF. Zadanie z wart. bezwzgl.

LEKCJA 37/1d
IF w środku IF (zadanie z analizą wartości  +/-/0).
Największa z 3 liczb.

LEKCJA 38/1d
Wyświetl 3 liczby wprowadzone z klawiatury w kolejności rosnącej lub malejącej

LEKCJA 39/1d
Pętla FOR - dokładne wyjaśnienie działania i praca zmiennej licznika pętli.

LEKCJA 40/1d
Program do sumowania dowolnej ilości liczb wprowadzanych przez użytkownika

LEKCJA 41/1d
Silnia liczby
 
LEKCJA 42/1d
Pętle warunkowe - wyjaśnienie działania. Program sumujący liczby do uzyskania określonej sumy.

LEKCJA 43/1d
Program sumujący wszystkie parzyste liczby z zakresu od 1 do 1000.

LEKCJA 44/1d
Pętla w pętli: kwadrat z X, schodki z X

LEKCJA 45/1d
Petla w pętli: pusty kwadrat z X. Przekątne kwadratu.

ZADANIA Z PĘTLI - > link

 
LEKCJA 46/1d
Zadania z pliku z pętli: ćw 1-4

LEKCJA 47/1d
Zadanie 6 z pliku.

LEKCJA 48/1d
Zmienna char.
Zadanie 8 z pliku.

LEKCJA 50/1d
Kartkówka 1 z pętli

LEKCJA 51/1d
Rozkład liczby na cyfry. Zadanie nr 10 z pliku.

LEKCJA 52/1d
Zad 11 + wariant z parzystością
Zad 12

LEKCJA 53/1d
Zad 13
Zad 14
Zad 15
Zad 16
LEKCJA 53/1d
Zad 17
Zad 18
LEKCJA 54/1d
Wybrane zadania na ocenę (1-18).
 


 

 

LEKCJE ZDALNE 2020

LEKCJA 8/1d
Podsumowanie teorii grafiki. Uwaga! w czwartek test!!

LEKCJA 9/1d
Test z grafiki Online

Na następną lekcję proszę ściągnąć i zainstalować program GIMP -> link do strony

LEKCJA 10/1d
Podstawowa obsługa Gimp: tworzenie nowego pliku, kolory, rysowanie, zapisywanie pliku w określonym formacie, eksporty.

LEKCJA 11/1d
Praca w warstwach, efekty, kolejność warstw.

LEKCJA 12/1d
Warstwy - krycie i tryb nakładania. Menu kolorów. Ćwiczenie do wykonania - popraw kolorystykę dowolnego, własnego zdjęcia.

LAKCJA 13 /1d
Narzędzia standardowe. Pierwsze ćwiczenie własne - fotomontaż

LEKCJA 14/1d
Tworzenie plakatu: format A4, rozdzielczość 300dpi, błębia 24 bity (dwa pliki na mail: xcf z warstwami i pdf do druku)

LEKCJA 15/1d
Wstęp do grafiki wektorowej: instalacja i obsługa programu Inkscape -> link

LEKCJA 16/1d
Lista obiektów, warstwy, nakładanie, umieszczanie tekstu na krzywej.
Do wykonania ćwiczenia z lekcji + wykonanie zewnętrznego pierścienia logotypu ze strony szkoły (lo2.radomsko.pl).

LEKCJA 17/1d
Zastosowanie grafiki wektorowej - tworzenie wizytówek do druku w drukarni.
Wzrór spadów - LINK

LEKCJA 18/1d
Tworzenie logotypów. Zadanie - narysuj wektorowo logo BMW.


II SEMESTR
ALGORYTMIKA 1

LEKCJA 19/1d
Przygotowanie środowiska pracy - schemat blokowy w scratch.
Strona internetowa z darmową platformą scratch online
Uwaga! Proszę założyć własne konto na stronie MIT - zadanie do sprawdzenia trzeba będzie udostępnić w sieci i podać mi gotowy link. Należy pamiętać, że program mysi być publiczny!

LEKCJA 20/1d
Podstawowe instrukcje programistyczne w postaci graficznej - wykład.
Zad 1. dodaj duszka małej piłeczki i dokonaj próbnej animacji ruchu piłki (pętla)
Zad 2. gdy powyższe zadziała spróbuj odbić piłkę od krawędzi ekranu (można za pomocą obrotu duszka lub kontrolując współrzędne x,y)
Zad 3. gdy powyższe zadziała zapętl ruch piłeczki tak, żeby wielokrotnie odbijała się od krawędzi ekranu
 

LEKCJA 21/1d
Zad 4. Gdy powyższe zadziała dodaj duszka paletki (np.: paddle) i dokonaj prób odbicia piłeczki od niej (tak jak od ściany), w tym momencie powinno się dać zagrać w grę, ale bez zbijania bloczków i jeszcze bez "utraty życia". Uwaga! Paletką poruszamy za pomocą klawiszy kursora (nie myszki!) czyli pętla -> jeśli ktoś wcisnął strzałkę w prawo to przesuń duszka o kilka kroków w prawo. Podobnie strzałka w lewo.


LEKCJA 22/1d
Zad 5. Gdy powyższe zadziała dodaj zakończenie gry gdy ktoś nie odbije piłeczki. Następnie dodaj do programu system odliczania życia, gdy piłeczka nie zostanie odbita. Gra się kończy gdy utracisz wszystkie życia.

Proszę o wysłanie na maila linku do swojego projektu (musi być publiczny).

LEKCJA 23/1d
Zad 6. Gdy powyższe zadziała dodaj bloczki do zbijania za pomocą klonowania i pętli. Zastanów się jak zrobić zbijanie konkretnego bloczka z tych klonów.

LEKCJA 24/1d
Zad 7. gdy powyższe zadziała dodaj odbijanie piłeczki od bloczków.
UWAGA! Sprawdź czy piłeczka odbija się prawidłowo od każdej ścianki bloczka! Samo ustawienie kierunku (180-kierunek) w momencie dotknięcia nie wystarczy.
Trzeba rozpoznać w którą dokładnie krawędź uderza piłeczka (wystarczy prawa i lewa - góra i dół będzie normalnie 180-kierunek). Należy za pomocą zmiennej przesłać z dotkniętego bloczka jego współrzędne i porównać ze współrzędnymi piłeczki w memencie dotknięcia tego bloczka.

LEKCJA 25/1d
Zad 8. gdy powyższe zadziała dodaj ukrywanie trafionego bloczka
Zad 9. gdy powyższe zadziała dodaj zliczanie punktów
Dodatkowo proszę punkty liczbowe zastąpić znikającymi serduszkami.


LEKCJA 26/1d
Zad 10. uatrakcyjnij wygląd programu, dodaj poziomy trudności i dokonaj testów poprawności działania
Zad 11. Przygotuj projekt do oceny
 
C++ PODSTAWY

LEKCJA 27/1d
Instalacja środowiska CodeBlocks z kompilatorem GCC (link). Obsługa programu, na czym polega kompilacja, budowa folderu projektu.

LEKCJA 28/1d
Zmienne w C++, typy, deklaracja, czas życia, nakładanie się nazw.

LEKCJA 29/1d
Dziś napiszemy odrobinę większy program. Proszę korzystając z wiedzy z poprzednich zajęć napisać program prostego kalkulatora. Program ma obliczać podstawowe działania matematyczne (wyświetlasz listę, użytkownik wybiera działanie i podaje liczby).
Wybór działania proszę zrealizować tak jak ostatnio przez if. Wyświetl użytkownikowi menu do wyboru. Minimalne działania do obsługi to +-*/. Jeśli chcesz możesz zaproponować też inne działania.

Program ma być przyjazny użytkownikowi, czyli ma wyświetlać instrukcje, ma być czytelny. Korzystaj z całego miejsca na ekranie konsoli.
UWAGA! Pamiętaj że ->
https://www.youtube.com/watch?v=8AWxONRjjJs
... jest niebezpieczne dla komputera.

LEKCJA 30/1d
Pętle iteracyjne. Wykonaj ćwiczenie z lekcji (pętla dekrementująca).
Obejrzyj film o pętlach i napisz program wyświetlający na ekranie dokładnie 10102 razy słowo WAKACJE (oddziel spacjami).
Link do filmu -> https://www.youtube.com/watch?v=y6GOYVTVvqo

LEKCJA 31/1d

Pętle warunkowe

Dziś ćwiczenia z kolejnego rodzaju pętli - warunkowych. Pętle for służą do wykonania powtórzeń fragmentu algorytmu określoną ilość razy, znaną w momencie pisania programu (w programie zmienna to też znana liczba). Jeżeli w momencie pisania programu nie jesteśmy w stanie określić dokładnie ile razy pętla ma się wykonać, stosujemy pętle warunkowe. Najczęściej wykonujemy je gdy ilość wykonań jest zależna od tego co zrobi użytkownik (co wpisze z klawiatury) w trakcie działania programu.
Obejrzyj film (link) i wykonaj zawarte w nim ćwiczenia. Dodatkowe informacje masz w tym linku.

W ramach realizacji lekcji napisz program, który będzie sumował liczby wpisywane z klawiatury do momentu kiedy łączna suma tych liczb przekroczy wartość 1000. Wtedy program ma wyświetlić ile liczb zsumował i o ile przekroczono liczbę 1000 w sumie.

Zauważ, że w momencie pisania programu nie wiadomo ile razy poprosić usera o wpisanie liczb. Nie wiadomo też ile razy wykonać dodawanie. Równie dobrze wystarczy jedna liczba (user wpisał od razu 1200), a równie dobrze program nigdy się nie skończy (user będzie wpisywał ciągle liczby ujemne).  Właśnie w takim przypadku w programie należy zastosować pętle warunkową.

 

LEKCJA 32/1d
Ćwiczenia z pętli. Wspólnie wykonujemy zadanie nr 6 z pliku zbioru zadań - LINK.

LEKCJA 33/1d
Ćwiczenia z pętli. Wspólnie wykonujemy zadanie nr 9 z pliku zbioru zadań - LINK (tzn. Kinga miała wykonać, ale uciekła).


UWAGA NOWOŚĆ - ZASADY WYSYŁANIA PLIKÓW z C++:
- program ma być skompilowany i uruchomiony na Waszym komputerze (albo CodeBlocks albo kompilator online),
- kod programu wklejamy w treść maila w całości,
- jako załącznik wklejamy zrzut ekranu z widocznym zegarkiem z pulpitu (zbędne treści możesz zamazać w paint),
- uruchomiony program ma być podpisany imieniem i nazwiskiem za pomocą: cout << "imię i nazwisko"; zaraz przed "return 0;" - ma być widać ten napis w oknie uruchomionego programu,
- na zrzucie ma być widać program wykonany do samego końca.


LEKCJA 34/1d
Ćwiczenia z pętli - zadanie 21 z pliku.

LEKCJA 35/1d
Ćwiczenia z pętli - zadanie 16 z pliku.

LEKCJA 36/1d
Ćwiczenia z pętli - zadanie 17 z pliku.

LEKCJA 37/1d
Ćwiczenia z pętli - zadanie 22 z pliku.
 
LEKCJA 38/1d
Ćwiczenia z pętli - zadanie 49 z pliku (pętla w środku pętli) 
LEKCJA 39/1d
Ćwiczenia z pętli - zadanie 47 i 48 z pliku (pętla w środku pętli)


KLASÓWKA :) 12.04.2021


Zadania proszę napisać i skompilować na swoim komputerze. Zadanie pierwsze jest zadaniem łatwiejszym, zadanie drugie jest trudniejsze.
Wszystkie zadania pochodzą z pliku naszego zbioru zadań, niektóre nawet realizowaliśmy na lekcji.

Odsyłamy w jednej wiadomości mail:
- kody źródłowe podpisane (przed kodem zwykłym tekstem) numerem zadania i jego treścią (skopiuj z pdf) jeden pod drugim (jeśli zrobisz dwa zadania)
- dla każdego zadania osobno zrzut ekranu z oknem terminala z wykonanym zadaniem (zrzuty podpisz numerem zadania w nazwie pliku).
Pamiętaj się podpisać w kodzie programu, tak jak w zadaniach na lekcji (wytyczne na stronie klasowej).



LEKCJA 41/1d
Budowa, zasada przechowywania w pamięci i deklaracja zmiennych tablicowych.

LEKCJA 42/1d
Obsługa tablic w pętlach: wyświetlanie, wypełnianie i wykonywanie obliczeń. Zastosowanie zmiennych pomocniczych - "koszyczek".
Zadanie na OK: tablica 10 elementów z klawiatury; wyszukaj MAX, MIN, oblicz sumę i średnią.

LEKCJA 43/1d
Liczby pseudolosowe - wykład z przykładami.
Zadanie na OK: ile losowań rzutu monetą spośród wszystkich rzutów wykonanych przez użytkownika (użytkownik wprowadza ilość losowań) to orzełki, a ile to reszki.

LEKCJA 44/1d
Rzuty kostką - statystyjka losowań na tablicy 6-elementowej.

LEKCJA 45/1d
Generowanie liczb unikalnych - nie skończone!

LEKCJA 46/1d
Generowanie liczb unikalnych - skończone. Zadanie na OK: wylosuj unikalną kolejnoość liczb od 1 do 6.

LEKCJA 47/1d
Statystyka losowań. Napisz program losujący rzuty kostką do czasu gdy różnica między najczęściej i najrzadziej wypadającą liczbą osiągnie wymaganą wartość.

LEKCJA 48/1d
Tablice wielowymiarowe. Obsługa pętlami. Zadanie na OK z lekcji.

LEKCJA 49/1d
Arytmetyka binarna + i *





Dalej:

Odejmowanie

Programy do przeliczania między systemami.







Dział 1 - Budowa i działanie komputera

Bity, bajty, nadwielokrotności - link (tylko pierwsza strona)
Podstawy budowy komputera, podzespoły, itp. - link
Typy plików komputerowych - link
Systemy operacyjne - link

TEST 1 (online)

Drukarki i inne urządzenia peryferyjne - link
Internet i sieci komputerowe - podstawy (bez mediów transmisyjnych i topologii sieciowych)
Bezpieczeństwo w sieci komputerowej - link (nie tylko dla seniorów :))

TEST 2 (online) 

Systemy liczbowe stałopozycyjne -> link

Kartkówka

Arytmetyka binarna (dodawanie, odejmowanie, mnożenie)

Kartkówka


Dział 2 - Grafika komputerowa

Wstęp do grafiki (rodzaje, pliki graficzne, modele barw) prezentacja -> link

Wykład dotyczący kolorów i cyfrowego przetwarzania obrazów - link
Skanery (rodzaje, parametry) prezentacja -> link

   Skanery bębnowe

Drukarki (rodzaje, zasada działania) -> link

   Porównianie dysz w drukarkach atramentowych

TEST 3 (online)

Praca w programie GIMP - projekt plakatu (ocena)
Praca w programie Corel - logotyp, wizytówki, kalendarz (ocena)


Dział 3 - Elementy algorytmiki

3.1 - Schemat blokowy
3.2 - Sprawdzian z pętli (aktualnie odwołany)


NAUCZANIE ZDALNE


3.4 - Strona internetowa z darmową platformą scratch online
Uwaga! W tym roku proszę założyć własne konto - zadanie do sprawdzenia trzeba będzie udostępnić w sieci i podać mi gotowy link.
3.4 - Projekt programistyczny (prawdopodobnie) na ocenę - gra "Arkanoid"
Założenia i wskazówki do projektu:
- gra nie musi wyglądać perfekcyjnie :)
- paletką poruszamy za pomocą przycisków strzałek na klawiaturze (jeżeli wciśnięto -> to przesuń paletkę o jeden krok w prawo itd.) a nie myszką!
- ilość bloczków do strącenia nie musi być duża - wystarczy kilkanaście sztuk! Bloczek jest strącony gdy piłka go dotknie - wtedy doliczamy punkt i ukrywamy bloczek.
- punkty wyświetlamy na ekranie po zakończeniu gry - muszą być zliczane za pomocą zmiennej.
- na zakończenie gry wyświetlamy napis "wygrałeś" lub "przegrałeś" zależnie od stanu gry.
- jeśli piłka dotknie dolnej krawędzi ekranu (można od biedy dodać na dole kreskę w danym kolorze i sprawdzać dotyk albo lepiej sprawdzać współrzędne piłki na ekranie (x,y) i gdy jest za nisko - koniec gry.
- fizyczne prawa odbicia mają działać w sposób uproszczony tzn padanie i odbicie zawsze pod kątem 45 stopni (ale w dobrą stronę)
- w sieci znajdziecie wiele gotowych sposobów na rozwiązanie problemów z tej gry (a nawet gotowe gry): oglądaj, zrozum dlaczego tak to ktoś zrobił i dopiero wtedy zastosuj u siebie!
Przy ewentualnym ocenianiu tego programu BĘDĘ ZADAWAŁ KAŻDEMU INDYWIDUALNIE PYTANIA O KLUCZOWE ELEMENTY ALGORYTMU GRY!

LEKCJE ZDALNE:

Etapy pracy przy projekcie gry:
1. dodaj duszka małej piłeczki i dokonaj próbnej animacji ruchu piłki (pętla)
2. gdy powyższe zadziała spróbuj odbić piłkę od krawędzi ekranu (można za pomocą obrotu duszka lub kontrolując współrzędne x,y)
3. gdy powyższe zadziała zapętl ruch piłeczki tak, żeby wielokrotnie odbijała się od krawędzi ekranu
4. gdy powyższe zadziała dodaj duszka paletki (np.: paddle) i dokonaj prób odbicia piłeczki od niej (tak jak od ściany), w tym momencie powinno się dać zagrać w grę, ale bez zbijania bloczków i jeszcze bez "utraty życia". Uwaga! Paletką poruszamy za pomocą klawiszy kursora (nie myszki!) czyli pętla -> jeśli ktoś wcisnął strzałkę w prawo to przesuń duszka o kilka kroków w prawo. Podobnie strzałka w lewo. 
5. gdy powyższe zadziała dodaj zakończenie gry gdy ktoś nie odbije piłeczki,
6. gdy powyższe zadziała dodaj bloczki do zbijania
7. gdy powyższe zadziała dodaj odbijanie piłeczki od bloczków
8. gdy powyższe zadziała dodaj ukrywanie trafionego bloczka
9. gdy powyższe zadziała dodaj zliczanie punktów
10. uatrakcyjnij wygląd programu i dokonaj testów poprawności działania
11. Ocena z projektu aplikacji

Etapy pracy - podstawy programowania w języku C++

1. Instalacja środowiska pracy. Instalujemy program CodeBlock (Uwaga! koniecznie w wersji z kompilatorem GCC). Dokładny opis znajdziecie w filmie - link. Obejrzyj film i zainstaluj oprogramowanie na swoim komputerze w domu.

2. Przepisz do zeszytu notatkę do lekcji: wejdź na podstronę "Programowanie" z górnego menu, następnie odszukaj linku C++ notatki z lekcji i wejdź tam. Przepisz następujące fragmenty:

- typy zmiennych
- wejście/wyjście
- operatory
- ramy programu

Przeczytaj artykuł dotyczący zmiennych z linku.

3. Informacje o używaniu programu CodeBlocks, pierwszy program.

na poprzedniej lekcji uruchomiliśmy kompilator, dziś kilka uwag do jego użytkowania:

- programy tworzymy zawsze w formie pełnych projektów (wiele plików w folderze aplikacji), czyli po uruchomieniu programów wybieramy: „Create a new project” lub z menu „File/New/Project”

Otworzy się okno w którym ustawiamy parametry projektu:

- w pierwszym oknie zawsze „console application”

- dalej składnia języka c++

- w oknie wyboru folderów najpierw wybieramy miejsce na dysku do utworzenia folderu projektu (gdzie chcesz np. C:UsersuserDocuments, w drugim okienku od góry), a następnie (w pierwszym) wpisujemy nazwę projektu. Reszta okienek powinna się wypełnić sama. Rozszerzenie projektów CodeBlocks to .cbp (ale WAŻNE sam kod programu będzie w pliku cpp).

- w kolejnym oknie powinniśmy mieć wybór kompilatora i należy ustawić GNU GCC Compiler. Jeśli ktoś nie ma – zainstalował złą wersję CodeBlocks bez kompilatora. Poza tym nic nie zmieniamy.

Utworzy się projekt w programie. Po lewej jest zakładka „Management” a w niej Projects/Workspace i nazwa naszego projektu. Tutaj jest dostęp do kodu programu – rozwijamy Sources i main.cpp

Main.cpp jest najważniejszym plikiem dla nas – to w nim piszemy program. Po kliknięciu rozwinie się edytor do dokonywania zmian w programie z kodem początkowym:

(powiększenie: prawy, pokaż obraz)

Na razie wystarczy wiedzieć, że kasujemy linijkę z wyświetleniem Hello world i w jej miejsce piszemy cały nasz długi program.

Gdy już napiszemy program należy go skompilować i uruchomić. Robimy to KONIECZNIE za pomocą ikonki Build and run (mała zielona strzałka z małą żółtą zębatką w tle).

Uwaga!!! Proszę nigdy nie używać ikonki samej zielonej strzałki. Uruchomi się wtedy „stary” program tj. przed naszymi zmianami/poprawkami w pliku.


Na dole mamy okienko, w którym bedą pojawiały się błędy kompilacji, gdy coś źle napiszemy w programie.

Właściwe zadanie na dziś:

Napisz program, który pobierze z klawiatury jakąś liczbę i wyświetli ją na ekranie:

Podaj liczbę…..       <-(wpisujesz)

Twoja liczba to……    <-(tu się pojawia)

Potrzebna będzie jedna zmienna typu liczbowego całkowitego. Zapoznajcie się z działaniem kompilatora. Jako realizację poproszę o dwie rzeczy: kod programu proszę wkleić w mail, a dodatkowo jako załącznik screen z działania programu (to coś na czarnym tle).

4. Proste obliczenia matematyczne

Napiszcie program do obliczenia pola powierzchni dowolnego trójkąta. Program ma być przyjazny użytkownikowi, czyli ma wyświetlać komunikaty. Ma być też czytelny, więc używajcie tam gdzie trzeba przejścia do nowej linii.

Pamiętaj o wybraniu właściwego typu zmiennych. Jeśli wybierzesz źle - program będzie liczył błędnie.
Zawsze zastosowanie w programie zmiennych typu całkowitego powoduje automatycznie pominięcie w wyniku części ułamkowych (Uwaga! Pominięcie, a nie zaokrąglenie!). Czasem jest to dobre (zmienne całkowite zajmują mniej miejsca w pamięci), ale czasami sprawi kłopot. Szczególnie jeśli w obliczanym wzorze jest dzielenie - wynik automatycznie dla programisty staje się liczbą rzeczywistą.
Jako potwierdzenie realizacji lekcji poproszę kod programu oraz screen z wykonanym programem dla dowolnych danych wejściowych.

5. Instrukcja warunkowa if

Jest to instrukcja umożliwiająca podejmowanie decyzji w algorytmie na podstawie posiadanych danych (zmiennych).
Proszę obejrzeć film z linku:  

https://www.youtube.com/watch?v=hXLbgSh1Wo0


Następnie proszę napisać program wykonujący dwa działania: dodawanie lub odejmowanie w zależności od decyzji użytkownika.

Coś w tym stylu:

Jakie działanie chcesz wykonać:
1. dodawanie
2. odejmowanie

Podaj pierwszą liczbę:
Podaj drugą liczbę:

Wynik XXXXXXXXX wynosi:
------------------------
W ostatniej linijce zamiast Xów należy wyświetlić odpowiednie słowo (dodawania lub odejmowania) zależnie od wykonanej operacji. W programie będą użyte dwie instrukcje if.

Jak skończycie podeślijcie program i screena, tak jak ostatnio.

6. Program "kalkulator"

Dziś napiszemy odrobinę większy program. Proszę korzystając z wiedzy z poprzednich zajęć napisać program prostego kalkulatora. Program ma obliczać podstawowe działania matematyczne (wyświetlasz listę, użytkownik wybiera działanie i podaje liczby).
Wybór działania proszę zrealizować tak jak ostatnio przez if. Wyświetl użytkownikowi menu do wyboru. Minimalne działania do obsługi to +-*/. Jeśli chcesz możesz zaproponować też inne działania.

Program ma być przyjazny użytkownikowi, czyli ma wyświetlać instrukcje, ma być czytelny. Korzystaj z całego miejsca na ekranie konsoli.
UWAGA! Pamiętaj że ->
https://www.youtube.com/watch?v=8AWxONRjjJs
... jest niebezpieczne dla komputera.

Jako realizację proszę przysłać kod programu w treści maila i przykładowe uruchomienie z widocznym wynikiem.

7. Pętle

Obejrzyj film o pętlach i napisz program wyświetlający na ekranie dokładnie 10102 razy słowo WAKACJE (oddziel spacjami).
Link do filmu -> https://www.youtube.com/watch?v=y6GOYVTVvqo

Jako realizacje przyślij kod programu i screen z jego działania.

8. Pętle warunkowe

Dziś ćwiczenia z kolejnego rodzaju pętli - warunkowych. Pętle for służą do wykonania powtórzeń fragmentu algorytmu określoną ilość razy, znaną w momencie pisania programu (w programie zmienna to też znana liczba). Jeżeli w momencie pisania programu nie jesteśmy w stanie określić dokładnie ile razy pętla ma się wykonać, stosujemy pętle warunkowe. Najczęściej wykonujemy je gdy ilość wykonań jest zależna od tego co zrobi użytkownik (co wpisze z klawiatury) w trakcie działania programu.
Obejrzyj film (link) i wykonaj zawarte w nim ćwiczenia. Dodatkowe informacje masz w tym linku.

W ramach realizacji lekcji napisz program, który będzie sumował liczby wpisywane z klawiatury do momentu kiedy łączna suma tych liczb przekroczy wartość 1000. Wtedy program ma wyświetlić ile liczb zsumował i o ile przekroczono liczbę 1000 w sumie.

Zauważ, że w momencie pisania programu nie wiadomo ile razy poprosić usera o wpisanie liczb. Nie wiadomo też ile razy wykonać dodawanie. Równie dobrze wystarczy jedna liczba (user wpisał od razu 1200), a równie dobrze program nigdy się nie skończy (user będzie wpisywał ciągle liczby ujemne).  Właśnie w takim przypadku w programie należy zastosować pętle warunkową.

Jako realizację lekcji poproszę o kod programu w treści maila i screena z działania programu.

9. Podsumowanie dotychczasowych ćwiczeń - zadanie na myślenie

Mamy już poćwiczone pętle, if-y, działania matematyczne, zmienne. Czas na małe podsumowanie. Wykonajcie ćwiczenie z filmu: https://www.youtube.com/watch?v=LemPrxIKioA

Jest tam 6 działań wykonywanych w C++, których wykonanie wyświetli odpowiednie wartości. Zgodnie z poleceniem zastanówcie się jaki wynik tych działań uzyskacie i DLACZEGO :)
Autor omówił Wam pierwszy przypadek - wiadomo, istotna jest kolejność działań, ale też typ zmiennych czyli w rzeczywistości rodzaj dzielenia wykonywanego przez nas w przykładzie (tutaj dzielenie całkowite czyli pominięta wartość po przecinku).

Jako realizację lekcji wykonaj program z filmu i napisz dla pozostałych 5 punktów wyjaśnienia (podobnie jak ja powyżej), dlaczego uzyskano taki, a nie inny wynik i co specyficznego, trudnego, dziwnego było w tym konkretnym punkcie. Odpowiedzi wyślij na mail klasowy.

10. Tablice

Tablice to zmienne strukturalne, czyli w jednej takiej zmiennej można umieszczać niezależnie wiele różnych wartości i w prosty sposób się do tych pojedynczych wartości dostawać. Proszę obejrzeć film z linku:
https://www.youtube.com/watch?v=Rt1HnMdzINo
i wykonać zawarte w nim ćwiczenia (pierwszą część dotyczącą tablic).
Notatka do lekcji jest umieszczona w linku http://info.lo2.radomsko.pl/index.php?numer=11

Jako realizację lekcji napisz co się stanie gdy w programie przez przypadek spróbujesz wyświetlić komórki spoza tablicy np.:
masz tablicę tab⌈5⌉ (czyli komórki mają indeksy od 0 do 4) i przez przypadek zrobisz cout<<tab⌈5⌉;
Co się stanie gdy spróbujesz zapisać coś do takiej komórki?
Odpowiedzi wyślij na mail klasowy.

11. Tablice - ćwiczenia

W nawiązaniu do poprzedniej lekcji (pytałem co się stanie po przypadkowym przekroczeniu dozwolonego indeksu tablicy) informuję, że niektóre z Waszych odpowiedzi nie są prawidłowe. Komputer nie wybuchnie, nie zawiesi się, nie wyłączy się program, nie będzie komunikatów o błędzie, itd.
W przypadku pomyłkowego zaindeksowania poza deklarowaną tablicą program wyświetli nam wartość, która jest w komórkach pamięci obok przechowywanej tablicy. Pamięć to zestaw komórek przechowujących bity jeden obok drugiego. System operacyjny "zapamiętuje" które komórki przechowują określoną wartość z programu. Jeśli zaindeksujemy o jedną komórkę za dużo - system na to niestety pozwoli i wyświetli wartość z pamięci, która tam jest. Będzie to wartość albo innej zmiennej, albo nawet pochodząca z zupełnie innego programu.
Zapis poza tablicą jest jeszcze bardziej niebezpieczny. Można "uszkodzić-nadpisać" sobie wartość innej zmiennej w programie. Komputera nie zawiesimy, bo system to kontroluje, ale czasem będziecie się godzinami zastanawiać "dlaczego 2+2 jest w naszym programie równe 5" i okaże się, że ta 5 powstała przez wpisanie poza tablice wartości z zupełnie innej części programu.

Teraz dzisiejsze, bardzo proste ćwiczenia.
Tablice najczęściej obsługuje się pętlami for. Napisz program, który wypełni tablicę jednowymiarową 100-elementową wartościami liczbowymi od 1 w górę (pamiętaj, że pierwsza komórka ma indeks 0). Następnie wyświetl zawartość tej tablicy na ekranie (również za pomocą pętli for, komórka po komórce). W efekcie masz uzyskać na ekranie liczby od 1 do 100 (rozdziel spacjami) ale pochodzące bezpośrednio z tablicy.

Jako potwierdzenie poproszę na mail screena i kod programu.