Podstawowe pojęcia w programowaniu, pierwszy kod C++

MZ | 09-06-2017 | 15:21:08

Plan artykułu: program komputerowy, algorytm, poprawność, cechy poprawnego algorytmu: jednoznaczność, szczegółowość, uniwersalność, rodzaje algorytmów: liniowe, rozgałęzione, iteracyjne, rekurencyjne, kompilator, interpreter, debugger, CodeBlocks, struktura programu Hello World w C++.

Podstawowe pojęcia w programowaniu

Oprócz video-kursu C++ który udostępniłem tutaj, zapraszam także do artykułów tekstowych, które pomogą usystematyzować wiedzę oraz poznać potrzebne definicje, zestawienia, podsumowania - na spokojnie, tamat po temacie. Zacznijmy do podstaw.

Program komputerowy
zespół kodowanych instrukcji, określający dokładnie przebieg operacji arytmetycznych i logicznych do wykonania przez komputer.
Algorytm
sposób w postaci ściśle określonych reguł i metod na rozwiązanie określonego zadania w skończonej liczbie kroków.

Cechy charakterystyczne poprawnego algorytmu

  • poprawność - dla każdego przypisanego zestawu danych, po wykonaniu skończonej liczby czynności, algorytm prowadzi do poprawnych wyników.
  • jednoznaczność - w każdym przypadku zastosowania algorytmu dla tych samych danych otrzymamy ten sam wynik.
  • szczegółowość - wykonawca algorytmu musi rozumieć opisane czynności i potrafić je wykonywać.
  • uniwersalność - algorytm ma służyć rozwiązywaniu pewnej grupy zadań, a nie tylko jednego zadania. Przykładowo algorytm na rozwiązywanie równań w postaci ax+b=0 ma je rozwiązać dla dowolnych współczynników a i b, a nie tylko dla jednego konkretnego zadania, np. 2x+6=0

Podział algorytmów pod względem konstrukcyjnym

  • liniowe – poszczególne kroki wykonywane są jeden po drugim (np. pole prostokąta),
  • rozgałęzione - w wyniku sprawdzenia warunku mogą być wykonywane różne kroki algorytmu (obliczania pierwiastków równania kwadratowego),
  • iteracyjne - pewien zespół kroków wykonywany jest wielokrotnie w pętli (powtarza się), aż do momentu spełnienia określonego warunku,
  • rekurencyjne - proces wykonywania jakiegoś zadania wywołuje same siebie,
  • mieszane – łączą konstrukcje różnych algorytmów.
Kompilator
(ang. compiler) program służący do tłumaczenia kodu napisanego w jednym języku (np. C++, Pascal) na równoważny kod w języku maszynowym (zero-jedynkowym).
Interpreter
program komputerowy, który analizuje kod źródłowy programu, a przeanalizowane fragmenty wykonuje. Dzieje się tak inaczej niż w procesie kompilacji, podczas którego nie wykonuje się wejściowego programu (kodu źródłowego), lecz tłumaczy go do wykonywalnego kodu maszynowego.

Stąd wiemy, że kompilacja to tłumaczenie kodu źródłowego na kod wynikowy, a interpretacja to tłumaczenie połączone z natychmiastowym wykonaniem programu. Zarówno kompilator jak interpretator można zatem określić mianem translatora.

Konsolidator
(ang. linker) lub program, który łączy zadane pliki obiektowe i biblioteki tworząc w ten sposób plik wykonywalny.
Debugger
program komputerowy służący do dynamicznej analizy innych programów, w celu odnalezienia i identyfikacji zawartych w nich błędów, zwanych z angielskiego bugami (robakami). Proces nadzorowania wykonania programu za pomocą debuggera określa się mianem debugowania.
IDE
(ang. Integrated Development Environment - zintegrowane środowisko programistyczne) to aplikacja lub zespół aplikacji (środowisko) służących do tworzenia, modyfikowania, testowania i konserwacji oprogramowania.
RAD
(ang. Rapid Application Development - szybkie tworzenie aplikacji) to ideologia i technologia polegająca na udostępnieniu programiście dużych możliwości prototypowania oraz dużego zestawu gotowych komponentów.

Tworzenie nowego projektu w CodeBlocks

Aby utworzyć nowy projekt zawierający program konsolowy, po wybraniu z menu File - New - Project, wskazujemy w kreatorze:

Console application

Następnie należy wybrać język C++, nadać projektowi nazwę i przydzielić mu folder roboczy. Użyjemy domyślnego kompilatora GNU GCC. Kod naszego programu znajdować się będzie w pliku main.cpp:

Drzewo projektu

Struktura programu Hello World w C++

Domyślny program, tzw. "Hello World!" (ang. "Witaj Świecie!", uruchamiany w CodeBlocks klawiszem F9) ma następującą strukturę:

#include <iostream>

using namespace std;

int main()
{
cout << "Hello world!" << endl;

return 0;
}

Przeanalizujmy, co dokładnie się tutaj wydarzyło:

  • #include <iostream> oznacza dodanie do programu biblioteki iostream, która jest biblioteką strumienia wejścia/wyjścia (input/output stream)
  • using namespace std; oznacza używanie w programie przestrzeni nazw biblioteki standardowej, co w praktyce pozwala nam korzystać z uproszczonych zapisów – zamiast pisać: std::cout << "Hello world!" << endl; możemy używać zapisu: cout << "Hello world!" << endl;
  • int main() czyli główna funkcja programu – rozpoczyna się klamrą otwierającą: {, a kończy klamrą zamykającą: }. Funkcja main() ma zwrócić wartość typu int, czyli liczbę całkowitą – dokonuje tego zapis: return 0;
  • cout << "Hello world!" << endl; linia ta odpowiada za wyświetlenie na ekranie tekstu zawartego w cudzysłowach (oznaczonego niebieskim kolorem). Wyrażenie endl; tłumaczymy jako end line, czyli wstawienie znaku końca linii i jednoczesne umieszczenie kursora w nowej. Operator << pełni rolę separatora oddzielającego poszczególne instrukcje.

Zobacz także

Daj się zaskoczyć! Poniżej wylosowałem dla Ciebie pięć wpisów z całego archiwum bloga:

Komentarze

Disqus
Facebook
Pasja informatyki