Sprawy organizacyjne 1. Zasady zaliczenia przedmiotu

Slides:



Advertisements
Podobne prezentacje
27/09/ Języki programowania 1 Piotr Górczyński Operatory.
Advertisements

Ćwiczenie (1) Dostosuj poniższy program do potrzeb zdefiniowanych w treści programu zaliczeniowego: #include void dodaj(){}; void edytuj(){}; void usun(){};
Język C/C++ Funkcje.
C++ Paweł Rzechonek Instytut Informatyki Uniwersytetu Wrocławskiego
Operatory.
Zmienne i Typy.
Algorytmy – zapis struktur programowania
Języki programowania C++
Opisy funkcji Adres strony WWW : html /html_node/libc_528.html.
argumenty wiersza poleceń: getopt
Instrukcje warunkowe Zajęcia 5.
Instrukcje Instrukcja : definicja obliczenia i określenie sposobu wykonania tego obliczenia. Program : ciąg instrukcji wykonywanych kolejno od pierwszej.
ODE Informacje wstępne. Pojęcia podstawowe n Obiektowa baza danych u język komunikacji u ziarnistość obiektów u identyfikacja obiektów n Transakcja -
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Ćwiczenie (1) Dostosuj poniższy program do wymogów programu zaliczeniowego #include typedef struct{ char imie[30]; char nazwisko[50]; int rokUrodzenia;
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Polsko – Japońska Wyższa Szkoła Technik Komputerowych
Metody Matematyczne w Inżynierii Chemicznej Wprowadzenie do laboratorium.
nowe operatory & . (kropka) * operator rzutowy -> , (przecinek)
Programowanie w języku Fortran 95
AWK Zastosowania Informatyki Wykład 1 Copyright, 2003 © Adam Czajka.
Podstawy informatyki (4)
Podstawy programowania w języku C i C++
Jerzy F. Kotowski1 Informatyka I Wykład 7 STEROWANIE c.d. n switch n Pętle.
Podstawy programowania w języku C i C++
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Informatyka I Wykład 10 WSKAŹNIKI I ADRESY Jerzy F. Kotowski.
Podstawy programowania
Podstawy Programowania
PHP: warunki, pętle, switch, break, continue
Programowanie Windows na przykładzie C# część 1
Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład VIII.
Programowanie strukturalne i obiektowe
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Programowanie obiektowe III rok EiT
Programowanie obiektowe III rok EiT
STEROWANIE Ale nie tylko
Programowanie strukturalne i obiektowe
Programowanie strukturalne i obiektowe
C# Platforma .NET CZ.3 Kuba Ostrowski.
Instrukcja warunkowa i wyboru
INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.
PWSZ Gniezno // codefly 2009 Łukasz Tomczak
Składnia instrukcji warunkowej if…
Składnia pętli do … while do instrukcja while (wyrażenie); gdzie: instrukcja – instrukcja pojedyncza lub blok instrukcji wyrażenie – wyrażenie przyjmujące.
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
Podstawy programowania
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
1 Zagadnienia na egzamin. 2 Język C podsumowanie Struktura programu w języku C Zmienne, Stałe Operacje arytmetyczne Operatory logiczne Priorytety operatorów.
Instrukcje wyboru.
PHP Instrukcja warunkowa if Damian Urbańczyk. Warunek? Instrukcję warunkową wykorzystujemy wtedy, gdy chcemy sprawdzić pewien fakt, który może być prawdziwy.
1 Uzupełnienie dot. przekazywania argumentów #include struct nowa { int f; char line[20000]; int k; } reprezentant; int main() { void funkcja7( struct.
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
Instrukcje warunkowe w php. Pętla FOR Czasem zachodzi potrzeba wykonania jakiejś czynności określoną ilość razy. Z pomocą przychodzi jedna z najczęściej.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
1 Opisy funkcji Adres strony WWW : html (należy odszukać hyperlink Function Index) (
Switch. Instrukcja switch Składnia instrukcji: switch (wyrażenie){ case wyrażenie_stałe1: ciąg instrukcji dla wariantu 1; break; case wyrażenie_stałe2:
Programowanie I Rekurencja.
Pakiety numeryczne Operatory, instrukcje sterujące, operacje bitowe Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Programowanie Obiektowe – Wykład 1
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Opisy funkcji Adres strony WWW :
Dane, zmienne, instrukcje
Instrukcja warunkowa if
Zapis prezentacji:

Sprawy organizacyjne 1. Zasady zaliczenia przedmiotu samodzielne wykonanie zadanego programu oraz odpowiedź na pytania dotyczące szczegółów implementacji i wprowadzenie na bieżąco drobnych zmian, kolokwium 2. Kontakt lapczynski@poczta.fm 3. Podręcznik Grębosz J., Symfonia C++, Oficyna Kallimach, Kraków, 1999

Wprowadzenie do programowania 1. Dlaczego C? http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html 2. Na jakie wynagrodzenie może liczyć programista Polska http://www.projectcomplete.pl/forum/entry93&36 http://www.wynagrodzenia.pl/monitor_plac_1.php/wpis.26 Reszta świata www.jobserve.com

Pierwszy program w C (1) Uruchom program Dev-C++ (C:\Dev-Cpp\devcpp.exe) Utwórz nowy projekt – menu File\New\Project... Wybierz opcje „C Project”, „Console Application” i wpisz nazwę projektu.

Pierwszy program w C (2) 4. Zapisz projekt na dysku. 5. Napisz program: 6. Wybierz z menu opcje Execute\Compile & Run lub naciśnij F9. 7. Zapisz program pod zaproponowaną nazwą.

Typy danych Nazwa Wielkość w bajtach Zakres wartości char 1 -128 do 127 unsigned char 0 do 255 short 2 -32 768 do 32 767 unsigned short 0 do 65 535 long 4 -2 147 483 648 do 2 147 483 647 unsigned long 0 do 4 294 967 295 int unsigned int float 1.2*10-38 do 3.4*1038 double 8 2.2*10-308 do 1.8*10308 bool true lub false

Najczęściej używane operatory (1) Znaczenie Przykład Operatory arytmetyczne + Dodawanie x=y+z; - Odejmowanie x=y-z; * Mnożenie x=y*z; / dzielenie x=y/z; Operatory przypisania = Przypisanie x=10; += Dodanie i przypisanie x+=10; -= Odjęcie i przypisanie x-=10; *= Mnożenie i przypisanie x*=10; /= Dzielenie i przypisanie x/=10; &= Iloczyn bitowy i przypisanie x&=0x02; |= Suma bitowa i przypisanie x|=0x02;

Najczęściej używane operatory (2) Znaczenie Przykład Operatory relacyjne = = Równy if(x= =10) {...} != Różny od if(x!=10) {...} < Mniejszy od if(x<10) {...} > Większy od if(x>10) {...} <= Mniejszy lub równy if(x<=10) {...} >= Większy lub równy if(x=>10) {...} Operatory logiczne && Iloczyn logiczny (koniunkcja) if(x&&0xFF) {...} || Suma logiczna (alternatywa) if(x||0xFF) {...}

Najczęściej używane operatory (3) Znaczenie Przykład Operatory jednoargumentowe * Wyłuskanie (dereferencja) int x = *y & Adres obiektu (referencja) int* x = &y ~ Negacja bitowa x= ~0x02 ! Negacja logiczna if(!valid){...} ++ Inkrementacja x++; -- Dekrementacja x--;

Instrukcje warunkowe (1) Składnia instrukcji warunkowych if: if(warunek) {blok instrukcji} 2. if(warunek) else {alternatywny blok instrukcji} if(warunek 1) {blok instrukcji 1} else if(warunek 2) {blok instrukcji 2} else{alternatywny blok instrukcji}

Instrukcje warunkowe (2) Składnia instrukcji switch: switch(wyrażenie) { case wyrażenie_stałe1: insrukcje1; case wyrażenie_stałe2: insrukcje2; case wyrażenie_stałe3: insrukcje3; ... default: instrukcje4; }

Instrukcje warunkowe (3) Przykład 1 Przepisz i uruchom poniższy program: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ float x; printf("Podaj liczbe: "); scanf("%f", &x); if (x<10) { printf("Podana liczba jest mniejsza od 10\n"); } else if (x>10){ printf("Podana liczba jest wieksza od 10\n"); else { printf("Podana liczba jest rowna 10\n"); system("PAUSE"); return 0;

Instrukcje warunkowe (4) Przykład 2 Przepisz i uruchom poniższy program: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int x; printf("Podaj liczbe calkowita: "); scanf("%d", &x); switch (x){ case 1: printf("Wpisano 1\n"); break; case 2: printf("Wpisano 2\n"); break; case 1000: printf("Wpisano 3\n"); break; default: printf("Wpisano liczbe rozna od 1,2,1000\n"); } system("PAUSE"); return 0;

Pętle (1) Pętla for for(poczatek; koniec; przyrost) { instrukcje } Przykład: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int i; for (i = 1; i<10; i++){ printf("%d. wykonanie instrukcji w petli\n", i); system("PAUSE"); return 0;

Pętle (2) Pętla while while(warunek) { instrukcje } #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int i = 1; while(i<10){ printf("%d. wykonanie instrukcji w petli\n", i); i++; system("PAUSE"); return 0;

Pętle (3) Pętla do-while do { instrukcje } while(warunek); #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int i = 1; do{ printf("%d. wykonanie instrukcji w petli\n", i); i++; } while (i<10); system("PAUSE"); return 0; }

Pętle (4) Pętla do-while do { instrukcje } while(warunek); #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int i = 1; do{ printf("%d. wykonanie instrukcji w petli\n", i); i++; }while (i<10); system("PAUSE"); return 0; }

Pętle (5) Zadanie 1. Napisz program wykorzystujący pętle wypisujący kolejno wartości 21, 22, 23, ..., 220. Zadanie 2. Napisz program wypisujący wartości funkcji sin i cos w przedziale od 0 do 360 stopni z krokiem 45 stopni. Wskazówki: Funkcje sin() i cos() przyjmują argumenty w radianach. Wartość liczby pi można obliczyć np. jako 4.0*atan(1.0).

Instrukcja break (1) Instrukcja break użyta wewnątrz pętli powoduje wyjście z najbardziej zagnieżdżonej pętli. Przykład: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int i, l; for (i = 0; i < 10; i ++) { scanf("%d", &l); if (l < 0) break; printf("l = %d\n", l); } system("PAUSE"); return 0;

Instrukcja break (2) Instrukcja break użyta w instrukcji switch powoduje wyjście z tej instrukcji. #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int i; scanf("%d",&i); switch (i){ case 1: case 2: printf("1 lub 2\n"); break; default : printf("Inne\n"); } system("PAUSE"); return 0;

Instrukcja continue Instrukcja continue może być użyta tylko wewnątrz instrukcji pętli. Powoduje przejście do instrukcji sprawdzającej warunek. #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int i = 0, l ; while(i < 10) { scanf("%d", &l) ; if (l < 0) continue; printf("l = %d\n", l); i++; } system("PAUSE"); return 0;

Czas istnienia i zasięg widoczności (1) Zmienne lokalne deklarowane są w obrębie bloku. Do zmiennych tego rodzaju można odwoływać się tylko w obrębie bloku, wewnątrz którego zostały one zadeklarowane. Przykład: int main(int argc, char *argv[]) { auto int i; register char j; static long k; system("PAUSE"); return 0; }

Czas istnienia i zasięg widoczności (2) zmienne lokalne można deklarować w trzech klasach pamięci: auto, static i register, zmienne automatyczne (klasy auto) tworzone na stosie w momencie rozpoczęcia wykonywania bloku, a usuwane natychmiast po zakończeniu wykonywania bloku, zmienne automatyczne nie zachowują wartości pomiędzy poszczególnymi wykonaniami bloku, zmienne rejestrowe (klasy register) zachowują się jak zmienne automatyczne, ale są przechowywane w rejestrach procesora lub w szybkiej pamięci, a nie na stosie. Czas dostępu do takiej zmiennej jest krótszy niż do zmiennej automatycznej, zmienne rejestrowe nie posiadają adresu, nie można dla nich używać operatora &, zmienne statyczne (klasy static) przechowywane są w obszarze pamięci programu. Są tworzone w momencie tworzenia programu, a kasowane w momencie jego zakończenia, zmienne statyczne nie zmieniają wartości między kolejnymi wykonaniami bloku, pamięć, w której umieszczane są zmienne automatyczne i rejestrowe ma zawsze przypadkową wartość, - pamięć, w której umieszczane są zmienne statyczne jest zerowana przed uruchomieniem programu.

Czas istnienia i zasięg widoczności (3) Zmienne globalne są deklarowane poza jakimkolwiek blokiem i mogą być użyte w dowolnym miejscu w programie po ich deklaracji. Tworzone są w obszarze danych programu w momencie jego uruchomienia i usuwane w momencie zakończenia. Pamięć, w której umieszczane są zmienne globalne jest zerowana przed uruchomieniem programu.

Czas istnienia i zasięg widoczności (4) REGUŁA PRZESŁANIANIA - Zasięgiem zmiennych lokalnych jest blok, w którym są zadeklarowane, - Zasięgiem zmiennych globalnych jest część pliku od miejsca deklaracji do końca pliku, - Jeśli w zasięgu zmiennej zostanie zadeklarowana zmienna o tej samej nazwie, to nowa zmienna staje się dostępna, a zmienna pierwotna przestaje być widoczna, czyli zostaje zasłonięta, - zmienna zasłonięta zaczyna być ponownie widoczna, gdy kończy się zasięg zmiennej zasłaniającej.

Czas istnienia i zasięg widoczności (5) REGUŁA PRZESŁANIANIA Przykład: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int x = 10; printf("Liczba1: %d\n", x); { int x = 20; printf("Liczba 2: %d\n", x); } printf("Liczba 3: %d\n", x); system("PAUSE"); return 0;

Modyfikator const Modyfikator const Zmienna z modyfikatorem const może zostać zainicjalizowana w momencie tworzenia za pomocą operatora przypisania. Użycie modyfikatora sprawia, że zmienna jest taktowana jako zmienna tylko do odczytu. Przykład: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ const float pi= 4*atan(1); printf("Pi = %f\n",pi); /*pi = 3; //BLAD */ system("PAUSE"); return 0; }

Funkcje (1) Funkcja to wyróżniona część programu realizująca ściśle określone zadanie. Funkcje składają się z nagłówka i ciała. Nagłówek funkcji typ_wartsoci nazwa_funkcji(parametry_formalne) Przykłady: long silnia(int n); void drukuj(char a, int d); int fi_przelicz_harmonogram(int har_id); Parametry formalne określają wartości przekazywane do funkcji w momencie jej wywołania. Parametry można przekazywać przez wartość lub przez referencję. Przy przekazanie parametru przez wartość w momencie wywołania funkcji tworzona jest zmienna lokalna o podanej nazwie i do niej jest kopiowana wartość parametru. W momencie zakończenia wykonania funkcji zmienne związane z parametrami przestają istnieć. Zmiana wartości parametrów wewnątrz funkcji nie powoduje zmiany wartości w funkcji wywołującej.

Funkcje (2) - ciało funkcji składa się z dowolnej ilości deklaracji i instrukcji, - każdy parametr musi mieć oddzielną specyfikacje typu, Przykład: long potega(int podstawa, int wykladnik){} /*dobrze*/ long potega(int podstawa, wykladnik){} /*BŁĄD!*/ wywołanie funkcji składa się z nazwy funkcji i ewentualnych wyrażeń oddzielonych przecinakami ujętych w okrągłe nawiasy, np. potega(3,4). Na podstawie podanych wyrażeń przed wywołaniem funkcji zostają obliczone jej parametry aktualne.

Funkcje (3) - ciało funkcji składa się z dowolnej ilości deklaracji i instrukcji, - każdy parametr musi mieć oddzielną specyfikacje typu, Przykład: long potega(int podstawa, int wykladnik){} /*dobrze*/ long potega(int podstawa, wykladnik){} /*BŁĄD!*/ wywołanie funkcji składa się z nazwy funkcji i ewentualnych wyrażeń oddzielonych przecinakami ujętych w okrągłe nawiasy, np. potega(3,4). Na podstawie podanych wyrażeń przed wywołaniem funkcji zostają obliczone jej parametry aktualne.

Funkcje (4) INSTRUKCJA return; Powoduje wyjście z aktualnie wykonywanej funkcji. Instrukcja może wystąpić w dowolnym miejscu w ciele funkcji. Instrukcja return może wystąpić z wyrażeniem lub bez wyrażenia. Jeśli podano wyrażenie, to jego wartość przed wyjściem z funkcji jest obliczana i zwracana. Przykład: long silnia(int n) { long wynik; int i; if (n <= 0) return 1; wynik = 1; for (i = 1; i <= n; i ++) wynik *= i; return wynik; }

Funkcje (5) Przykład: #include <stdio.h> #include <stdlib.h> long potega(int a, int b){ int i; long wynik = a; for(i=1;i<b;i++){ wynik *= a; } return wynik; int main(int argc, char *argv[]){ int podstawa, wykladnik; printf("Podaj podstawe: \n"); scanf("%d", &podstawa); printf("Podaj wykladnik: \n"); scanf("%d", &wykladnik); printf("%d do potegi %d rowna sie %d\n", podstawa,wykladnik,potega(podstawa,wykladnik)); system("PAUSE"); return 0;

Funkcje (6) Zadanie 3. Zmodyfikuj funkcję long potega(int, int) tak, aby pokazywała poprawnie wartości liczby podniesionej do zerowej potęgi.

Lista częstych błędów 1) syntax error at end of input Brak zamykającego nawiasu 2) undefined reference to XXXXX Brak zdefiniowanej zmiennej lub funkcji XXXXX Błąd w słowie kluczowym lub w nazwie funkcji 3) syntax error before "YYYY" Brak znaku ";" przed słowem YYYY 4) missing terminating " character Brak zamknięcia cudzysłowu

Funkcje printf (1) Funkcja printf służy do zapisywania danych w standardowym strumieniu wyjściowym. Funkcja zwraca liczbę wyświetlonych znaków. int printf(char * Format [, wartość, ...]); Funkcja analizuje na początku pierwszy argument i na jego podstawie wypisuje kolejne wartości. Ilość wartości musi być zgodna z przekazanym formatem. Format składa sie z tekstu i informacji o koniecznych konwersjach. Informacje o konwersji zaczynają się znakiem "%". Przykłady: printf("Witaj świecie\n"); /*Witaj świecie*/ printf("20 %% 10 = 0"); /*20 % 10 = 0*/

Funkcje printf (2) Przykłady: Określanie konwersji: d - akceptuje parametr typu całkowitego i wykonuje konwersję do zapisu całkowitego ze znakiem, u - akceptuje parametr typu całkowitego i wykonuje konwersję do zapisu całkowitego bez znaku, o - akceptuje parametr typu całkowitego i wykonuje konwersję do zapisu całkowitego bez znaku w systemie ósemkowym, u - akceptuje parametr typu całkowitego i wykonuje konwersję do zapisu całkowitego bez znaku w sytemie szesnastkowym, f - akceptuje wartość typu float lub double i wykonuje konwersję do postaci [-]ddd.ddd, E - akceptuje wartość typu float lub double i wykonuje konwersję do postaci liczby zmienneprzecinkowej postaci [-]d.ddd+|-dd, c - akceptuje i wypisuje pojedynczy znak, s - akceptuje string (char*), p - akceptuje wskaźnik (void *) i wypisuje go w postaci szesnastkowej Przykłady: printf("%d+%d = %d\n", 5, 5, 5+5); /* 5+5 = 10 */ printf("Jestes %d. gosciem na tej stronie",234 ); /*Jestes 234. gosciem na tej stronie*/

Funkcje printf (3) Polskie znaki \ + kod znaku Kody znaków polskich: 206 - ć 210 - ł 230 - ś 242 - ó 245 - ą 251 - ę 253 - ź 276 - ż 344 - ń

Funkcje scanf int printf(char * Format [, wartość, ...]); Funkcja scanf odczytuje dane ze standardowego strumienia wejściowego, wykonuje ich konwersję w zależności od podanego formatu i zachowuje rezultat w podanym miejscu w pamięci int printf(char * Format [, wartość, ...]); Funkcja scanf analizuje Format i na podstawie informacji zawartych w tym tekście, odczytuje ze standardowego strumienia wejściowego wartości. Ilość wartości musi być zgodna z przekazanym formatem. Kody konwersji są analogiczne jak w funkcji printf Przykład 1.: int i; scanf("%d", &i); Przykład 2.: char tytul[50]; scanf("%[^\n]", tytul);

Zadanie Zadanie 4. Napisz program obliczający średnią podanych liczb. Napisz program obliczający pole i obwód prostokąta, trójkąta, koła i trapezu o podanych przez użytkownika wymiarach. W programie utwórz funkcje zwracające wymagane wartości.