PODSTAWY PROGRAMOWANIA

Slides:



Advertisements
Podobne prezentacje
Kurs języka C++ Paweł Rzechonek Instytut Informatyki
Advertisements

C++ Paweł Rzechonek Instytut Informatyki Uniwersytetu Wrocławskiego
Inżynieria Oprogramowania
Wprowadzenie.
PROGRAMOWANIE STRUKTURALNE
Inteligentny System Aktualności
Platforma .Net i Vs.Net.
Opracowała: Elżbieta Fedko
P O D S T A W Y P R O G R A M O W A N I A
Praktyka Programowania Semestr I: –wykład - 1 godz. –laboratorium - 1 godz. –projekt - 1 godz.
Języki programowania C++
Podstawy programowania
Algorytmy i struktury danych
Wstęp do programowania obiektowego
Algorytmika w drugim arkuszu maturalnym. Standardy wymagań I. WIADOMOŚCI I ROZUMIENIE I. WIADOMOŚCI I ROZUMIENIE II.KORZYSTANIE Z INFORMACJI II.KORZYSTANIE.
JAKO CZĘŚĆ NASZEGO ŻYCIA
Wstęp do interpretacji algorytmów
Dr Anna Kwiatkowska Instytut Informatyki
Jeden z języków programowania, który powinieneś znać
Użytkowanie komputerów
INFORMATYKA II Wykładowca: mgr Tadeusz Ziębakowski
Analiza, projekt i częściowa implementacja systemu obsługi kina
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
ALGORYTMY Opracowała: ELŻBIETA SARKOWICZ
Budowa algorytmów Algorytm: skończony ciąg operacji wraz z ściśle sprecyzowanym porządkowaniem ich wykonywania, które po realizacji dają rozwiązanie dowolnego.
ALGORYTMY.
Metody przedstawiania algorytmów.
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Algorytmy.
Podstawy informatyki 2013/2014
Algorytmy z przykładami w Turbo Pascal 7.0
20 września 2003r. Centrum Kształcenia Ustawicznego im. St. Staszica w Koszalinie Wstęp do algorytmiki Autor: Marek Magiera.
Prowadzący: Dr inż. Jerzy Szczygieł
WebQuest wykonane w ramach projektu BelferOnLine
Podstawy Programowania
GIMNAZJUM nr 1 W BIERUNIU
System wspierający obsługę przedmiotów projektowych
Tematyka zajęć Zintegrowane środowisko programistyczne i proces tworzenia programu Identyfikatory, słowa kluczowe, zmienne, typy danych – typy proste Instrukcja.
Programowanie strukturalne i obiektowe
Elżbieta Fiedziukiewicz
Programowanie obiektowe – język C++
SPECJALNOŚĆ: Oprogramowanie Systemowe
Technologie informacyjne II
Kurs języka C++ – organizacja zajęć ( )
ZAPIS BLOKOWY ALGORYTMÓW
Algorytmika.
Wprowadzenie do programowania
Obliczalność czyli co da się policzyć i jak Model obliczeń maszyna licznikowa dr Kamila Barylska.
Projektowanie Aplikacji Internetowych
Zapis blokowy algorytmów
opracowała: Anna Mikuć
Algorytm to przepis prowadzący do osiągnięcia celu lub rozwiązania problemu, opisujący każdy krok. Algorytmika to dziedzina zajmująca się algorytmami (własnościami,
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Algorytmy.
Wprowadzenie do programowania w Pascalu mgr inż. Agata Pacek.
Podstawy programowania
Wstęp do interpretacji algorytmów
Dokumentacja programu komputerowego i etapy tworzenia programów.
K URS JĘZYKA C++ – ORGANIZACJA ZAJĘĆ ( ) Paweł Rzechonek Instytut Informatyki Uniwersytetu Wrocławskiego.
Co to jest algorytm? Uporządkowany i uściślony sposób rozwiązania danego problemu, zawierzający szczegółowy opis wykonywanych czynności w skończonej.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Wyższa Szkoła Informatyki i Zarządzania W Bielsku-Białej Kierunek informatyka Specjalność : Systemy informatyczne Praca dyplomowa inżynierska : System.
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Inż. Marcin Marcinkowski. W tym menu wybieramy co chcemy zweryfikować.
Algorytmy i algorytmika Opracowanie: Teresa Szczygieł
Kurs języka C++ – organizacja zajęć ( )
Algorytm to przepis prowadzący do osiągnięcia celu lub rozwiązania problemu, opisujący każdy krok. Algorytmika to dziedzina zajmująca się algorytmami (własnościami,
Zrozumieć, przeanalizować i rozwiązać
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

PODSTAWY PROGRAMOWANIA Polsko – Japońska Wyższa Szkoła Technik Komputerowych PODSTAWY PROGRAMOWANIA

Podstawy programowania Polsko – Japońska Wyższa Szkoła Technik Komputerowych Podstawy programowania Cel przedmiotu: algorytmizacja problemów programowanie proceduralne Platforma programowa: Visual Studio 2010 dr inż. Olga Choreń

Polsko – Japońska Wyższa Szkoła Technik Komputerowych Literatura: J.Grębosz: Symfonia C++ Standard. Programowanie w języku C++ orientowane obiektowo; wyd. Edition 2000, Kraków 2006r. M.Owczarek: MS Visual C++ 2008; wyd. Helion, Gliwice 2010r. W.Porębski: Programowanie w języku C++, wyd. Help, Warszawa 2005r. kontakt: olcha@pjwstk.edu.pl materiały: szuflandia.pjwstk.edu.pl/~olcha dr inż. Olga Choreń

Będą oceniane: Bieżąca praca w laboratorium Polsko – Japońska Wyższa Szkoła Technik Komputerowych Będą oceniane: Bieżąca praca w laboratorium Indywidualne zadania projektowe Kolokwium UWAGA: Kolokwium będzie polegało na rozwiązaniu testu. dr inż. Olga Choreń

Ocena z przedmiotu jest średnią ważoną z ocen: Polsko – Japońska Wyższa Szkoła Technik Komputerowych Ocena z przedmiotu jest średnią ważoną z ocen: O = 0.4  Ol + 0.3  Op + 0.3  Ok Ol – ocena z laboratorium Op – ocena z projektu Ok – ocena z kolokwium dr inż. Olga Choreń

Wymagania do projektów : Polsko – Japońska Wyższa Szkoła Technik Komputerowych Wymagania do projektów : Program musi: działać poprawnie; posiadać komentarz wstępny z treścią zadania, numerem projektu, datą oraz imieniem i nazwiskiem autora; posiadać komentarze objaśniające istotne fragmenty programu mieć czytelny zapis; mieć kontrolę poprawności wprowadzanych danych; mieć czytelny interfejs: wypisana i dobrze zredagowana treść zadania na ekranie; informacja dla użytkownika programu dot. sposobu obsługi. Uwaga: program na ocenę bardzo dobrą musi być napisany w postaci strukturalnej (z użyciem funkcji) lub obiektowej. Na zaliczenie programu student musi mieć przygotowany zestaw danych testowych ilustrujący możliwości programu. dr inż. Olga Choreń

Cykl wytwarzania oprogramowania: Polsko – Japońska Wyższa Szkoła Technik Komputerowych Cykl wytwarzania oprogramowania: sformułowanie problemu skonstruowanie algorytmu zakodowanie algorytmu kompilacja programu łączenie uruchamianie i testowanie programu Algorytm jest ściśle określoną procedurą obliczeniową, która dla danych wejściowych produkuje żądane dane wyjściowe zwane wynikiem. dr inż. Olga Choreń

Jak wyrażamy algorytmy? Polsko – Japońska Wyższa Szkoła Technik Komputerowych Jak wyrażamy algorytmy? Opis słowny za pomocą języka naturalnego Wybrana konwencja notacyjna w postaci pseudo-kodu Notacja graficzna (schemat blokowy lub sieć działań) Program napisany w wybranym języku programowania dr inż. Olga Choreń

ALGORYTM 1 START Czytaj: N≥2 i ← 2 N = 2 Pisz: N jest L.P. STOP Polsko – Japońska Wyższa Szkoła Technik Komputerowych ALGORYTM 1 NIE TAK Pisz: N nie jest L.P. i dzieli N i ← i + 1 i = N Pisz: N jest L.P. STOP 2 1 START Czytaj: N≥2 i ← 2 N = 2 TAK dr inż. Olga Choreń

ALGORYTM 2 START Czytaj: N≥2 N = 2, 3 Pisz: N jest L.P. 2 dzieli N Polsko – Japońska Wyższa Szkoła Technik Komputerowych ALGORYTM 2 NIE TAK Pisz: N nie jest L.P. i dzieli N i ← i + 2 i = N 2 STOP 1 i ← 3 2 dzieli N Pisz: N jest L.P. START Czytaj: N≥2 N = 2, 3 dr inż. Olga Choreń

ALGORYTM 3 START Czytaj: N≥2 N=2, 3 Pisz: N jest L.P. 2 dzieli N STOP Polsko – Japońska Wyższa Szkoła Technik Komputerowych ALGORYTM 3 NIE TAK Pisz: N nie jest L.P. i dzieli N i ← i + 2 i > sqrt(N) 2 STOP 1 i ← 3 2 dzieli N Pisz: N jest L.P. START Czytaj: N≥2 N=2, 3 dr inż. Olga Choreń

Porównanie szybkości działania algorytmów: Polsko – Japońska Wyższa Szkoła Technik Komputerowych Porównanie szybkości działania algorytmów: N Algorytm 1 wszystkie i 2 oraz nieparzyste i < N 3 i < sqrt(N) 10 8 5 100 98 50 1000 998 500 16 dr inż. Olga Choreń

Maksymy programistyczne Polsko – Japońska Wyższa Szkoła Technik Komputerowych Maksymy programistyczne Wybieraj starannie algorytm rozwiązania Dbaj o uniwersalność programu Najpierw algorytm, potem kodowanie Dobry algorytm - to warunek konieczny, ale nie dostateczny napisania dobrego programu. dr inż. Olga Choreń

for (i = 1; i <= N; i = i+1) if (a[i] > 0) { Polsko – Japońska Wyższa Szkoła Technik Komputerowych Sum_Dod = 0; Licz_Dod = 0; Sum_Poz = 0; Licz_Poz = 0; for (i = 1; i <= N; i = i+1) if (a[i] > 0) { Sum_Dod = Sum_Dod + a[i]; Licz_Dod = Licz_Dod + 1; } else Sum_Poz = Sum_Poz + a[i]; Licz_Poz = Licz_Poz + 1; dr inż. Olga Choreń

Sum_Dod = 0; Licz_Dod = 0; Sum_Poz = 0; Licz_Poz = 0; i = 1; Polsko – Japońska Wyższa Szkoła Technik Komputerowych Sum_Dod = 0; Licz_Dod = 0; Sum_Poz = 0; Licz_Poz = 0; i = 1; et1: if (a[i] > 0) goto et2; Sum_Poz = Sum_Poz + a[i]; Licz_Poz = Licz_Poz + 1; goto et3; et2: Sum_Dod = Sum_Dod + a[i]; Licz_Dod = Licz_Dod + 1; et3: i = i + 1; if (i <= N) goto et1; dr inż. Olga Choreń

Sum_Dod = 0; Licz_Dod = 0; Sum_Poz = 0; Licz_Poz = 0; i = 1; Polsko – Japońska Wyższa Szkoła Technik Komputerowych Sum_Dod = 0; Licz_Dod = 0; Sum_Poz = 0; Licz_Poz = 0; i = 1; et1: if (a[i] > 0) goto et2; Sum_Poz = Sum_Poz + a[i]; Licz_Poz = Licz_Poz + 1; goto et3; et2: Sum_Dod = Sum_Dod + a[i]; Licz_Dod = Licz_Dod + 1; et3: i = i + 1; if (i <= N) goto et1; dr inż. Olga Choreń

Styl programowania: Programy mają być czytane przez ludzi Polsko – Japońska Wyższa Szkoła Technik Komputerowych Styl programowania: Programy mają być czytane przez ludzi Stosuj komentarze wstępne Stosuj komentarze wyjaśniające Komentarz - to nie parafraza instrukcji Stosuj odstępy do poprawienia czytelności Używaj dobrych nazw mnemonicznych Wystarczy jedna instrukcja w wierszu Stosuj wcięcia do uwidocznienia struktury programu. dr inż. Olga Choreń

Pierwszy program w języku C++: Polsko – Japońska Wyższa Szkoła Technik Komputerowych Pierwszy program w języku C++: #include "stdafx.h " #include <iostream> #include "conio.h" using namespace std; int main () { cout << "\n"; cout << "Witam na I wykladzie!\n"; cout << "Przedmiot: " << „Podstawy programowania\n"; cout << "Kierunek: " << " Informatyka,\n" << "\t\tStudia zaoczne\n"; _getch(); return 0; } Witam na I wykladzie! Przedmiot: Podstawy programowania Kierunek: Informatyka, Studia zaoczne dr inż. Olga Choreń

#include <iostream> Polsko – Japońska Wyższa Szkoła Technik Komputerowych w każdym programie w języku C++ musi być specjalna funkcja o nazwie main; od tej funkcji zaczyna się wykonywanie programu; instrukcje wykonywane w ramach tej funkcji zawarte są między dwoma nawiasami klamrowymi { }; operacje wejścia/wyjścia nie są częścią definicji języka C++ ; podprogramy odpowiedzialne za te operacje znajdują się w jednej ze standardowych bibliotek; jeżeli chcemy skorzystać w programie z takiej biblioteki, musimy na początku programu umieścić wiersz: #include <iostream> wówczas kompilator przed przystąpieniem do pracy nad dalszą częścią programu wstawi w tym miejscu tzw. plik nagłówkowy iostream. dr inż. Olga Choreń

Podaj wysokosc w stopach: 26 Wysokosc 26 stop – to jest 7.8 m Polsko – Japońska Wyższa Szkoła Technik Komputerowych /*------------------------------------------------------------------------------- Program przelicza wysokość podaną w stopach na wysokość podaną w metrach. ----------------------------------------------------------------------------------*/ #include "stdafx.h" #include <iostream> #include "conio.h " using namespace std; int main () { int stopy; // wysokość podana w stopach float metry; // wysokość w metrach float przelicznik = 0.3; // przelicznik: stopy na metry cout <<"Podaj wysokosc w stopach: "; cin >> stopy; // wczytanie wysokości w stopach // z klawiatury metry = przelicznik * stopy; cout << "\n"; cout << "Wysokosc " << stopy <<" stop - to jest " << metry <<" m\n"; _getch(); return 0; } Podaj wysokosc w stopach: 26 Wysokosc 26 stop – to jest 7.8 m dr inż. Olga Choreń

Polsko – Japońska Wyższa Szkoła Technik Komputerowych Zmienne Zmienną określa się jako pewien obszar pamięci o zadanej symbolicznej nazwie, w którym można przechować wartości; Wartości są interpretowane zgodnie z zadeklarowanym typem zmiennej; W języku C++ nazwą może być dowolnie długi ciąg liter, cyfr i znaków podkreślenia; Małe i wielkie litery są rozróżniane; Nazwą nie może być słowo kluczowe. dr inż. Olga Choreń

Instrukcje Instrukcja przypisania Zmienna = Wyrażenie Polsko – Japońska Wyższa Szkoła Technik Komputerowych Instrukcje Instrukcja przypisania Zmienna = Wyrażenie dr inż. Olga Choreń

Polsko – Japońska Wyższa Szkoła Technik Komputerowych Instrukcje sterujące W instrukcjach sterujących podejmowane są decyzje o wykonaniu tych lub innych instrukcji programu. Decyzje te podejmowane są w zależności od spełnienia lub niespełnienia określonego warunku, inaczej mówiąc od prawdziwości lub fałszywości jakiegoś wyrażenia. W języku C++ zdefiniowano specjalny typ określający zmienne logiczne ‑ czyli takie, które przyjmują wartości: prawda - fałsz. Jest to typ bool. Do przechowywania takiej informacji nadaje się również każdy inny typ. Zasada jest prosta: sprawdza się, czy wartość danego obiektu - np. zmiennej - jest równa 0, czy różna od 0. Wartość 0 - odpowiada stanowi fałsz. Wartość inna niż 0 - odpowiada stanowi prawda. dr inż. Olga Choreń

Instrukcja warunkowa if: Polsko – Japońska Wyższa Szkoła Technik Komputerowych Instrukcja warunkowa if: if (wyrażenie) instrukcja; lub if (wyrażenie) instrukcja_1; else instrukcja_2; { instrukcja_1; instrukcja_2; … instrukcja_n; } blok: dr inż. Olga Choreń

Zagnieżdżona instrukcja if...else: Polsko – Japońska Wyższa Szkoła Technik Komputerowych Zagnieżdżona instrukcja if...else: if ( warunek_1 ) instrukcja_1; else if ( warunek_2 ) instrukcja_2; else if ( warunek_3 ) instrukcja_3; .......................................; else instrukcja_N; dr inż. Olga Choreń

while (wyrażenie) instrukcja; Polsko – Japońska Wyższa Szkoła Technik Komputerowych Instrukcja while while (wyrażenie) instrukcja; najpierw obliczana jest wartość wyrażenia w nawiasach; jeśli wartość ta jest prawdziwa (niezerowa), to następuje wykonywanie instrukcji w pętli tak długo, aż wyrażenie przyjmie wartość zerową (fałsz); należy zwrócić uwagę, że wartość wyrażenia jest obliczana przed wykonaniem instrukcji. dr inż. Olga Choreń

Instrukcja do ... while do instrukcja while (wyrażenie); Polsko – Japońska Wyższa Szkoła Technik Komputerowych Instrukcja do ... while do instrukcja while (wyrażenie); instrukcja jest wykonywana w pętli tak długo póki wyrażenie ma wartość niezerową (prawda); z chwilą, gdy wyrażenie przyjmie wartość zerową (fałsz), działanie instrukcji zostaje zakończone. dr inż. Olga Choreń

Instrukcja for for (ini; wyraz_warunkowe; krok) instrukcja; Polsko – Japońska Wyższa Szkoła Technik Komputerowych Instrukcja for for (ini; wyraz_warunkowe; krok) instrukcja; ini - jest to instrukcja inicjująca wykonywanie pętli for; wyraz_warunkowe - jest to wyrażenie obliczane przed każdym obiegiem pętli. Jeśli jest ono różne od zera, to wykonana zostanie instrukcja będąca treścią pętli; krok - jest to instrukcja wykonywana na zakończenie każdego obiegu pętli. Jest to ostatnia instrukcja wykonywana bezpośrednio przed obliczeniem wartości wyrażenia warunkowego wyraz_warunkowe. dr inż. Olga Choreń

Działanie instrukcji for: Polsko – Japońska Wyższa Szkoła Technik Komputerowych Działanie instrukcji for: Najpierw wykonywana jest instrukcja inicjująca pracę pętli ini; Obliczane jest wyrażenie warunkowe; jeśli jest ono równe 0 - praca pętli jest przerywana; Jeśli wyrażenie warunkowe jest różne od 0, wówczas wykonywane zostaną instrukcje będące treścią pętli; Po wykonaniu treści pętli wykonana zostanie instrukcja krok, po czym następuje powrót do p. 2. dr inż. Olga Choreń

Uwagi: Instrukcji inicjujących ini może być kilka; Polsko – Japońska Wyższa Szkoła Technik Komputerowych Uwagi: Instrukcji inicjujących ini może być kilka; Wówczas muszą być one oddzielone przecinkami; podobnie jest w przypadku instrukcji kroku krok; Wyszczególnione elementy: ini, wyraz_warunkowe, krok nie muszą wystąpić; Dowolny z nich można opuścić, zachowując jednak średnik oddzielający go od sąsiada; Opuszczenie wyrażenia warunkowego jest traktowane tak, jakby stało tam wyrażenie zawsze prawdziwe. dr inż. Olga Choreń

Instrukcja switch switch (wyrażenie) { } Polsko – Japońska Wyższa Szkoła Technik Komputerowych Instrukcja switch switch (wyrażenie) { case wart_1 : {instrukcja_1; break;} case wart_2 : {instrukcja_2; break;} …. case wart_n : {instrukcja_n; break;} default : {instrukcja_n+1; break;} } dr inż. Olga Choreń

Działanie instrukcji switch Polsko – Japońska Wyższa Szkoła Technik Komputerowych Działanie instrukcji switch obliczane jest wyrażenie umieszczone w nawiasach po słowie switch; jeśli jego wartość odpowiada którejś z wartości podanej w jednej z etykiet case, wówczas wykonywane są instrukcje począwszy od tej etykiety. Wykonywanie ich kończy się po napotkaniu instrukcji break. Działanie instrukcji switch zostaje wówczas zakończone; jeśli wartość wyrażenia nie zgadza się z żadną z wartości podanych w etykietach case, wówczas wykonywane są instrukcje umieszczone po etykiecie default. etykieta default może być umieszczona w dowolnym miejscu instrukcji switch, nawet na samym jej początku. Co więcej, etykiety default może nie być wcale. Wówczas, jeśli w zbiorze etykiet case nie ma żadnej etykiety równej wartości wyrażenia, instrukcja switch nie będzie wykonana. instrukcje występujące po etykiecie case nie muszą kończyć się instrukcją break. Jeśli jej nie umieścimy, to będą wykonywane instrukcje umieszczone pod następną etykietą case. dr inż. Olga Choreń

Instrukcja break break; Polsko – Japońska Wyższa Szkoła Technik Komputerowych Instrukcja break break; instrukcja break jest używana również w instrukcjach pętli for, while, do…while; instrukcja break powoduje natychmiastowe przerwanie wykonywania tych pętli; jeśli mamy do czynienia z pętlami zagnieżdżonymi, to instrukcja break powoduje przerwanie tylko tej pętli, w której została bezpośrednio użyta; jest to więc przerwanie z wyjściem o jeden poziom wyżej. dr inż. Olga Choreń

Instrukcja goto goto etykieta; Polsko – Japońska Wyższa Szkoła Technik Komputerowych Instrukcja goto goto etykieta; instrukcja goto wykonuje skok do instrukcji opatrzonej wyspecyfikowaną etykietą; etykieta jest nazwą, po której występuje dwukropek; w języku C++ nie można wykonać skoku z dowolnego miejsca w programie do dowolnego innego miejsca; etykieta, do której wykonywany jest skok, musi leżeć w obowiązującym w danej chwili zakresie ważności. dr inż. Olga Choreń

Instrukcja continue continue; Polsko – Japońska Wyższa Szkoła Technik Komputerowych Instrukcja continue continue; instrukcja continue przydaje się wewnątrz pętli for, while, do...while; powoduje ona zaniechanie realizacji instrukcji będących treścią pętli, jednak (w odróżnieniu od instrukcji break) sama pętla nie zostaje przerwana; instrukcja continue przerywa tylko ten obieg pętli i zaczyna następny, kontynuując pracę pętli. dr inż. Olga Choreń

Klamry w instrukcjach sterujących Polsko – Japońska Wyższa Szkoła Technik Komputerowych Klamry w instrukcjach sterujących while (i < 4) { … } while (i < 4) { … } while (i < 4) { … } dr inż. Olga Choreń