Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz  

Autor artykułu: mgr Jerzy Wałaszek

©2021 mgr Jerzy Wałaszek
I LO w Tarnowie

obrazek

Materiały dla klasy II

Pętla warunkowa do while

SPIS TREŚCI

Instalacja Code::Blocks w systemie Windows

Kompilator online, z którego dotychczas korzystaliśmy, jest bardzo prymitywnym rozwiązaniem i nadaje się tylko do prostych programów pisanych na początku nauki programowania. W pracowni mamy zainstalowany system Code::Blocks, z którego będziemy korzystać do końca roku szkolnego. Dlatego powtarzam tutaj procedurę instalacji Code::Blocks w systemie Windows 10. Każdy uczeń ma zainstalować ten system na swoim komputerze. Jeśli nie masz dostępu do konta administratora, poproś rodzica o zainstalowanie - Code::Blocks jest niezbędny do dalszej nauki programowania w języku C++.

Pobranie instalatora

Kliknij w poniższy link (zakładam, że pracujesz w przeglądarce Firefox):

https://www.fosshub.com/Code-Blocks.html?dwl=codeblocks-20.03mingw-setup.exe

Powinno pojawić się okienko z informacją o ładowaniu pliku instalatora:

Kliknij w przycisk Zapisz plik, aby rozpocząć proces ładowania. Gdy przeglądarka Firefox ukończy ładowanie, powiadomi cię o tym u góry ekranu po prawej stronie niebieską strzałką:

Kliknij lewym przyciskiem myszki w niebieską strzałkę, aby otworzyć listę załadowanych plików:

Pobrany plik jest plikiem instalacyjnym środowiska Code::Blocks w wersji 20.03 wraz z kompilatorem MingW języka C++ dla 64-bitowych systemów Windows (czyli dla większości współczesnych instalacji Windows). Nasz opis dotyczy systemu Windows 10, jednakże instalacja wygląda identycznie również w starszych systemach Windows.

Instalacja

Gdy otwarłeś listę pobranych plików, kliknij lewym przyciskiem myszki w plik instalatora. Musisz posiadać uprawnienia administratora na swoim komputerze, aby zainstalować Code::Blocks (jeśli nie wiesz o co chodzi, zawołaj do pomocy tatę lub mamę).

Gdy instalator się uruchomi, na ekranie zobaczysz poniższe okienko (lub podobne):

Kliknij w przycisk Tak, w przeciwnym razie przerwiesz instalację.

Gdy instalacja się rozpocznie, na ekranie zaczną się pojawiać kolejne okienka dialogowe instalacji. Poniżej masz przetłumaczoną ich treść. Jest to typowy proces instalacyjny i, jeśli nie masz jakiś specjalnych powodów, to po prostu zatwierdzaj je klikając na przycisk Next.

Witaj w Programie Instalacyjnym Code::Blocks

 

Program instalacyjny poprowadzi cię poprzez instalację Code::Blocks.

Zalecane jest zamknięcie wszystkich innych aplikacji
przed uruchomieniem instalacji. Pozwoli to uaktualnić istotne
pliki systemowe bez potrzeby ponownego uruchomienia komputera.

Aby kontynuować, kliknij na Dalej.


  Dalej >    Anuluj  

Zgoda licencyjna

Proszę przeglądnąć warunki licencji przed instalacją Code::Blocks.


Naciśnij klawisz PgDn, aby zobaczyć resztę zgody licencyjnej.

[Treść licencji GNU]

Jeśli zgadzasz się na warunki zgody licencyjnej, kliknij przycisk Zgadzam się. Musisz zaakceptować
zgodę licencyjną, aby zainstalować Code::Blocks.


  < Wstecz     Zgadzam się    Anuluj  

Wybierz Składniki

Wybierz, które cechy Code::Blocks chcesz zainstalować.


Zaznacz składniki, które chcesz zainstalować, a skazuj zaznaczenie dla tych, których nie chcesz
instalować. Kliknij Dalej, aby kontynuować.

Wybierz rodzaj instalacji: Pełna instalacja: wszystkie wtyczki, wszystkie narzędzia, po prostu wszystko
Lub wybierz opcjonalne
składniki, które chcesz
zainstalować
 

[ Drzewo składników]

Wymagane miejsce: 576,0MB Opis
Umieść kursor myszki ponad składnikiem, aby zobaczyć jego opis

  < Wstecz     Dalej >    Anuluj  

Wybierz Miejsce Instalacji

Wybierz katalog, w którym zostanie zainstalowane Code::Blocks.


Program instalacyjny zainstaluje Code::Blocks w następującym katalogu. Aby zainstalować w innym, kliknij
przycisk Przeglądaj... i wybierz inny katalog. Kliknij przycisk Instaluj, aby rozpocząć instalację.

Katalog Docelowy

[C:\Program Files\Code::Blocks ]  [ Przeglądaj... ]

Wymagane miejsce: 531,5MB
Dostępne miejsce: 1602,0GB


  < Wstecz     Instaluj >    Anuluj  

Instalowanie

Proszę poczekać w trakcie instalacji Code::Blocks.


[pasek postępu instalacji]


[instalowane składniki]

 


  < Wstecz     Dalej >    Anuluj  

Tutaj może pojawić się okno dialogowe:

W okienku jest zapytanie, czy chcesz uruchomić teraz Code::Blocks.

Wybierz Nie, aby dokończyć pracę instalatora.

Instalacja Zakończona

Instalacja zakończyła się sukcesem.


[  ]
[  ]


  < Wstecz     Dalej >    Anuluj  

Kończenie Instalacji Code::Blocks

Code::Blocks został zainstalowany na twoim komputerze.

Kliknij przycisk Zakończ, aby zakończyć program instalacyjny.


 


  < Wstecz     Zakończ >    Anuluj  

Test instalacji

Uruchom Code::Blocks.

W oknie głównym wybierz opcję Create a new project (utworzenie nowego projektu).

Pojawi się okno wyboru typu projektu aplikacji:

Wybierz Console application (aplikacja konsoli) i kliknij w przycisk Go.

Co to jest aplikacja konsoli? Kiedyś, dawno temu, gdy jeszcze nie powstał system Windows, komputery programowane były w systemie DOS w trybie znakowym. Ekran wyświetlał ustalony zestaw znaków. Tryb ten pojawia się czasem na niektórych starszych komputerach IBM-PC przy starcie systemu, zanim Windows/Linux przejmą kontrolę. Ekran w trybie tekstowym wyglądał tak:

obrazek

Na dzisiejszych komputerach tryb ten stał się już przestrzały, jednak wciąż możemy go symulować w Windows oraz w Linuxie. Zaletą konsoli jest prostota używania. Nie musisz walczyć z procedurami graficznymi Windows, aby wyświetlić wynik działania swojego programu: po prostu przesyłasz do konsoli tekst, a ten zostanie wyświetlony.

Gdy wybierzesz aplikację konsoli, to twój program otrzyma możliwość wysyłania tekstu do konsoli oraz odczytywania informacji, którą użytkownik wprowadził z klawiatury.

Po kliknięciu w przycisk Go uruchomiony zostaje proces tworzenia projektu takiej aplikacji. Rozpoczyna się on oknem powitalnym:

Kliknij w Next. Kolejne okno wybiera rodzaj języka programowania, w którym będziesz tworzył swój program. Powinien być ustawiony język C++:

Kliknij w Next. Następne okienko określa katalog, w którym będzie tworzony projekt.

Kliknij w przycisk obok pola Folder to create project in (katalog do utworzenia w nim projektu) i wybierz swój katalog na pliki projektów. Może to być ten sam katalog, w którym zapisywałeś swoje pliki ćwiczeniowe na lekcjach on-line. Następnie w polu Project title (tytuł projektu) wpisz nazwę swojego projektu. Pozostałych pól nie zmieniaj, kliknij Next.

W ostatnim okienku nic nie zmieniaj, kliknij Finish. Projekt zostanie utworzony i okno startowe Code::Blocks zmieni się w okno edytora:

W panelu Management (zarządzanie) otwórz gałąź Sources (źródła). Znajdziesz tu plik o nazwie main.cpp. Jest to główny plik źródłowy programu w języku C++. Kliknij go dwukrotnie muszką, wtedy w oknie edytora pojawi się jego zawartość:

Aby program uruchomić, musimy go najpierw skompilować, czyli zamienić tekst programu w instrukcje dla procesora twojego komputera. Efektem kompilacji jest plik wykonywalny z rozszerzeniem exe (po angielsku executable). Program kompilujemy klikając w ikonę kółka zębatego: obrazek.  Gdy to zrobisz, w dolnym panelu Build log pojawią się napisy:

-------------- Build: Debug in test (compiler: GNU GCC Compiler)---------------

g++.exe -Wall -fexceptions -g  -c C:\Users\geo19\OneDrive\Obrazy\Dokumenty\test\main.cpp -o obj\Debug\main.o
g++.exe  -o bin\Debug\test.exe obj\Debug\main.o   
Output file is bin\Debug\test.exe with size 74.76 KB
Process terminated with status 0 (0 minute(s), 1 second(s))
0 error(s), 0 warning(s) (0 minute(s), 1 second(s))

To po prostu polecenia uruchamiające odpowiednie aplikacje kompilatora. Dla nas istotny jest ostatni wiersz. Jeśli liczba błędów (errors) jest równa 0, to wszystko w porządku, inaczej możesz zacząć się martwić. Nasz program wypisuje w oknie konsoli napis "Hello world!". Aby sprawdzić, czy tak faktycznie będzie, musisz teraz uruchomić skompilowany program. Kliknij w ikonę z zieloną strzałką: obrazek. Powinno pojawić się okno konsoli znakowej:

Po zakończeniu działania programu pojawi się raport oraz napis Press any key to continue (naciśnij dowolny klawisz, aby kontynuować). Zamknij okno konsoli i okno Code::Blocks.

Na początek:  podrozdziału   strony 

Pętla do while

W języku C++ istnieją trzy rodzaje pętli. Poznaliśmy jedną z nich, pętlę while. Drugą jest jej siostra do while:

do instrukcja; while(warunek);

do         - słowo kluczowe języka C++ oznaczające początek pętli warunkowej
instrukcja - powtarzana w pętli instrukcja. Zwróć uwagę, że musi ona kończyć się średnikiem.
while      - słowo kluczowe oznaczające sekcję sprawdzania warunku.
warunek  
 - dowolne wyrażenie arytmetyczne. Warunek jest prawdziwy (true), jeśli ma wartość różną od zera. Warunek jest fałszywy (false), jeśli ma wartość zero.

Pętla typu do...while różni się od pętli while. W każdym obiegu najpierw wykonywana jest instrukcja, a dopiero po jej wykonaniu komputer oblicza i sprawdza warunek. Jeśli ma on wartość różną od zera, to wykonywany jest następny obieg pętli. Jeśli warunek  ma wartość zero, pętla nie wykonuje dalszych obiegów i jest przerywana.

// Kolejne liczby naturalne od 1 do 100
//-------------------------------------

#include <iostream>

using namespace std;

int main()
{
    int i;

    i = 1;

    do cout << i++ << " "; while(i <= 10);

    cout << "\nKONIEC\n";

    return 0;
}

Ponieważ warunek kontynuacji jest sprawdzany w pętli do...while na końcu obiegu po wykonaniu powtarzanej instrukcji, to pętla wykonuje zawsze przynajmniej jeden obieg bez względu na wartość warunku - czyli inaczej niż pętla while, która przy fałszywym warunku nie wykonywała się ani jeden raz.

// Fałszywy warunek
//------------------------

#include <iostream>

using namespace std;

int main()
{
    int i;

    i = 101;

    do cout << i++ << " "; while(i <= 10);

    cout << "\nKONIEC\n";

    return 0;
}

Jeśli w pętli chcemy powtarzać więcej niż jedną instrukcję, to stosujemy instrukcję blokową (po klamerce zamykającej nie musimy wstawiać średnika):

while(warunek)
{

    ciąg instrukcji
}

          do
{
    ciąg instrukcji
} while(warunek);

Pętlę do while stosujemy najczęściej wtedy, gdy warunek sprawdzany w pętli nie może być obliczony bez wykonania przynajmniej jednego obiegu. Na przykład wyobraźmy sobie, że piszemy program sprawdzający hasło dostępu, którym będzie liczba 123. Jeśli użytkownik wprowadzi właściwy kod, to program go przepuszcza dalej. Jeśli kod jest zły, to program powinien wypisać odpowiednią informację i ponownie wczytać kod.

// Odczyt hasła
//-------------

#include <iostream>

using namespace std;

int main()
{
    int p;

    setlocale(LC_ALL,"");    // Polskie litery

    do
    {
       cout << "Wpisz hasło:  ";

       cin >> p;

       cout << endl << endl;

       if(!cin.good()) break;

    } while(p != 123);

    if(cin.good())
    {
        cout << "Hasło zaakceptowane" << endl;
        return 0;
    }
    else
    {
        cout << "Próba włamania!!!" << endl;
        return -1;
    }
    return 0;
}

W programie występują nowe elementy:

cin.good() : jest to tzw. funkcja składowa strumienia cin. Sprawdza ona stan strumienia. Jeśli jest on dobry, to funkcja zwraca true, w przeciwnym razie zwraca false.
! : jest to operator logicznego przeczenia. Wartość logiczna wyrażenia objętego tym operatorem zmienia się na przeciwną. Na przykład:
!(5 == 2)
daje wartość logiczną true, ponieważ wyrażenie (5 == 2) jest fałszywe i ma wartość false, a operator ! zmienia tę wartość na przeciwną, czyli true.
!cin.good() : daje wartość true, jeśli stan strumienia jest zły
break; : instrukcja przerywa wykonywanie pętli.
Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2021 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.