Programowanie komputerowe. Zajęcia 3

Podobne dokumenty
Programowanie komputerowe. Zajęcia 2

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 4

Programowanie - wykład 4

Programowanie komputerowe. Zajęcia 5

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

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

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

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Podstawy Programowania C++

Programowanie Obiektowe i C++

> C++ wskaźniki. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017

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

Rekurencja (rekursja)

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

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

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Pętla for. Wynik działania programu:

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

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

Wstęp do programowania

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

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

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

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Lab 9 Podstawy Programowania

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com

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

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Część 4 życie programu

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

ALGORYTMY I STRUKTURY DANYCH

Proste programy w C++ zadania

Instrukcje sterujące

I - Microsoft Visual Studio C++

Podstawy programowania w języku C i C++

Funkcje i tablice. Elwira Wachowicz. 23 maja 2013

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

Pytania sprawdzające wiedzę z programowania C++

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie.

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

7. Pętle for. Przykłady

1 Podstawy c++ w pigułce.

ZASADY PROGRAMOWANIA KOMPUTERÓW

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

1 Podstawy c++ w pigułce.

Wstęp do programowania

Konstrukcje warunkowe Pętle

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

6. Pętle while. Przykłady

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

Warunek wielokrotnego wyboru switch... case

Zajęcia 4 procedury i funkcje

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

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Kontrola przebiegu programu

Podstawy algorytmiki i programowania - wykład 5 C-struktury cd.

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

Język C++ zajęcia nr 2

Rekurencja. Przygotowała: Agnieszka Reiter

Podstawowe części projektu w Javie

Wstęp do programowania

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

Instrukcje sterujące. Programowanie Proceduralne 1

Algorytmy i język C++

4. Funkcje. Przykłady

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Microsoft IT Academy kurs programowania

Języki programowania obiektowego Nieobiektowe elementy języka C++

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

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

Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006)

do instrukcja while (wyrażenie);

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

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

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

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

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

Język ludzki kod maszynowy

Ćwiczenie nr 3. Temat: Definicje i wykorzystanie funkcji, parametry funkcji

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

Programowanie obiektowe - zadania

1,3,4,2,3,4,0,1,4,5,0. Wówczas największa suma trzech kolejnych liczb (zaznaczone na czerwono) wynosi:

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Programowanie strukturalne i obiektowe. Funkcje

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

Pętle. Dodał Administrator niedziela, 14 marzec :27

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Języki programowania. Przetwarzanie tablic znaków. Część druga. Autorzy Tomasz Xięski Roman Simiński

Pytania dla języka C++

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Podstawy programowania

Transkrypt:

Programowanie komputerowe Zajęcia 3

Instrukcje przypisania Poza zwykłą instrukcją przypisania, powodującą ustawienie wartości zmiennej na podane wyrażenie, istnieje wiele innych, np. += dodaj, a+=b jest równoważne a=a+b -= odejmij, a-=b jest równoważne a=a-b *= pomnóż, a*=b jest równoważne a=a*b i wiele innych tworzonych analogicznie. Pozwalają one na skrócenie zapisu programu.

Operator warunkowy? Składnia: w? a : b w warunek logiczny a, b wyrażenia, powinny być tego samego typu Wartością takiego wyrażenia jest a jeśli warunek w jest spełniony i b w przeciwnym przypadku. Przykład: wartością wyrażenia a>b? a : b jest większa z liczb a,b.

Instrukcje break i continue Instrukcje break i continue służą do przerwania pętli. break powoduje przerwanie pętli i przejście do instrukcji za pętlą. Można też zastosować break do przerwania instrukcji switch. continue powoduje zaniechanie wykonania instrukcji w pętli poniżej. Program przechodzi do sprawdzenie warunku pętli; jeśli ten jest spełniony, wykonuje się kolejny obieg pętli. Instrukcji tych należy w miarę możliwości unikać.

Instrukcja warunkowa switch Instrukcja ta jest rzadko stosowana, ale jest wygodniejsza niż if jeśli musimy wybrać jeden z wielu wariantów. Składnia switch(a) { // a wyrażenie typu int lub char (ew. inny całkowity) lista instrukcji; może zawierać klauzule case wartość: // każda wartość musi być stałą typu takiego jak a default: // tylko jedna dozwolona break; } Lista instrukcji jest wykonywana od klauzuli case z wartością równą a (jeśli taka jest) lub default (jeśli nie ma odpowiedniego case) do napotkania break.

Instrukcja warunkowa switch przykład int main() { char c; cout << "Tak czy nie?"; cin >> c; switch(c) { case 'T': case 't': case 'y': case 'Y': cout << "TAK"; break; case 'N': case 'n': cout << "NIE"; break; default: cout << "???"; } }

Rekursja Rekursja to technika programowania polegająca na wywoływaniu funkcji przez siebie samą. Każdą funkcję, którą można zapisać za pomocą iteracji można zapisać za pomocą rekursji i na odwrót. Przykład: Funkcję silnia można zdefiniować na dwa sposoby: n!=1*2*3*...*n // iteracja n!=n*(n-1)! dla n>0 oraz 0!=1 // rekursja

Funkcja silnia na dwa sposoby Iteracja: int silnia(int n) { int w=1; for(int i=1; i<=n; i++) w=w*i; return w; } Rekursja: int silnia(int n) { if(n>0) return n*silnia(n-1); return 1; }

Referencje Jeśli T jest pewnym typem, to T& jest typem referencyjnym do T. Wartością typu referencyjnego jest zmienna typu T. Typu referencyjnego możemy użyć jako parametru funkcji. Wówczas nie powstaje kopia wartości, a funkcja wywoływana używa zmiennej zadeklarowanej w innej funkcji. Robimy tak jeśli: chcemy zmieniać zmienne z funkcji wywołującej, nie chcemy (lub nie możemy) tworzyć kopii istniejącej zmiennej. Przekazanie parametru za pomocą referencji nazywamy przekazaniem przez zmienną, a w zwykły sposób przekazaniem przez wartość.

Referencje przykład Poniższa funkcja zamienia wartości dwóch zmiennych: void zamien(int& a, int & b) { int c=a; a=b; b=c; } // Przykład użycia poniżej. Co się stanie jeśli pominiemy znaczki &? int main() { int x=3, y=7; zamien(x,y); cout << "x=" << x << ", y=" << y << endl; }

Tablice Tablice służą do przechowywania wielu zmiennych tego samego typu. Tablicę deklaruje się następująco: typ nazwa[liczba_elementów]; Tak zadeklarowana tablica zawiera elementy nazwa[0], nazwa[1], nazwa[2],, nazwa[liczba_elementów-1], wszystkie one są typu podanego w deklaracji. Liczba elementów tablicy musi być stałą znaną w momencie kompilacji programu. Poszczególne elementy tablicy zachowują się jak zwykłe zmienne. Można ustawić elementy tablicy w momencie deklaracji, np. tak: int t[5]={3,7,-1,2,4};

Tablice jako parametry funkcji Tablice są zawsze przekazywane przez zmienną funkcja nie działa na kopii tylko na oryginalnej tablicy. Nie jest przekazywany rozmiar tablicy; żeby go przekazać należy uzyć dodatkowego parametru, np. int f(int tablica[], int rozmiar) { } Innym sposobem jest przekazanie wskaźnika do tablicy, np. tak: int f(int* tablica, int rozmiar) { } O wskaźnikach później. Napisy są zapamiętywane jako tablice znaków (char).

Ćwiczenia 1. Napisać funkcję int nwd(int a, int b) która oblicza największy wspólny dzielnik dwóch liczb. 2. Napisać funkcję void ciag(int p, int r, int n) która drukuje ciąg arytmetyczny o początkowym wyrazie p, różnicy r i n wyrazach. Nie używać pętli. 3. Napisać dwie funkcje void rozklad(int n) które drukują rozkład liczby na czynniki pierwsze. W jednej użyć iteracji, w drugiej rekurencji.

Ćwiczenia (2) 4. Napisać funkcję void drukuj(int t[], int r) która drukuje elementy tablicy t o długości r na ekranie. 5. Napisać funkcję int max(int t[], int r) która zwraca największy element tablicy t o długości r. 6. Napisać funkcję int suma(int t[], int r) która zwraca sumę elementów tablicy t o długości r.

Zadanie domowe Zadanie domowe znajduje się pod adresem http://www.mimuw.edu.pl/~ziemians/pk2016/zd1.cpp Należy uzupełnić funkcje zastępując części oznaczone /*( )*/ Rozwiązania odesłać na adres kziemianski.edu@gmail.com w terminie ustalonym na zajęciach. W temacie e-maila wpisać pk1-xxxxx, gdzie XXXXXX jest numerem indeksu.