UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI

Wielkość: px
Rozpocząć pokaz od strony:

Download "UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI"

Transkrypt

1 UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI INSTRUKCJA DO ĆWICZENIA I Algorytmizacja zadań, struktura programu Opracował: dr inż. Marcin Drechny Luty 2012 r.

2 2 1. Celem ćwiczenia jest: nauka umiejętności algorytmizacji zadań i tworzenia algorytmów, zapoznanie się z działaniem kompilatora i edytora C++, poznanie elementów (bloków) programu oraz jego konstrukcji w C Wprowadzenie 2.1. Algorytm i algorytmizacja problemu Aby poprawnie napisać program oraz zaoszczędzić czas podczas jego tworzenia należy sporządzić algorytm programu. Jest on metodą rozwiązania danego problemu i jego pewnym uogólnieniem. Sporządzony algorytm ułatwia pisanie i testowanie programu. Tworząc algorytm musimy brać pod uwagę specyficzne własności mikrokomputera (procesora) dla którego przygotowujemy program. Postać sieci działań zależy od programisty, a także od języka programowania i rozkazów, które są dostępne w tym języku. Konstruując algorytm musimy wiedzieć z czego on się składa. W jego skład wchodzą 4 główne bloki oraz strzałki kierunku działań programu. Blokami tymi są: - początek i koniec procedury: START STOP - wprowadzanie i wyprowadzanie danych: - operacje na danych: - porównywanie danych i podejmowanie decyzji: - kierunek wykonywania programu: Aby stworzyć algorytm należy: zdefiniować problem, zdecydować jakie dane będą potrzebne dla programu, zdecydować jakie informacje wyjściowe wytworzyć ma program oraz podzielić problem na mniejsze, logiczne etapy prowadzące do jego rozwiązania. Przykład algorytmu zadanego problemu przedstawiono poniżej.

3 3 Przykład: Oblicz sumę kolejnych liczb naturalnych, z których pierwszą jest liczba P, a ostatnią N. Liczby P i N mogą być wybrane losowo. Przyjmijmy P=2 i N=5. START Pętla programowa Wczytanie danych P=2, N=5 SUMA=0 LICZBA=P SUMA=SUMA+LICZBA LICZBA = LICZBA + 1 NIE LICZBA >= N TAK Wyprowadzanie danych SUMA STOP Na początku wczytujemy dane P, N oraz przypisujemy zmiennej SUMA wartość 0 a zmiennej LICZBA wartość P czyli 2. Następnie dodajemy do SUMY wartość zmiennej LICZBA. Sprawdzamy czy zmienna LICZBA jest mniejsza od wartości maksymalnej N. Jeśli tak to wyprowadzamy zmienną SUMA na ekran monitora. Jeśli nie to do zmiennej LICZBA dodajemy wartość 1 i powtarzamy czynność od początku. Powtarzanie wielokrotne tej samej czynności jest zwane pętlą programową. W ten sposób zadany problem został rozwiązany Program i języki programowania Dobrze zaprogramowany komputer może wykonywać obliczenia bardzo szybko. Zastosowanie komputera przynosi korzyści wtedy, gdy konieczne jest wielokrotne wykonywanie tych samych obliczeń lub przekształceń dla różnych danych. Zapis sposobu i kolejności wykonywania tych działań nazywamy programem, a jego oddzielne kroki rozkazami albo instrukcjami. Aby napisać poprawnie trzeba schematycznie określić kroki prowadzące do rozwiązania danego problemu. W tym celu stosujemy sieci działań (inna nazwa to: schemat blokowy programu lub algorytm).

4 4 Programy piszemy w językach programowania. Języki programowania możemy podzielić na kilka sposobów. Jednym z podziałów jest podział na języki zorientowane maszynowo, problemowo oraz obiektowo. Języki zorientowane maszynowo: - języki asemblerowe, Języki zorientowane problemowo: - BASIC, FORTRAN, COBOL, PASCAL, C/C++, Języki zorientowane obiektowo: - Visual C++, Visual BASIC, Builder C++, Delphi. Instrukcje języka zorientowanego maszynowo stanowią odzwierciedlenie rozkazów danego komputera. Niedogodność związana z programowaniem w języku zorientowanym maszynowo polega na tym, że programista musi znać dokładnie organizację mikrokomputera, dla którego przygotowuje program. Zaletą jest to, że programy zajmują mniej pamięci. Programista posługujący się językiem zorientowany problemowo nie musi dokładnie znać organizacji komputera, dla którego jest przeznaczony jest program, ale za to powinien znać i umiejętnie wykorzystywać możliwości tego języka. Przy programowaniu w takim języku postać programu określa rozwiązywany problem. Języki zorientowane obiektowo są to języki zorientowane problemowo z rozbudowaną biblioteką obiektów. Obiekty są osobnymi modułami (programami) z których można korzystać. Za pomocą zdarzeń na tych obiektach a także zmieniając własności tych obiektów tworzymy program Kompilator Pierwszym zadaniem kompilatora sprawdzenie pliku źródłowego na obecność instrukcji programu w określonym języki programowania. Jeśli są one zgodne ze wszystkimi regułami języka programowania np. C++, to kompilator dokona ich (instrukcji) konwersji na język maszynowy (zera i jedynki), którego polecenia komputer umie wykonać. Innymi słowy kompilator przekształca instrukcje programu (kod źródłowy) na język maszynowy (kod maszynowy). Kompilator umieszcza program w języku maszynowym w pliku wykonywalnym, o rozszerzeniu EXE. W języku C++ powstawanie kodu maszynowego (pliku wykonywalnego) jest realizowane w dwóch etapach:

5 5 w pierwszym etapie następuje kompilacja modułów źródłowych, czyli przetłumaczenie instrukcji języka C/C++ na język wewnętrzny komputera. Wynikiem tej operacji na plikach źródłowych (*.c, *.cpp) jest powstanie zbiorów (plików) o tej samej nazwie i rozszerzeniu *.obj, w drugim etapie, który nazywany jest łączeniem, połączone zostają w jedną całość wykonywalną moduły programu. W tym celu korzystamy z narzędzia zwanego konsolidatorem lub z ang. linkerem..c.inc.cpp Kompilator Asembler.ASM.OBJ.OBJ Konsolidator.EXE Od kodu źródłowego do wynikowego (programu) Struktura organizacyjna programu Przykład prostego programu: //Program obliczający pole i obwód koła #include <vcl.h> #include <iostream.h> #include <math.h> #include <conio.h>

6 6 void main(void) long Pole; long Obwod; long Promien = 3; cout << "Pole kola wynosi: " << M_PI * pow(promien,2) << endl; cout << "Obwod kola wynosi: " << 2 * M_PI * Promien; getch(); Program oblicza pole oraz obwód koła o promieniu równym 3. Jest to przykład pliku źródłowego (kodu źródłowego). W przykładzie wyróżniamy: //Program obliczający pole i obwód koła - komentarz Wiersz programu lub jego część może pełnić rolę komentarza. W takiej sytuacji wszystkie znaki znajdujące się za // traktujemy jako komentarz (w danej linii). Istnieje także możliwość potraktowania jako komentarz kilku wierszy. W tej sytuacji komentarz rozpoczynamy od znaków /* a kończyny znakiem */ np. /* To jest komentarz */ #include <iostream.h> - dołączenie do programu pliku nagłówkowego iostream.h #include <math.h> - dołączenie pliku nagłówkowego math.h Pliki z rozszerzeniem.h, włączane na początku (w nagłówku) programu, noszą nazwę plików nagłówkowych. Pliki nagłówkowe zawierają definicje potrzebne kompilatorowi do wykonania różnych operacji; poleceń użytych w pliku źródłowym np. math.h - dołącza definicje operacji matematycznych i umożliwia ich wykorzystanie. void main(void) - miejsce początkowe programu Program w języku C++ składa się z co najmniej jednej funkcji. Funkcja która występuje zawsze to funkcja main. Ma ona także inne znaczenie. Jest to jedyna instrukcja, która wykonywana jest na samym początku programu. Void oznacza że funkcja jest bezparametrowa, to znaczy nie przyjmuje żadnych wartości, jak i nie zwraca żadnej wartości. Przy pisaniu programów bardziej złożonych, dzielimy je na mniejsze części łatwiejsze do

7 7 opanowania zwane funkcjami. Wtedy instrukcja void main(void) będzie określać grupę głównych instrukcji., - znaki przestankowe W języku C++ istnieją następujące znaki przestankowe: [ ] ( ), ; :... * = # [ ] - nawiasy kwadratowe są używane do definiowania tablic jedno i wielowymiarowych, ( ) - nawiasy okrągłe służą m. In. do grupowania wyrażeń, wskazywania wywołań funkcji i listy parametrów, - nawiasy klamrowe wskazują na instrukcję złożoną, grupują działania. W przykładzie są początkiem i końcem instrukcji main., - przecinek służy m. In. do oddzielania argumentów wywołania funkcji, ; - średnik oznacza zakończenie instrukcji, long Pole; - deklaracja zmiennej Pole typu long, long Obwod; - deklaracja zmiennej Obwod typu long, long Promien = 3; - deklaracja zmiennej Promien typu long wraz z przypisaniem wartości. Deklarowanie zmiennych wiąże się z nadawaniem nazw (identyfikatorów) zmiennym. Identyfikatory w języku C/C++ mogą składać się z liter małych i wielkich, cyfr oraz znaku podkreślenia czyli: a b c d e f g h i j k l m n o p r s t u v w x y z A B C D E F G H I J K L N M O P R S T U V W X Y Z _. Prawidłowo zdefiniowany identyfikator musi spełniać dwa warunki: pierwszy znak musi być literą lub znakiem podkreślenia, standardowo brane są pod uwagę pierwsze 32 znaki identyfikatora, pozostałe nie są uwzględniane. Przykłady: zmienna1, Pole, Obwod, wynik itd. long, main, void - słowa kluczowe, Z identyfikatorami wiąże się jeszcze jedno zagadnienie: słowa kluczowe. Słowa kluczowe są specjalnymi identyfikatorami zarezerwowanymi dla ściśle określonych celów i mogą być wykorzystane tylko zgodnie z ich przeznaczeniem ustalonym przez definicję języka C++. Kilka przykładów słów kluczowych przedstawionych zostało poniżej:

8 8 char, class, float, if, int, short, signed, do, long, void, while cout << "Pole koła wynosi: " << M_PI * sqrt(promien) << endl; - instrukcje programu, cout << "Obwód koła wynosi: " << 2 * M_PI * Promien; - instrukcje programu. Przykładowe instrukcje programu wyświetlające na ekranie monitora obliczony obwód i pole koła. Powyższe instrukcje mogły zostać użyte jedynie po dołączeniu odpowiednich plików nagłówkowych. Biblioteki standardowe Ponieważ język C++ nie posiada instrukcji realizujących np. funkcje matematyczne, operacje na łańcuchach znaków, operacje na plikach, operacje wejścia - wyjścia itp. dlatego należy korzystać z funkcji bibliotek standardowych. Biblioteki standardowe stanowią integralną część wszystkich profesjonalnych pakietów języka C++. Wykorzystanie zdefiniowanych w nich stałych, typów, klas i funkcji znacznie skraca czas i upraszcza tworzenie oprogramowania. Typowe biblioteki standardowe to: funkcje matematyczne - math.h, complex.h, bcd.h, operacje na liczbach, łańcuchach i znakach - ctype.h, stdlib.h, string.h, operacje wejścia - wyjścia - stdio.h, iostream.h, fstream.h, grafika tekstowa - conio.h,- grafika punktowa - graphics.h.

9 9 3. Przebieg ćwiczenia zadania do wykonania 3.1. Napisać algorytm obliczania silni z podanej liczby Napisać algorytm obliczania wartości średniej z kilku liczb. a) Ilość wprowadzanych z klawiatury liczb jest ustalona z góry. b) Liczba danych wprowadzanych z klawiatury do programu jest wpisywana jako pierwsza dana do programu. c) Nie jest znana liczba wprowadzanych z klawiatury danych do programu. Wprowadzanie trwa tak długo aż wybierzemy opcję obliczania średniej z liczb już wprowadzonych Napisać algorytm rozwiązywania równania kwadratowego postaci: ax 2 +bx+c= Napisać algorytm wyznaczania wartości minimalnej z kilkunastu liczb Napisać algorytm wyznaczania wartości maksymalnej z kilkunastu liczb Napisać algorytm obliczania iloczynu podawanych przez użytkownika liczb, aż do momentu, kiedy ten iloczyn przekroczy wartość Opracować algorytm wyznaczania minimalnej wartości wskaźnika sumowania k, przy której funkcja a(k) > 1,3. Wynik k oraz sumę a(k) - wyświetlić na ekranie monitora. a( k) k = i= 0 exp( 3 i) > 1, Napisać algorytm sprawdzania czy podana liczba jest liczbą pierwszą Napisać algorytm wyszukiwania liczb pierwszych z podanego zakresu 0-X (X poda prowadzący). n n! Napisać algorytm wyznaczania dwumianu Newtona: =. k k!( n k)!

10 3.11. Zapoznanie się z opcjami edytora i kompilatora Borland C++ Builder

11 UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI INSTRUKCJA DO ĆWICZENIA II Zmienne, wprowadzanie danych do programu i wyprowadzanie na ekran Instrukcje warunkowe Opracował: dr inż. Marcin Drechny Luty 2012r.

12 2 1. Cel ćwiczenia Celem ćwiczenia jest nabycie umiejętności: sposobu deklarowania i stosowania zmiennych, wyprowadzania i wprowadzania danych do i z programu, korzystania z instrukcji warunkowych. 2. Wprowadzenie 2.1. Zmienne Tworząc programy złożone, zmuszeni jesteśmy przechowywać różne wartości (liczbowe lub tekstowe). Programy przechowują te dane w konkretnych miejscach pamięci komputera. Aby korzystać z tych danych należy używać zmiennych. Zmienna jest nazwą miejsca w pamięci, które może przechowywać konkretną wartość. Każda zmienna ma swój typ i swoją nazwę, np. Long Pole; Long Obwod; gdzie, typ zmiennych to long a ich nazwa to Pole oraz Obwod, Typ zmiennej określa typ wartości jakie może ona przechowywać (liczba całkowita, rzeczywista, ciąg znaków), Do przypisywania zmiennym wartości służy operator przypisania, czyli znak równości np. Promien = 3; Deklarując nazwy zmiennych (ich identyfikatory), należy pamiętać o regułach nadawania nazw (identyfikatorów) czyli m. in. nie używania słów kluczowych. A nazwy zmiennych należy nadawać tak aby program był bardziej zrozumiały i czytelny. Słowa kluczowe określające typy zmiennych całkowitych: char - typ znakowy, int - typ całkowity, long - typ długich liczb całkowitych, signed - liczby ze znakiem, short - typ krótkich liczb całkowitych, unsigned - liczby bez znaku. Słów kluczowych wymienionych wcześniej używa się zwykle w połączeniu np. signed char, unsigned short int, signed long int.

13 3 Obecność niektórych słów jest przyjmowana domyślnie np. int - oznacza liczbę całkowitą ze znakiem czyli signed short int, unsigned long jest równoważne unsigned long int. Dlatego często deklarujemy zmienne w skrócie określając typ zmiennych: int, long, char, unsigned long, unsigned int. Słowa kluczowe określające typy zmiennych rzeczywistych: float - liczby rzeczywiste pojedynczej precyzji, double - liczby rzeczywiste podwójnej precyzji, long double - liczby rzeczywiste wysokiej precyzji. Zakresy zmiennych: Typ zmiennej Rozmiar w bitach Min Max unsigned char signed char short int unsigned int int unsigned long long float 32 1,18* ,40*10 38 double 64 2,23* ,79* long double 80 3,37* ,18* Deklaracja zmiennych w języku C++ odbywa się w następujący sposób: na początku podajemy typ zmiennej deklarowanej, następnie podajemy nazwę zmiennej deklarowanej pamiętając o zasadach nadawania identyfikatorów, za koniec dodajemy znak średnika. Przykład: int liczba1; long int zmienna; Język C++ dopuszcza deklarowanie w jednym wierszu wielu zmiennych tego samego typu np. int liczba1, liczba2, liczba3, wartosc, dana; Istnieje możliwość nadania wartości początkowej zmiennej w czasie jej deklaracji np. double liczba = ;

14 4 Deklaracja zmiennej tekstowej odbywa się za pomocą deklarowania tablicy zmiennych znakowych char np. char imie[10] = "Jan"; char nazwisko[20] = "Kowalski"; Cyfry 10 i 20 w nawiasach kwadratowych oznaczają rozmiar tablicy (ilość znaków tablicy). Przypisanie zmiennej tekstowej wartości może odbywać się na kilka sposobów np. za pomocą wprowadzenia tekstu z klawiatury instrukcją cin czy przypisanie tekstu podczas inicjacji zmiennej (co zostało pokazane powyżej). W języku C++ rozróżniamy zmienne lokalne i globalne. Zmienne lokalne to takie zmienne, których widoczność (zasięg działania) ogranicza się do bloku programu ujętego w nawiasy klamrowe. Np. void main(void) int dana; W powyższym przykładzie zmienna dana jest widoczna dla funkcji main. Deklaracja zmiennych może odbywać się w dowolnym miejscu w bloku programu, lecz najlepiej (najbardziej przejrzyście) zapisywać deklaracje za znakiem. Zmienna dana i wynik będzie także widoczna w pętli for umieszczonej w funkcji main: #include <vcl.h> #include <conio.h> #include <iostream.h>

15 5 void main(void) int dana = 8; int wynik = 1; for (int i = 1; i <= dana; i++) wynik *= i; printf("iloczyn = %d\n",wynik); getch(); Zmienne globalne są to zmienne, które są widoczne w całym pliku kodu źródłowego od miejsca deklaracji. Przykład: #include <vcl.h> #include <conio.h> #include <iostream.h> int liczba = 100; void zamiana(void) liczba++; cout << "Wartosc zmiennej w funkcji zmiana jest rowna: " << liczba << endl;

16 6 void main(void) liczba++; cout << "Wartosc zmiennej w funkcji main jest rowna: " << liczba << endl; zamiana(); getch(); Wynikiem działania programu jest wyświetlanie wartości zmiennej liczba która wynosi: 101 a następnie 102. Czyli deklaracja i działanie zmiennych globalnych jest podobne do działania i deklaracji zmiennych lokalnych Język C++ dopuszcza nadawanie takich samych nazw dla zmiennej lokalnej i globalnej. W takim przypadku trzeba znać reguły postępowania aby poprawnie korzystać z tych zmiennych. W sytuacjach konfliktowych kompilator daje priorytet zmiennej lokalnej. Jest możliwość odwołania się z dowolnej funkcji do zmiennej globalnej w przypadku gdy istnieje w tym bloku programu zmienna lokalna o takiej samej nazwie. Odwołanie to odbywa się przy użyciu operatora widoczności ::. Przykład: ::dana = 1; Jedną z zasad programowania w C++ jest zasada unikania zmiennych globalnych. Nadając nazwy zmiennym należy: nadawać nazwy które kojarzą się z daną zmienną, nie nadawać nazw słów kluczowych, pisać komentarze obok zmiennych, opisując cel ich stosowania, pamiętać o regułach nadawania nazw (identyfikatorów) w języku C++.

17 Przypisywanie wartości zmiennym Zmiennym w C++ możemy przypisać wartości na dwa sposoby (używamy operatora przypisania =): podczas deklaracji zmiennej np. int zmienna = 20; float liczba = ; w dowolnym miejscu w programie (po uprzedniej deklaracji typów zmiennych) np. int zmienna; float liczba; zmienna = 20; liczba = ; Przypisując wartość zmiennym należy pamiętać o typie zmiennej Operacje wejścia wyjścia Używając standardowego strumienia wyjściowego cout (umieszczonego w bibliotece iostream.h) można wyświetlać na ekranie monitora liczby i znaki, cout << tekst ; cout << zmienna; Przykład: #include <vcl.h> #include <iostream.h> #include <conio.h> void main (void) int dana = 34; cout << "To jest komunikat ";

18 8 cout << 123 << " "; cout << "Wartosc zmiennej dana wynosi: " << dana; cout << endl << "Przejscie do nastepnej linii"; getch(); Wczytywanie danych z klawiatury i przypisanie ich do zmiennych można wykonać za pomocą instrukcji strumieniowej cin cin >> zmienna [ >> zmienna] Przykład: #include <vcl.h> #include <iostream.h> #include <conio.h> void main (void) int zmienna1, zmienna2, zmienna3; cout << "Podaj jedna liczbe calkowita i nacisnij enter "; cin >> zmienna1; cout << endl << "Podaj dwie liczby calkowite oddzielone spacja "; cin >> zmienna2 >> zmienna3; cout << endl << "Wpisane liczby to: " << zmienna1 << " i " << zmienna2 << " oraz " << zmienna3; getch(); zmienna3;

19 9 Korzystając z tej instrukcji wprowadzania danych należy pamiętać o możliwości wystąpienia błędów nadmiaru jak i błędy typów. Powstanie tego typu błędów wiąże się z wprowadzeniem przez użytkownika niepoprawnej liczby czy tekstu. Język C/C++ pozwala korzystać z kilku metod wejścia - wyjścia. Oprócz podanych wcześniej cin oraz cout istnieje biblioteka zawierająca wiele różnych operacji wejścia - wyjścia - stdio.h Przykładowe operacje: otwieranie i zamykanie strumieni: fclose, fopen, freopen, podstawowe funkcje wyjścia: fputc, fputs, fwrite, puts, putc, wyjście sformatowane: printf, sprintf, podstawowe funkcje wejścia: getc, gets, fgets, fread, getchar, wejście sformatowane: fscanf, scanf, vscanf, sterowanie wskaźnikiem pozycji strumienia: fgetpos, fseek, 2.4. Instrukcje warunkowe Instrukcja warunkowa if sprawdza czy badana zależność (wyrażenie warunkowe) zachodzi czy nie. Jeśli tak to wykonywana jest Instrukcja1, jeśli nie to nic nie jest wykonywane lub możliwe jest wykonanie Instrukcji2. if (wyrażenie warunkowe) instrukcja1 [else instrukcja2] Przykłady: instrukcja prosta I: if (a<= b) c = 2; instrukcja prosta II: if (a <= b) c = 2;

20 10 else c = 1; instrukcja złożona (grupowanie instrukcji): if (a <= b) c = 2; d = 3; else c = 1; d += c; instrukcja złożona (zagnieżdżanie instrukcji I): if (a <= b) if (i == 0) c = 2; d = 3; else c = 1; d += c; instrukcja złożona (zagnieżdżanie instrukcji II): if (a > b) c = 1; d = 2;

21 11 else if (a == b) c = 2; d = 3; else c = 3; d = 4; Instrukcja switch pozwala przenieść wykonywanie programu (poprzez wybór odpowiedniej opcji) do wskazanego miejsca. Postać ogólna instrukcji sterującej: switch (wyrażenie sterujące) etykieta-wyboru instrukcje;...; etykieta-wyboru instrukcje; Przykład: #include <vcl.h> #include <iostream.h> #include <conio.h> void main (void) cout << "Nacisnij klawisz z zakresu: 0-9 i a-z" << endl; char klawisz = getch(); switch (klawisz) case '1': cout << "Wybrales klawisz 1";

22 12 break; case 'a': cout << "Wybrales klawisz a"; break; default: cout << "Wybrales klawisz rozny od 1 i a"; getch(); Opcja default jest etykietą domyślną wyboru. Program przechodzi w to miejsce gdy nie znajdzie odpowiedniej etykiety po wyrażeniu case. Instrukcja break wymusza zakończenie wykonywania instrukcji wyboru Błędy podczas programowania Najczęściej popełniane błędy w trakcie programowania to: - Błędy syntaktyczne Każdy język ma swój zbiór reguł. Ma go też C/C++. Zdania w języku polskim kończą się zwykle kropką, wykrzyknikiem lub znakiem zapytania. Analogicznie na początku zdania jest duża litera. Język C++ w swojej składni używa nawiasów, nawiasów klamrowych, cudzysłowów oraz wielu innych symboli. Używając ich w nieprawidłowy sposób uniemożliwiamy kompilatorowi utworzenie pliku wykonywalnego. Kompilator w trakcie kompilacji zasygnalizuje w którym wierszu wystąpił błąd (błędy). Po ich usunięciu kompilator utworzy plik wykonywalny. - Błędy nadmiaru Błędy tego typu są niezwykle trudne do wykrycia i poprawienia. W momencie ich wystąpienia kompilator nie sygnalizuje ich. Błędy te powstają na skutek przypisania zmiennym wartości wykraczające poza pojemność przydzielonego miejsca w pamięci.

23 13 Przykład błędu nadmiaru: int liczba1 = ; int liczba2 = 1; int wynik = 0; wynik = liczba1 + liczba2; W wyniku wykonania tej operacji otrzymamy wynik = Zakres typu int: do Operując na zmiennych trzeba zawsze mieć na uwadze zakres wartości jaki może przechowywać dana zmienna czy dane zmienne. - Błędy typów Występujące często przy wprowadzaniu z klawiatury danych do programu. Jeżeli do programu wprowadzimy dane typu niezgodnego z oczekiwanym przez program, wystąpią błędy powodujące zakończenie pracy programu lub błędne wprowadzenie danych do zmiennej (zmiennych). Dlatego trzeba pamiętać, aby program został prawidłowo zabezpieczony przed takimi błędami Operatory Operatory arytmetyczne Operatory arytmetyczne dzielimy na operatory: inkrementacji, dekrementacji, addytywne oraz multiplikatywne. Operatory addytywne: +, - operand1 + operand2 - dodawanie operandów operand 1 - opreand2 - odejmowanie operandów Operatory multiplikatywne: *, /, % operand1 * operand2 operand1 / operand2 operand1 % operand2 - mnożenie operandów - dzielenie operandów - reszta z dzielenia Operator inkrementacji i dekrementacji: ++, -- ++operand - przedrostkowy operator inkrementacji operand++ - przyrostkowy operator inkrementacji

24 14 --operand operand-- - przedrostkowy operator dekrementacji - przyrostkowy operator dekrementacji Wyjaśnienie działania operatorów de - i inkrementacji: Operator inkrementacji ++ powoduje, że operand zwiększa swoją wartość o 1, natomiast operator dekrementacji -- powoduje zmniejszenie się wartości operandu o 1. Istotne jest umieszczenie operatora -- lub ++. Jeśli operator zostanie umieszczony przed operandem, najpierw zostanie powiększona (pomniejszona) wartość operandu a potem zostanie obliczone wyrażenie, w którym znajduje się taki operand. Inna sytuacja jest wtedy, gdy operator został umieszczony po operandzie. W tym przypadku najpierw zostaje obliczone wyrażenie w którym znajduje się operand a następnie operand zwiększa (zmniejsza) swoja wartość o 1. Działanie tych operatorów zostanie pokazane na przykładzie. Przykład: int liczba1 = 2, liczba2 = 7, wynik; wynik = (liczba2--) - (++liczba1); Obliczenie wyniku przebiega w następujący sposób: od wartości zmiennej liczba2 odjęta zostaje wartość zmiennej liczba1 zwiększona o 1. Czyli zmienna wynik = 4. Następnie wartość zmiennej liczba2 zostaje zmniejszona o 1. W ten sposób końcowe wartości zmiennych liczba1 = 3 a liczba2 = 6. Operatory bitowe Za pomocą operatorów bitowych można realizować funkcje logiczne takie jak: OR, AND, EXOR, NOT. Operatory funkcji binarnych: operand1 & operand2 - iloczyn (AND) operand1 ^ operand2 - suma modulo 2 (EXOR) opreand1 operand2 - alternatywa (OR) ~operand1 negacja Korzystając z tych operatorów należy zdawać sobie sprawę, że działają one na bitach oraz znać zasady działania tychże operatorów. Korzystnie jest wtedy zapisywać liczby w postaci binarnej (dwójkowej) lub szesnastkowej.

25 15 Przykład: int liczba1 = 0x01; int liczba2 = 0x02; int wynik; wynik = (liczba1 & liczba2); Wynikiem działania tego programu jest wartość 0. Operatory logiczne Operatory logiczne działają na wartościach logicznych: prawda oraz fałsz. Reprezentacja wartości logicznych: Prawda - liczba całkowita większa od zera, Fałsz - zero (całkowite), Operandy i wyrażenia logiczne: operand1 && operand2 - koniunkcja operand1 II operand2 - alternatywa!operand1 negacja Przykład: Dane jest równanie ax^2 + by = 0 if (a!= 0 && b == 0) cout << Rownanie ma jeden podwojny pierwiastek w zerze ; Operatory przesunięcia Operatory przesunięcia w prawo >> i w lewo <<. Operatory te działają na bitach. Wyrażenia z operatorami przesunięcia: operand1 << operand2 - przesuń operand1 w lewo o operand2 bitów operand1 >> operand2 - przesuń operand1 w prawo o operand2 bitów Operandy musza być typów całkowitych. Przy przesuwaniu liczb bez znaku w lewo, młodsze bity są uzupełniane zerami. Przy przesuwaniu liczb bez znaku w prawo, wszystko zależy od operandu1. Jeśli jest on liczbą bez

26 16 znaku to najstarsze bity są uzupełniane zerami, w przeciwnym razie są uzupełniane bitami znaku. Przykład: a = 6 c = a << 2; W tym przykładzie c będzie miało wartość 24, ponieważ a = , przesuwamy w lewo o 2 czyli c = a to jest liczba 24. Przy przesuwaniu liczby ze znakiem, należy uważać aby nie zmienić bitu znaku na przeciwny. Taka zmiana jest spowodowana kodowaniem liczby w kodzie uzupełnień do 2. Operatory przypisania Prosty operator przypisania: = Złożone operatory przypisania: +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, = Prosty operator: operand1 = operand2 - przypisanie wartości operandu2 operandowi1 Przykład int a, b, c, d; a = 12; b = c = d = 5; Złożone operatory: Konstrukcja tych operatorów składa się z operatorów wcześniej poznanych i operatora przypisania. Sposób korzystania z tych operatorów został przedstawiony na przykładzie poniżej. a += b + c zastępuje zapis a = a + b + c a *= b zastępuje zapis a = a * b

27 17 Operatory porównania Zachodzące relacje pomiędzy operandami określają operatory relacyjne. Operatory relacyjne i relacje w języku C++: operand1 > operand2 - operand1 większy niż operand2 operand1 < operand2 - operand1 mniejszy niż operand2 operand1 <= operand2 - operand1 mniejszy równy od operandu2 operand1 >= operand2 - operand1 większy równy operandu2 operand1 == operand2 - operand1 równy operandu2 operand1!= operand2 - operand1 różny od operandu2 Przykłady: if (a == b) if (a!= b) if ((a > b) && (c <= d))

28 18 3. Przebieg ćwiczenia zadania do wykonania Wymagana znajomość zagadnień z ćwiczenia Przepisać przykład z ćwiczenia Inf_2_1 (punkt 2.4) (Pole i obwód koła) i uruchomić go Zmodyfikować program z zadania 3.1. tak, aby wartość zmiennej Promien była wczytywana z klawiatury Zadeklarować dwie zmienne liczbowe, przypisać im wartości i wyświetlić wynik operacji dodawania, odejmowania, mnożenia i dzielenia (z opisem co to za operacja) Zmodyfikować zadanie z ćwiczenia 3.3 w taki sposób, aby liczby wczytywane były z klawiatury Sprawdzić błędy przepełnienia np. dla zmiennych typu int (dla kompilatora Borland C++ Builder 6) Napisz program, który wczytuje z klawiatury liczbę i podaje jej kwadrat, sześcian i pierwiastek (użyć funkcji pow). 3.7.Napisz program, który sprawdza czy wprowadzona z klawiatury liczba jest z określonego zakresu np. <-5, 10>. Wyświetlić odpowiedni komunikat Napisz program, który wyznacza największą i najmniejszą liczbę spośród trzech podanych przez użytkownika wartości a, b, c Napisz program, który wyświetli trzy podane przez użytkownika wartości: a, b, c w kolejności rosnącej (malejącej) Napisać program do obliczania równania kwadratowego. Dane wczytywane są z klawiatury.

29 Napisz program, który automatycznie wystawia ocenę w zależności od ilości wpisanych z klawiatury punktów. Przykładowa zależność oceny od ilości zdobytych punktów: Zakres punktów Ocena <0, 60) 2 <60, 73) 3 <73, 86) 4 <86, 100> 5 Punkty mogą przyjmować wartości za zbioru liczb rzeczywistych Napisz program, który wykonuje operacje bitowe AND i OR na dwóch wprowadzonych z klawiatury liczbach (z zakresu od 0 do 255) (deklaracja typu liczb unsigned int). Utworzyć menu wyboru operacji tz. naciśnięcie klawisza 1 powoduje obliczenie i wyświetlenie wyniku operacji AND, 2 OR. Do tworzenia menu należy użyć instrukcji switch Napisz program, który wykonuje bitową operację przesunięcia na liczbie wprowadzonej z klawiatury (z zakresu od 0 do 255) (deklaracja typu liczb unsigned int). Program pobiera dwie dane: liczbę i wartość przesunięcia (w lewo lub w prawo).

30 UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI INSTRUKCJA DO ĆWICZENIA III Instrukcje iteracyjne (pętle programowe) Opracował: dr inż. Marcin Drechny Luty 2012 r.

31 2 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z konstrukcją i użyciem instrukcji iteracyjnych (pętli programowych) for oraz while. 2. Wprowadzenie Instrukcje iteracyjne są jednymi z częściej stosowanych instrukcji w języku C/C++. Służą one do powtarzania większej liczby instrukcji określoną liczbę razy lub tak długo jak założony warunek jest spełniony (lub niespełniony). Rozróżniamy instrukcje iteracyjne for oraz while (do while) Pętla for Instrukcja for: for (wyrażenie inicjujące; wyrażenie warunkowe; wyrażenie zwiększające) instrukcja Przykład obliczania silni z 10: #include <vcl.h> #include <iostream.h> #include <conio.h> void main (void) int w = 1; for (int i = 1; i < 11; i++) w *= i; cout << "Silnia z 10 wynosi: " << w; getch();

32 3 Wykonanie pętli w powyższym przykładzie odbywa się w następujący sposób: obliczone zostaje wyrażenie inicjujące (w tym przykładzie i = 1), obliczone zostaje wyrażenie warunkowe (w przykładzie i < 11) i uruchamiana zostaje pętla, wykonywane są operacje wewnątrz pętli, w tym przypadku instrukcja w *= i;, ponownie obliczany jest warunek i ponownie wykonywane są działania wewnątrz pętli do momentu gdy warunek będzie fałszem, czyli, gdy i będzie > lub = 11 pętla i program kończy działanie. Należy uważać przy używaniu operatora == w wyrażeniu warunkowym, gdyż często prowadzi to do błędów np. nieskończonego działania pętli: w = 1; for (i = 0; i == ; i += 2 ) w += i; Istnieje możliwość umieszczania większej ilości wyrażeń inicjujących, wyrażeń warunkowych lub wyrażeń zwiększających. W takim przypadku przedzielamy wyrażenia znakiem przecinka np. int i = 2; int j; for (i, j = 0; i < 21; i++, j = pow(i, 2)) cout << i <<, << j << endl;

33 Pętla while Instrukcja while: while (wyrażenie warunkowe) instrukcja Pętla while wykonywana jest do momentu gdy wyrażenie warunkowe osiągnie fałsz (0). Inaczej mówiąc, pętla while będzie działać czyli będzie wykonywana instrukcja lub grupa instrukcji, dopóki wyrażenie warunkowe jest prawdą. Należy pamiętać, że na początku sprawdzany jest warunek a potem jeżeli jest on prawdziwy, wykonywana jest instrukcja lub grupa instrukcji. Przykład: #include <vcl.h> #include <iostream.h> #include <conio.h> void main (void) int ilosc; int i = 1; cout << "Ile razy ma sie wykonac petla?" << endl; cin >> ilosc; while (i <= ilosc) cout << "Petla wykonuje sie po raz" << i << endl; i++; getch();

34 Pętla do..while Instrukcja do.. while: do instrukcja; while (wyrażenie warunkowe); Pętla do.. while wykonywana jest do momentu gdy wyrażenie warunkowe osiągnie fałsz (0). Inaczej mówiąc, pętla while będzie działać czyli będzie wykonywana instrukcja lub grupa instrukcji, dopóki wyrażenie warunkowe jest prawdą. Należy pamiętać, że przed sprawdzeniem warunku wykonywana jest instrukcja (grupa instrukcji). Następnie jest sprawdzany warunek i jeżeli jest on prawdziwy, to pętla wznawia swoje działanie. To jest różnica pomiędzy pętlą while a do.. while. Przykład: #include <vcl.h> #include <iostream.h> #include <conio.h> void main (void) int i = 1; int ilosc = 0; do cout << "Petla wykonuje sie " << i << " raz " << endl; i++; while (i <= ilosc); getch();

35 Instrukcje sterujące przebiegiem programu Instrukcja break Instrukcja ta powoduje porzucenie aktualnego poziomu pętli lub instrukcji wyboru. Należy pamiętać, że opuszczamy tylko jeden poziom. Gdy instrukcje np. pętli są kilkukrotnie zagnieżdżone aby wyjść całkowicie z pętli, należy w odpowiednim miejscu użyć kilkukrotnie instrukcji break. Instrukcja continue Jej użycie powoduje: w przypadku pętli while i while.. do, przeniesienie sterowania z wnętrza pętli do wyrażenia warunkowego, które zostaje obliczone. W zależności od uzyskanego wyniku wykonywanie pętli jest kontynuowane lub zakończone, dla pętli for przeniesienie sterowania do wyrażenia zwiększającego liczniki pętli, w przypadku wielokrotnie zagnieżdżonych pętli instrukcja continue jest wiązana z najbliższą instrukcją iteracyjną. Instrukcja return Zakończenie wykonywania funkcji. Jeśli funkcja zwraca wartość to piszemy: return zwracana-wartość.

36 7 3. Przebieg ćwiczenia zadania do wykonania Wymagana znajomość zagadnień z ćwiczenia 1 i Zmodyfikować przykład z silnią w taki sposób, aby liczbę z której wyznaczona zostanie silnia wprowadzać z klawiatury. Sprawdzić, z jakiej największej wprowadzonej z klawiatury wartości można obliczyć silnię, dla założonego typu zmiennej, aby wynik był poprawny! (użyć pętli for lub while) 3.2. Napisać program, który wyznacza średnią z wartości wprowadzonych z klawiatury: a) ilość wprowadzanych liczb jest ustalona z góry, (for) b) liczba danych wprowadzanych do programu jest wpisywana jako pierwsza dana do programu po czym następuje wprowadzanie kolejnych liczb z których należy obliczyć średnią, (for) c) nie jest znana liczba wprowadzanych danych do programu, wprowadzanie trwa tak długo, aż wybierzemy opcję obliczania średniej z liczb już wprowadzonych. (while) 3.3. Napisać program, który sprawdza czy liczba wpisana z klawiatury jest mniejsza lub większa od założonej wartości umieszczonej w programie. Program informuje użytkownika odpowiednim komunikatem aby ten wpisał mniejszą lub większą liczbę. Program kończy działanie gdy wpiszemy wartość równą założonej wartości umieszczonej w programie. (while) 3.4. Zmodyfikować program z zadania 3.3, tak aby wartość w programie została wygenerowana losowo z zakresu np. od 20 do 50. (while, randomize, random) 3.5. Napisać program, który sprawdza czy wprowadzona z klawiatury liczba X jest liczbą pierwszą Napisać program, który wyznacza liczby pierwsze od 0 do X, gdzie X jest liczbą całkowitą zadaną przez prowadzącego Zmodyfikować program 3.6. w taki sposób aby liczby pierwsze były wyznaczane

37 8 z zakresu od X do Y, gdzie X, Y liczby całkowite podane przez prowadzącego oraz Y>X Napisać program, który generuje 100 liczb losowych o rozkładzie normalnym ze wzoru: ( 2* π ) z = 2*ln x x, gdzie z wygenerowana liczba o rozkładzie 1 *sin * 2 normalnym, x 1 oraz x 2 liczby losowe o rozkładzie równomiernym. Wygenerowane liczby x 1 i x 2 powinny mieć dokładność minimum do czwartego miejsca po przecinku. W trakcie generowania należy liczyć ile liczb jest znajduje się w zadanych poniżej przedziałach. Liczebności danych przedziałów należy wyświetlić na ekranie. Przykładowe przedziały: (-, -10>, (-10,-8>, (-8, -6>, (-6, -4>, (-4, -2>, (-2, 0>, (0, 2>, (2, 4>, (4, 6>, (6, 8>, (8, 10>, (10, > Napisać program wyświetlający tabliczkę mnożenia dla wartości od 1 do 10 (zagnieździć pętlę for w pętli for, do wyświetlania danych użyć funkcji cout ze specyfikatorem setw())

38 UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI INSTRUKCJA DO ĆWICZENIA IV Tablice jedno i wielowymiarowe Opracował: dr inż. Marcin Drechny Luty 2012 r.

39 2 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z deklaracją i wykorzystaniem tablic jedno i wielowymiarowych. 2. Wprowadzenie Tablica jest strukturą danych, dzięki której jedna zmienna może przechowywać wiele wartości. Aby zadeklarować tablicę trzeba określić jej typ i rozmiar. Deklarując tablice można przy operatorze przypisania nadać wartości początkowe jej elementom. Wszystkie elementy tablicy są takiego samego typu np. int, float, char. Wstawiając wartość do tablicy należy podać numer indeksu tablicy, pod którym wartość ma zostać umieszczona. Dostęp do danych umieszczonych w tablicy uzyskujemy poprzez podanie nazwy tablicy i numeru elementu. Pierwszy indeks tablicy ma zawsze wartość 0. Ostatni indeks ma wartość taką jaką zadeklarowano w nawiasach kwadratowych pomniejszoną o 1. Deklaracja tablicy: typ_tablicy nazwa_tablicy [rozmiar]; Przykłady deklaracji: int dane [1000]; - int: typ danych, dane: nazwa tablicy, [1000]: rozmiar tablicy, float pozycja [10][10]; - deklaracja tablicy dwuwymiarowej typu float o 100 elementach, int liczby[3] = 20, 30, 40; - inicjalizowanie tablicy przy deklaracji,

40 3 Przykład użycia tablicy: #include <vcl.h> #include <iostream.h> #include <conio.h> void main (void) int dane [4]; for (int i = 0; i < 4; i++) dane[ i ] = i * i; for (int i = 0; i < 4; i++) cout << "Element " << i << " tablicy wynosi: " << dane[ i ] << endl; getch(); Poniższy obraz przedstawia wynik działania powyższego programu. Tablice wielowymiarowe Tablice wielowymiarowe są deklarowane w podobny sposób jak tablice jednowymiarowe z tą różnicą, że ilość wymiarów oznaczają pary nawiasów kwadratowych np.: int tablica[100][100][100]; - deklaracja tablicy trójwymiarowej typu int o elementów. Przykład wypełnienia i pomnożenia tablicy dwuwymiarowej przez liczbę 2.

41 4 Przykład: #include <vcl.h> #include <iostream.h> #include <iomanip.h> #include <conio.h> void main(void) int tablica[5][5]; clrscr(); for (int i = 0; i < 5; i++) for (int j = 0; j < 5; j++) tablica[i][j] = i * 2; cout << setw(6) << tablica[i][j]; cout << endl; getch();

42 5 3. Przebieg ćwiczenia zadania do wykonania Wymagana znajomość zagadnień z ćwiczenia 1, 2, i Zadeklarować tablicę 50 elementową jednowymiarową i wypełnić ją losowo wartościami rzeczywistymi z zakresu od 20 do 70 (skorzystać z funkcji losowych randomize oraz random). Wartości umieszczone w tablicy wyświetlić na ekranie monitora Obliczyćśrednią z tablicy w zadaniu 3.1 i jej wartość wyświetlić na ekranie Obliczyć odchylenie standardowe z tablicy z zadania 3.1. Odchylenie standardowe: s = 1 1 n n ( x i x) i= 1 2, gdzie x - średnia z wartości w tablicy, x i - bieżąca wartość w tablicy. Wyświetlić wartość odchylenia standardowego na ekranie Zadeklarować trzy tablice jednowymiarowe o takim samym rozmiarze np. 10. Dwie pierwsze tablice wypełnić z klawiatury liczbami. Następnie: a) zsumować wartości wszystkich elementów w tablicy pierwszej i drugiej i wyświetlić sumę na ekranie monitora, b) dodać elementy tablic do siebie (pierwszy element 1 tablicy i pierwszy element 2 tablicy, itd.) a wynik takiego sumowania wpisać do tabeli trzeciej. Wyświetlić wszystkie trzy tablice na ekranie Zadeklarować tablicę tekstową jednowymiarową, minimum 20 elementów i wpisać do niej tekst element po elemencie (z klawiatury). Wyświetlić wpisany tekst na ekranie. (Pamiętać, że ostatnim elementem jest znak NULL) 3.6. Zadeklarować tablicę jednowymiarową 50 elementową. Wygenerować funkcję sinus lub kosinus a próbki (wartości) zapisać do tablicy. Zapamiętany przebieg funkcji ma mieć jeden pełny okres. Dane częstotliwość przebiegu, amplitudę i fazę poda prowadzący. Wyświetlić zawartość tablicy w dwóch kolumnach Zadeklarować tablicę dwuwymiarową 5x5. Wpisać do niej wartości i transponować ją. Wyświetlić początkową zawartość tablicy jak i wynik transponowania.

43 Zadeklaruj tablicę dwuwymiarową o 3 kolumnach i 15 wierszach. Pierwszą kolumnę wypełnij wartościami całkowitymi losowymi z zakresu od 20 do 80. Do drugiej kolumny tablicy przepisz tylko wartości parzyste z pierwszej kolumny. Do trzeciej kolumny tablicy przepisz tylko wartości nieparzyste. (randomize(), rand())

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

( wykł. dr Marek Piasecki )

( wykł. dr Marek Piasecki ) INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Podstawy programowania - 1

Podstawy programowania - 1 Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od

Bardziej szczegółowo

Podstawy programowania (1)

Podstawy programowania (1) Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl Podstawy programowania (1) - wykład 1. Wprowadzenie

Bardziej szczegółowo

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5. Operatory w Javie W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje wykonywane są na operandach (argumentach

Bardziej szczegółowo

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego

Bardziej szczegółowo

do instrukcja while (wyrażenie);

do instrukcja while (wyrażenie); Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie

Bardziej szczegółowo

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo

Programowanie - wykład 4

Programowanie - wykład 4 Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad

Bardziej szczegółowo

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

Struktura pliku projektu Console Application

Struktura pliku projektu Console Application Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku

Bardziej szczegółowo

Programowanie w języku C++

Programowanie w języku C++ INE 2022 JĘZYKI PROGRAMOWANIA 1 INE 0050 WSTĘP DO PROGRAMOWANIA Programowanie w języku C++ ( wykł. dr Marek Piasecki ) Literatura: do wykładu dowolny podręcznik do języka C++ na laboratoriach Borland C++

Bardziej szczegółowo

Język C zajęcia nr 11. Funkcje

Język C zajęcia nr 11. Funkcje Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

tablica: dane_liczbowe

tablica: dane_liczbowe TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica

Bardziej szczegółowo

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe: Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard

Bardziej szczegółowo

KURS C/C++ WYKŁAD 1. Pierwszy program

KURS C/C++ WYKŁAD 1. Pierwszy program KURS C/C++ WYKŁAD 1 Pierwszy program Tworzenie programu odbywa sie w dwóch etapach: 1. opracowanie kodu źródłowego 2. generowanie kodu wynikowego Pierwszy etap polega na zapisaniu algorytmu za pomocą instrukcji

Bardziej szczegółowo

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++ Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Proste programy w C++ zadania

Proste programy w C++ zadania Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

Bardziej szczegółowo

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2

Bardziej szczegółowo

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

Bardziej szczegółowo

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 TEMAT: Programowanie w języku C/C++: instrukcje iteracyjne for, while, do while Ogólna postać instrukcji for for (wyr1; wyr2; wyr3) Instrukcja for twory pętlę działającą

Bardziej szczegółowo

Ćwiczenie 1. Wprowadzenie do programu Octave

Ćwiczenie 1. Wprowadzenie do programu Octave Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do

Bardziej szczegółowo

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch. Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania

Bardziej szczegółowo

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

Warsztaty dla nauczycieli

Warsztaty dla nauczycieli WPROWADZENIE Wyprowadzanie danych: Wyprowadzanie na ekran komunikatów i wyników umożliwia instrukcja wyjścia funkcja print(). Argumentami funkcji (podanymi w nawiasach) mogą być teksty, wyrażenia arytmetyczne

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane

Bardziej szczegółowo

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 3 - operatory oraz instrukcje warunkowe i wyboru mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 19 października 2018 1 / 35 mgr inż. Krzysztof

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Operatory Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

Podstawy Programowania. Wykład 1

Podstawy Programowania. Wykład 1 Podstawy Programowania Wykład 1 Jak się uczyć programowania? Wykład i laboratorium Literatura Jerzy Grębosz Symfonia C++ Bjarne Stroustrup Język C++ Bruce Eckel Thinking in C++ Tony L. Hansen C++ zadania

Bardziej szczegółowo

Instrukcje sterujące

Instrukcje sterujące Podstawy programowania w C++ Bibliografia: Instrukcje sterujące Nauka programowania dla początkujących; A. Struzińska-Walczak / K. Walczak CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Opracował:

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, Materiał

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

3. Instrukcje warunkowe

3. Instrukcje warunkowe . Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include

Bardziej szczegółowo

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); }

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); } KURS C/C++ WYKŁAD 2 Instrukcje iteracyjne Instrukcja while Składnia tej instrukcji jest następująca: while (wyrażenie) instrukcja W pętli while wykonanie instrukcji powtarza się tak długo, jak długo wartość

Bardziej szczegółowo

Odczyt danych z klawiatury Operatory w Javie

Odczyt danych z klawiatury Operatory w Javie Odczyt danych z klawiatury Operatory w Javie Operatory W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje

Bardziej szczegółowo

Laboratorium nr 1. i 2.

Laboratorium nr 1. i 2. Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych

Bardziej szczegółowo

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja

Bardziej szczegółowo

Programowanie strukturalne i obiektowe. Funkcje

Programowanie strukturalne i obiektowe. Funkcje Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy

Bardziej szczegółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009 Informatyka 1 zajęcia nr 1 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Organizacja laboratorium przedmiotu 2. Algorytmy i sposoby ich opisu

Bardziej szczegółowo

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012 Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012 if (warunek) instrukcja1; if (warunek) instrukcja1; else instrukcja2; if (warunek) instrukcja1; else if (warunek2)

Bardziej szczegółowo

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

Ćwiczenie 1. Wprowadzenie do programu Octave

Ćwiczenie 1. Wprowadzenie do programu Octave Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do

Bardziej szczegółowo

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa Język C część 1 Literatura [1] Brian W. Kernighan, Dennis M. Ritchie: Język ANSI C, Wydawnictwa Naukowo Techniczne, Warszawa 2003 [2] Anna Strudzioska-Walczak, Krzysztof Walczak, Nakuka programowania dla

Bardziej szczegółowo

Programowanie - instrukcje sterujące

Programowanie - instrukcje sterujące Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication

Bardziej szczegółowo

for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }

for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; } Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego

Bardziej szczegółowo

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania

Bardziej szczegółowo

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem. Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -

Bardziej szczegółowo

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

Bardziej szczegółowo

7. Pętle for. Przykłady

7. Pętle for. Przykłady . Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i

Bardziej szczegółowo

I. Podstawy języka C powtórka

I. Podstawy języka C powtórka I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.

Bardziej szczegółowo

for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }

for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; } Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo

Bardziej szczegółowo

WHILE (wyrażenie) instrukcja;

WHILE (wyrażenie) instrukcja; INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while

Bardziej szczegółowo