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

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

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

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

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

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 (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

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

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

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

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

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

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

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

#include 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

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

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

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

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

#include 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

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

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

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

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

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

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

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

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

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

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

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

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

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

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja Pętle W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. Instrukcja for ma następującą postać: for (w1;w2;w3) instrukcja w1, w2, w3 są wyrażeniami Schemat blokowy

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

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 7 kwietnia 2014 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje

Bardziej szczegółowo

Język C - podstawowe informacje

Język C - podstawowe informacje Język C - podstawowe informacje Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-12-05 Outline Program w języku C Funkcje Składnia Instrukcje sterujace Na koniec... Po kolei napisać program (zwykły

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

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

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

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

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,

Bardziej szczegółowo

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki INFORMATYKA Z MERMIDONEM Programowanie Moduł 5 / Notatki Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Realizator projektu: Opracowano w ramach projektu

Bardziej szczegółowo

Zmienne i struktury dynamiczne

Zmienne i struktury dynamiczne Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest

Bardziej szczegółowo

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76 . p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować

Bardziej szczegółowo

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym

Bardziej szczegółowo

Języki i paradygmaty programowania

Języki i paradygmaty programowania Języki i paradygmaty programowania Instytut Teleinformatyki ITI PK Kraków marzec 2012 Spis rzeczy 1 Operatory w C/C++ Operatory Operatory w C/C++ operator - rodzaj funkcji wbudowanej w język; różnica notacja

Bardziej szczegółowo

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

1 Wielokrotne powtarzanie tych samych operacji

1 Wielokrotne powtarzanie tych samych operacji 1 Wielokrotne powtarzanie tych samych operacji Zadanie 1. roszę porównać następujące programy(efekt działania każdego z nich jest takisam). rzykład 1 przedstawia najbardziej typowy zapis, powodujący wykonanie

Bardziej szczegółowo

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Krzysztof Grudzień kgrudzi@kis.p.lodz.pl! Zbigniew Chaniecki zch@kis.p.lodz.pl 1 program zajęć - wykład Podstawowe pojęcia

Bardziej szczegółowo

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego

Bardziej szczegółowo

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Temat: Technologia informacyjna a informatyka 1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Technologia informacyjna (ang.) Information Technology, IT jedna

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci: 1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci: * Jan Kowalski * * ul. Zana 31 * 3. Zadeklaruj zmienne przechowujące

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

Bardziej szczegółowo

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

Bardziej szczegółowo

Konstrukcje warunkowe Pętle

Konstrukcje warunkowe Pętle * Konstrukcje warunkowe Pętle *Instrukcja if sposób na sprawdzanie warunków *Konstrukcja: if(warunek) else { instrukcje gdy warunek spełniony} {instrukcje gdy warunek NIE spełniony} * 1. Wylicz całkowity

Bardziej szczegółowo

Rekurencja (rekursja)

Rekurencja (rekursja) Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

1. Wprowadzanie danych z klawiatury funkcja scanf

1. Wprowadzanie danych z klawiatury funkcja scanf 1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),

Bardziej szczegółowo

Pytania sprawdzające wiedzę z programowania C++

Pytania sprawdzające wiedzę z programowania C++ Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Język C zajęcia nr 5

Język C zajęcia nr 5 Język C zajęcia nr 5 Instrukcja wyboru switch switch ( wyr ) inst Głównym przeznaczeniem instrukcji switch jest rozgałęzianie wykonania programu na wiele różnych ścieżek w zależności od wartości pewnego

Bardziej szczegółowo

Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2

Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2 Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2 1 program Kontynuujemy program który wczytuje dystans i ilości paliwa zużytego na trasie, ale z kontrolą danych. A więc jeśli coś

Bardziej szczegółowo

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst. Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:

Bardziej szczegółowo

Wstęp do Programowania Lista 1

Wstęp do Programowania Lista 1 Wstęp do Programowania Lista 1 1 Wprowadzenie do środowiska MATLAB Zad. 1 Zapoznaj się z podstawowymi oknami dostępnymi w środowisku MATLAB: Command Window, Current Folder, Workspace i Command History.

Bardziej szczegółowo

Wstęp do Programowania 2

Wstęp do Programowania 2 Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 1 Literatura Literatura podstawowa: Prata Stephen. Szkoła programowania. Język C++. Wydanie V. Helion,

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Proces tworzenia programu:

Proces tworzenia programu: Temat 1 Pojcia: algorytm, program, kompilacja i wykonanie programu. Proste typy danych i deklaracja zmiennych typu prostego. Instrukcja przypisania. Operacje wejcia/wyjcia. Przykłady prostych programów

Bardziej szczegółowo

Język C, tablice i funkcje (laboratorium, EE1-DI)

Język C, tablice i funkcje (laboratorium, EE1-DI) Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.

Bardziej szczegółowo

Języki i metodyka programowania. Wprowadzenie do języka C

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

Bardziej szczegółowo

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach

Bardziej szczegółowo

ALGORYTMY I PROGRAMY

ALGORYTMY I PROGRAMY ALGORYTMY I PROGRAMY Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

INSTRUKCJE REPETYCYJNE PĘTLE

INSTRUKCJE REPETYCYJNE PĘTLE INSTRUKCJE REPETYCYJNE PĘTLE Pętla while( ) while ( wyrażenie ) instrukcja; while ( wyrażenie ) instrukcja_1; instrukcja_2;... instrukcja_n; Pętla wykonywana jest tak długo jak wartość wyrażenie jest różna

Bardziej szczegółowo

Język C, instrukcje sterujące (laboratorium)

Język C, instrukcje sterujące (laboratorium) Język C, instrukcje sterujące (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Na podstawie http://pl.wikibooks.org/wiki/c Wstęp Instrukcja warunkowa Instrukcja if/if-else pozwala na warunkowe

Bardziej szczegółowo

Zadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak:

Zadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak: Tablice Tablice jednowymiarowe Jeżeli nasz zestaw danych składa się z wielu drobnych elementów tego samego rodzaju, jego najbardziej naturalnym ekwiwalentem w programowaniu będzie tablica. Tablica (ang.

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript

Bardziej szczegółowo

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013 Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Obsługa plików Kraków 2013 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim będziemy mogli

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1)

JAVAScript w dokumentach HTML (1) JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

Programowanie w C/C++ Instrukcje - konstrukcje powtórka. LABORKA Piotr Ciskowski

Programowanie w C/C++ Instrukcje - konstrukcje powtórka. LABORKA Piotr Ciskowski Programowanie w C/C++ Instrukcje - konstrukcje powtórka LABORKA Piotr Ciskowski zadanie 1. Licz się ze sobą Napisz funkcję bez argumentów i bez wyniku, która za każdym wywołaniem będzie podawała, ile razy

Bardziej szczegółowo

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest

Bardziej szczegółowo

Wykład z Technologii Informacyjnych. Piotr Mika

Wykład z Technologii Informacyjnych. Piotr Mika Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły

Bardziej szczegółowo

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim

Bardziej szczegółowo