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

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

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

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

#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

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

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

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

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

#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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Programowanie, algorytmy i struktury danych

Programowanie, algorytmy i struktury danych 1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania

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

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia Dynamiczne przetwarzanie stron dr Beata Kuźmińska-Sołśnia KLIENT Witaj INTERNET SERWER Plik HTML Witaj wyświetlanie przez przeglądarkę Witaj! Serwer WWW komputer

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

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

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

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Platforma.NET. Laboratorium nr 1 Podstawy języka C#

Platforma.NET. Laboratorium nr 1 Podstawy języka C# Platforma.NET Laboratorium nr 1 Podstawy języka C# Ćwiczenie 1 1. Utwórz nowy projekt a. Z menu File wybierz New/Project b. W oknie dialogowym New Project określ następujące właściwości: typu projektu:

Bardziej szczegółowo

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Wykład 3 ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Waldi Ravens J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 75 / 146 deklaracje zmiennych instrukcja podstawienia

Bardziej szczegółowo

KURS C/C++ WYKŁAD 7. struct Punkt { int x, y; int kolor; };

KURS C/C++ WYKŁAD 7. struct Punkt { int x, y; int kolor; }; Typy pochodne. Referencje Referencja jest inną nazwą zmiennej. KURS C/C++ WYKŁAD 7 Referencje tworzymy przy pomocy unarnego operatora &: int a; int &refer = a; // referencja musi być inicjowana Powyższe

Bardziej szczegółowo

3 Przygotował: mgr inż. Maciej Lasota

3 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 3 1/8 Język C Instrukcja laboratoryjna Temat: Instrukcje warunkowe, pętle. 3 Przygotował: mgr inż. Maciej Lasota 1) Instrukcje warunkowe. Instrukcje warunkowe pozwalają zdefiniować warianty

Bardziej szczegółowo

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

for (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;

for (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja; Rok akademicki 2014/2015, Pracownia nr 5 2/36 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2014/2015 Pracownia

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych Ćwiczenie nr 3 Wyświetlanie i wczytywanie danych 3.1 Wstęp Współczesne komputery przetwarzają dane zakodowane za pomocą ciągów zerojedynkowych. W szczególności przetwarzane liczby kodowane są w systemie

Bardziej szczegółowo

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Typ znakowy Typ znakowy Typ wyliczeniowy # include

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami 1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby Część XI C++ W folderze nazwisko36 program za każdym razem sprawdza oba warunki co niepotrzebnie obciąża procesor. Ten problem można rozwiązać stosując instrukcje if...else Instrukcja if wykonuje polecenie

Bardziej szczegółowo

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji? Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Zapis liczb binarnych ze znakiem

Zapis liczb binarnych ze znakiem Zapis liczb binarnych ze znakiem W tej prezentacji: Zapis Znak-Moduł (ZM) Zapis uzupełnień do 1 (U1) Zapis uzupełnień do 2 (U2) Zapis Znak-Moduł (ZM) Koncepcyjnie zapis znak - moduł (w skrócie ZM - ang.

Bardziej szczegółowo

Typy danych, zmienne i tablice. Tomasz Borzyszkowski

Typy danych, zmienne i tablice. Tomasz Borzyszkowski Typy danych, zmienne i tablice Tomasz Borzyszkowski Silne typy Javy Java jest językiem wyposażonym w silny system typów. Wywodzi się stąd siła i bezpieczeństwo tego języka. Co to znaczy silny system typów?

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Podstawy programowania komputerów Computer programming basics Kierunek: Mechatronika Rodzaj przedmiotu: obowiązkowy Rodzaj zajęć: wykład, laboratorium Forma studiów: stacjonarne Poziom

Bardziej szczegółowo

Język C część 2. Podejmowanie decyzji w programie. if else. switch

Język C część 2. Podejmowanie decyzji w programie. if else. switch Język C część 2 Podejmowanie decyzji w programie if else Instrukcja warunkowa umożliwia wykonanie pewnej instrukcji w zależności od wartości wyrażenia. Wszystkie wartości różne od 0, są w języku C traktowane

Bardziej szczegółowo

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System

Bardziej szczegółowo

Warszawa dnia 2 stycznia 2011 r. Zbiór zadań z programowania w języku C do samodzielnego wykonania

Warszawa dnia 2 stycznia 2011 r. Zbiór zadań z programowania w języku C do samodzielnego wykonania Warszawa dnia 2 stycznia 2011 r. Przedmioty: Wstęp do programowania Wstęp do informatyki Zbiór zadań z programowania w języku C do samodzielnego wykonania Prowadzący; dr inż. Stanisław Wszelak Ćwiczenie

Bardziej szczegółowo

Języki skryptowe w programie Plans

Języki skryptowe w programie Plans Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Laboratorium 3 Instrukcje wyboru 1 INSTRUKCJE WYBORU Instrukcje sterujące to takie instrukcje, które sterują przebiegiem programu w zależności od spełnienia

Bardziej szczegółowo

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. Przypomnienie schematów blokowych BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż

Bardziej szczegółowo

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)

Bardziej szczegółowo

PROGRAMOWANIE W C++ ZADANIA

PROGRAMOWANIE W C++ ZADANIA PROGRAMOWANIE W C++ ZADANIA Włodzimierz Gajda Rozdział 7 PĘTLE 7.1 PĘTLA FOR: rysowanie wzorków. ZADANIE 7.1.1 Napisz program drukujący na ekranie 19 gwiazdek: ******************* ZADANIE 7.1.2 Napisz

Bardziej szczegółowo

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu

Bardziej szczegółowo

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu Programowanie V Dariusz Skibicki Wydział Inżynierii Mechanicznej Uniwersytet Technologiczno-Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy dariusz.skibicki(at)utp.edu.pl Programowanie Projektowanie

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pętle for, while, do... while, foreach Jeszcze o operatorach... Skrócone operatory arytmetyczne przykład x +=

Bardziej szczegółowo

JAVAScript w dokumentach HTML - przypomnienie

JAVAScript w dokumentach HTML - przypomnienie Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w

Bardziej szczegółowo

Wprowadzenie do Scilab: podstawy języka Scilab

Wprowadzenie do Scilab: podstawy języka Scilab Wprowadzenie do Scilab: podstawy języka Scilab Magdalena Deckert, Izabela Szczęch, Barbara Wołyńska, Bartłomiej Prędki Politechnika Poznańska, Instytut Informatyki Narzędzia Informatyki Narzędzia Informatyki

Bardziej szczegółowo

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

Instrukcja standardowa Writeln

Instrukcja standardowa Writeln Instrukcja standardowa Writeln Instrukcja Writeln umożliwia wprowadzenie danych na ekran monitora powodując automatycznie późniejsze przejście kursora do nowej linii. Jest to ustawienie domyślne w działaniu

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2013 1 / 34 Przypomnienie Programowanie imperatywne Program

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

Bardziej szczegółowo

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

Bardziej szczegółowo

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja

Bardziej szczegółowo

Spis treści JĘZYK C - INSTRUKCJE ITERACYJNE FOR, WHILE I DO WHILE, ZAGNIEŻDŻANIE PĘTLI FOR, INSTRUKCJE CONTINUE, BREAK, I GOTO.

Spis treści JĘZYK C - INSTRUKCJE ITERACYJNE FOR, WHILE I DO WHILE, ZAGNIEŻDŻANIE PĘTLI FOR, INSTRUKCJE CONTINUE, BREAK, I GOTO. Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: EZ1C200 010 (studia niestacjonarne)

Bardziej szczegółowo