Wykład 6_1 Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych
|
|
- Jacek Szczepaniak
- 6 lat temu
- Przeglądów:
Transkrypt
1 Wykład 6_ Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych Abstrakcyjny typ danych Klient korzystający z abstrakcyjnego typu danych: o ma do dyspozycji jedynie operacje typu wstaw(), usun(), wyszukaj() itp., o natomiast nie ma wglądu na typy danych, które w rzeczywistości zastosowano do przechowywania danych o nawet, jeśli zmieni się implementacja abstrakcyjnego typu danych a nagłówki funkcji nie zostaną zmienione, programy korzystające z tego typu pozostają bez zmian.. Stos algorytm Stos jest jednym z najważniejszych typów danych, które wstawiają i usuwają dane ze zbioru danych Przykłady zastosowań stosu: obliczanie wyrażenia postfiksowego, wyrażenia infiksowe (dwa stosy), przekształcenia wyrażenia infiksowego w postfiksowe itp Etap - Opis ADT Nazwa typu: Stos elementów Własności typu: Potrafi przechować ciąg elementów o dowolnym rozmiarze Dostępne działania: Inicjalizacja stosu Określenie, czy stos jest pusty Dodanie elementu do stosu, Usuwanie ze stosu, Etap - Budowa interfejsu typedef int dane; typ informacji umieszczanej na stosie typedef struct ELEMENT* stos; typ wskazania na element stosu struct ELEMENT typ elementu stosu dane Dane; stos Nastepny; ; Autor: Zofia Kruczkiewicz, p.35 C3 USM, Algorytmy i struktury danych, Wykład 6_
2 void Inicjalizacja(stos & Stos); działanie: inicjuje stos warunki wstępne: Stos wskazuje na pierwszy element warunki końcowe: stos zostaje zainicjowany jako pusty inline int Pusty(stos Stos) return Stos==; działanie: określa, czy stos jest pusty; typ inline, bo często wywoływana warunki wstępne: Stos jest zainicjowany, warunki końcowe: funkcja zwraca, jeśli stos pusty, w przeciwnym wypadku 0 int Wstaw( stos& Stos, dane Dana); działanie: dodaje element na początek ciągu, zwany szczytem stosu Stos warunki początkowe: Dana jest daną do wstawienia na szczyt zainicjowanego stosu warunki końcowe: jeśli to możliwe, funkcja dodaje daną Dana na szczyt stosu i zwraca wartość, w przeciwnym wypadku 0 dane Usun(stos& Stos); działanie: jeśli stos nie jest pusty, usuwa element ze szczytu stosu, czyli element ostatnio wstawiony do stosu warunki początkowe: Stos jest zainicjowanym niepustym stosem warunki końcowe: funkcja usuwa element na szczycie stosu i zwraca umieszczoną tam daną Autor: Zofia Kruczkiewicz, p.35 C3 USM, Algorytmy i struktury danych, Wykład 6_
3 Etap 3. Implementacja stosu za pomocą rekurencyjnej struktury danych void Inicjalizacja(stos& Stos) Stos = ; wstawianie elementów zawsze na początek struktury Stos A B Nowy Z Nowy Stos Z A B int Wstaw(stos& Stos, dane Dana) stos Nowy; Nowy = new ELEMENT; if (!Pusty(Nowy)) Nowy->Dane=Dana; else return 0; Nowy->Nastepny= Stos; Stos= Nowy; return ; usuwanie elementów zawsze na początku struktury Pom Stos Z A B Pom Stos Z A B dane Usun(stos& Stos) stos Pom; dane d; Pom = Stos; //zapamiętanie pierwszego elementu do usunięcia Stos = Stos->Nastepny; //odłączenie pierwszego elementu od listy d= Pom->Dane; //((*Pom).Dane) delete Pom; //usunięcie pierwszego elementu z pamięci return d; Autor: Zofia Kruczkiewicz, p.35 C3 3 USM, Algorytmy i struktury danych, Wykład 6_
4 Obliczanie wyrażeń postfiksowych za pomocą stosu Wyrażenie infiksowe (((+)*(3*))+(5*)) Wyrażenie postfiksowe + 3 **5 *+ Obliczanie wyrażenia postfiksowego + 3 **5 *+ (+ ) 3 **5 *+ 3 (3*)* 5 *+ (3* ) 5 *+ 36 (5 * ) Algorytm obliczania wyrażenia postfiksowego Ustaw i=0 Wykonuj, co następuje, aż zostaną wyczerpane znaki wyrażenia postfiksowego:.. Jeśli znakiem wyrażenia jest operator, to Usun ze stosu dwie kolejne dane, wykonaj działanie zgodne z operatorem i Wstaw wynik na stos o Jeśli znakiem jest cyfra, Wstaw na stos wartość 0 o Dopóki i-tym znakiem jest cyfra, wykonuj //oblicza wartość argumentu Usun ze stosu daną i pomnóż przez 0 oraz dodaj do tego wyniku wartość liczby jako jednocyfrowej wartości Wstaw tę wartość na stos Zwiększ licznik znaków wyrażenia o, i++.. Zwiększ licznik znaków wyrażenia o, i++ //opuszcza spację Operator Obliczenia Stos 3 + +=3 3 3 * *3= 3 3 * *3= * *5= =6 6 Autor: Zofia Kruczkiewicz, p.35 C3 USM, Algorytmy i struktury danych, Wykład 6_
5 #include <conio.h> #include <stdlib.h> #include <string.h> #include <stdio.h> Przykład programu //. interfejs ADT stosu typedef int dane; typedef struct ELEMENT* stos; struct ELEMENT dane Dane; stos Nastepny; ; //funkcje ADT stosu void Inicjalizacja(stos& Stos); inline int Pusty(stos Stos); int Wstaw(stos& Stos, dane Dana); dane Usun(stos& Stos); // dane umieszczone stosie //nazwa wskaźnika na element stosu //. funkcje we/wy dla danych umieszczonych na stosie void Pokaz_dane (dane Dana); //funkcja do wyświetlania danej dane Dane(); // funkcja do wprowadzania danej //3. funkcje ogolnego przeznaczenia void Komunikat(char*); //funkcja do wyświetlania komunikatów char Menu(const int ile, char *Polecenia[]); //funkcja do wyświetlania tablicy //łańcuchów zawierających menu programu i zwracająca naciśniety klawisz //. elementy programu const int Esc=7; const int POZ=5; char * Tab_menu[POZ] = " : Wstawianie do stosu- na poczatek", " : Usuwanie ze stosu-na poczatku", "3 : Wydruk stosu wraz z jego usuwaniem", " : Obliczanie wyrazenia postfiksowego", " >Esc Koniec programu"; //funkcja klienta korzystające ze stosu void Wyswietl_usun_ze_stosu(stos& Stos); //wyświetlanie stosu dane Oblicz(char* w, stos& Stos); //zastosowanie stosu do obliczenia wyrażenia //postfiksowego void main(void) Autor: Zofia Kruczkiewicz, p.35 C3 5 USM, Algorytmy i struktury danych, Wykład 6_
6 stos Stos; char Wybor; char w[9]= '5',' ','9','',' ','8','',' ','+','',' ','6',' ','*','*','7',' ','+','*'; dane Dana; clrscr(); Inicjalizacja(Stos); do Wybor= Menu(POZ, Tab_menu); switch (Wybor) case '' : Dana=Dane(); if (Wstaw(Stos, Dana)==0) Komunikat("Brak pamieci\n"); break; case '' : if (Pusty(Stos)) Komunikat("\nStos pusty\n"); else (Usun(Stos)); break; case '3' : if (Pusty(Stos)) Komunikat("\nStos pusty\n") ; else Wyswietl_usun_ze_stosu(Stos); break; case '' : printf("\n%d\n", Oblicz(w, Stos)); getch(); while (Wybor!=Esc ); //**************funkcje klienta korzystające ze stosu*********** void Wyswietl_usun_ze_stosu(stos& Stos) dane d; while (!Pusty(Stos)) d=usun(stos); Pokaz_dane(d); Autor: Zofia Kruczkiewicz, p.35 C3 6 USM, Algorytmy i struktury danych, Wykład 6_
7 dane Oblicz(char* w, stos& Stos) //wg Robert Sedgewick Algorytmy w C++ for ( int i=0;i<9; i++) if (w[i]=='+') Wstaw(Stos,Usun(Stos)+Usun(Stos)); if (w[i]=='*') Wstaw(Stos,Usun(Stos)*Usun(Stos)); if (w[i]>='0' && w[i]<='9') Wstaw(Stos,0); while(w[i]>='0' && w[i]<='9') Wstaw(Stos,0*Usun(Stos)+(w[i++]-'0')); return Usun(Stos); //*********funkcje interfejsu ADT stosu************ void Inicjalizacja(stos& Stos) Stos = ; inline int Pusty(stos Stos) return Stos==; int Wstaw(stos& Stos, dane Dana) stos Nowy; Nowy = new ELEMENT; if (!Pusty(Nowy)) Nowy->Dane=Dana; else return 0; Nowy->Nastepny= Stos; Stos= Nowy; return ; dane Usun(stos& Stos) stos Pom; dane d; Pom = Stos; Stos = Stos->Nastepny; d= Pom->Dane; //((*Pom).Dane) delete Pom; return d; Autor: Zofia Kruczkiewicz, p.35 C3 7 USM, Algorytmy i struktury danych, Wykład 6_
8 //*********funkcje ogólnego przeznaczenia************ char Menu(const int ile, char *Polecenia[]) clrscr(); for (int i=0; i<ile;i++) printf("\n%s",polecenia[i]); return getch(); void Komunikat(char* s) printf(s); getch(); //*******funkcje we/wy dla danych umieszczonych na stosie********* dane Dane() int a; do fflush(stdin); printf("\n\npodaj dane typu int: "); while (scanf("%d",&a)!=); return a; void Pokaz_dane(dane Dana) printf("\nnumer: %d\n", Dana); printf("nacisnij dowolny klawisz...\n"); getch(); Autor: Zofia Kruczkiewicz, p.35 C3 8 USM, Algorytmy i struktury danych, Wykład 6_
9 Etap 3. Implementacja stosu za pomocą tablicy wstawianie Stos Wstawianie do stosu -przed pierwszy 5 N tab 0 dane. Stos.pierwszy<N. int pierwszy=stos.pierwszy 3 Stos Wstawianie do stosu - po pierwszy 3 5 N tab 0 3 dane 3. Stos.tab[pierwszy]= Dana;. Stos.pierwszy++; 5. Stos.pierwszy!=0 int Wstaw(stos& Stos, dane Dana) if (Stos.pierwszy==N) return 0; //nie można wstawić do stosu, gdy jest pełen int pierwszy=stos.pierwszy++; Stos.tab[pierwszy]= Dana; return ; Autor: Zofia Kruczkiewicz, p.35 C3 9 USM, Algorytmy i struktury danych, Wykład 6_
10 Usuwanie ze stosu Stos Usuwanie do stosu - przed pierwszy tab 0 3 N 5 Dana. Stos.pierwszy!=0 3 Stos Usuwanie do stosu - po pierwszy tab 0 5 N Dana. int pierwszy=--stos.pierwszy 3. Dana=Stos.tab[pierwszy] 3 dane Usun(stos& Stos) dane d; int pierwszy= --Stos.pierwszy; //wyznaczenie indeksu elementu usuwanego ze stosu d= Stos.tab[pierwszy]; return d; Autor: Zofia Kruczkiewicz, p.35 C3 0USM, Algorytmy i struktury danych, Wykład 6_
11 Implementacja stosu za pomocą tablicy #include <conio.h> #include <stdlib.h> #include <string.h> #include <stdio.h> //. interfejs ADT stosu typedef int dane; // dane umieszczone stosie const long N=0; //rozmiar stosu struct stos //typ struktury stosu int pierwszy; //liczba elementów dane tab[n]; //tablica danych ; // interfejs stosu się nie zmienił, definicja zmieniła się!!! void Inicjalizacja(stos& Stos); inline int Pusty(stos Stos); int Wstaw(stos& Stos, dane Dana); dane Usun(stos& Stos); // Te funkcje się nie zmieniły ani nagłówki, ani definicja!!! //. funkcje we/wy dla danych umieszczonych na stosie void Pokaz_dane (dane Dana); dane Dane(); //3. funkcje ogolnego przeznaczenia void Komunikat(char*); char Menu(const int ile, char *Polecenia[]); //. elementy programu const int Esc=7; const int POZ=5; char * Tab_menu[POZ] = " : Wstawianie do stosu- na poczatek", " : Usuwanie ze stosu-na poczatku", "3 : Wydruk stosu wraz z jego usuwaniem", " : Obliczanie wyrazenia postfiksowego", " >Esc Koniec programu"; //funkcje klienta korzystajace ze stosu void Wyswietl_usun_ze_stosu(stos& Stos); dane Oblicz(char* w, stos& Stos); Autor: Zofia Kruczkiewicz, p.35 C3 USM, Algorytmy i struktury danych, Wykład 6_
12 void main(void) //tekst funkcji main się nie zmienił stos Stos; char Wybor; char w[9]='5',' ','9','',' ','8','',' ','+','',' ','6',' ','*','*','7',' ','+','*'; dane Dana; clrscr(); Inicjalizacja(Stos); do Wybor= Menu(POZ, Tab_menu); switch (Wybor) case '' : Dana= Dane(); if (Wstaw(Stos, Dana)==0) Komunikat("Brak pamieci\n"); break; case '' : if (Pusty(Stos)) Komunikat("\nStos pusty\n"); else (Usun(Stos)); break; case '3' : if (Pusty(Stos)) Komunikat("\nStos pusty\n") ; else Wyswietl_usun_ze_stosu(Stos); break; case '' : printf("\n%d %d\n",oblicz(w, Stos)); getch(); while (Wybor!=Esc ); //*********funkcje interfejsu ADT stosu************ void Inicjalizacja(stos& Stos) Stos.pierwszy = 0; inline int Pusty(stos Stos) return Stos.pierwszy==0; //stos jest pusty, gdy liczba elementów jest równa zero int Wstaw(stos& Stos, dane Dana) if (Stos.pierwszy==N) return 0; //nie można wstawić do stosu, gdy jest pełen int pierwszy=stos.pierwszy++; Stos.tab[pierwszy]= Dana; return ; dane Usun(stos& Stos) dane d; int pierwszy= --Stos.pierwszy; //wyznaczenie indeksu elementu usuwanego ze stosu d= Stos.tab[pierwszy]; return d; Autor: Zofia Kruczkiewicz, p.35 C3 USM, Algorytmy i struktury danych, Wykład 6_
13 . Pojęcie rekurencyjnych typów danych. Klasyfikacja struktur danych 3. Pojęcie abstrakcyjnego typu danych Podsumowanie. Pojęcie rekurencyjnych typów danych Przykład (Wirth N. Algorytmy + Struktury Danych = Programy, WNT 989) a) deklaracja modelu drzewa dziedziczenia: type osoba = record if znany then ( imię : alfa; ojciec, matka: osoba) end; b) opis reprezentacji zmiennej rodowód typu osoba: jeśli znany = False, to istnieje tylko pole znacznikowe znany równe False (F) jeśli znany = True (T), to istnieją jeszcze trzy pola (imię, ojciec, matka) c) przypadek danych: rodowód = (True, Jan, (True, Marek, (True, Adam, (False), (False) ), (False) ), (True, Maria, (False), (True, Ewa, (False), (False) ) ) ) Autor: Zofia Kruczkiewicz, p.35 C3 3USM, Algorytmy i struktury danych, Wykład 6_
14 . Klasyfikacja struktur danych Struktury danych można podzielić na: ) typy wymagające deklarowania rozmiarów - realizowane jako tablice lub struktury z bezpośrednim dostępem do każdego elementu tych struktur za pomocą operatorów indeksowania [ ] lub wyboru: -> oraz. ) typy nie wymagające deklarowania rozmiarów - rekurencyjne typy danych realizowane jako dynamiczne struktury danych z pośrednim dostępem do ich elementów. Rekurencyjny typ danych:.) zawiera elementy jako struktury.) używa wskaźników do wskazania następnego elementu typu,.3) używa dynamicznego przydziału pamięci dla swoich elementów.) algorytm dostępu do poszczególnych składowych tej struktury określa programista dzięki jawnemu użyciu wskaźników. ) uporządkowane: jako kryterium wstawiania danych do struktury jest ich wartość: drzewa poszukiwań binarnych, listy posortowane 3) nieuporządkowane: kryterium wstawiania danych do struktury dotyczy priorytetu danych: stosy, kolejki, listy nieposortowane, drzewa, grafy Dynamiczne przydzielanie pamięci zmiennej typ* p=new typ. P *P Wskaźnikowy model rekurencyjnych typów danych: Przykład Wskaźnikowy model rodowodu a) deklaracja typu struct osoba char imie [0]; osoba* ojciec, *matka; ; wskaźnikowa struktura rodowodu osoba* Poczatek; Poczatek Jan Marek Maria Adam Ewa Autor: Zofia Kruczkiewicz, p.35 C3 USM, Algorytmy i struktury danych, Wykład 6_
15 . Abstrakcyjne typy danych 3..Główne cechy typów danych stosowanych w programach: ) muszą być dostosowane do rozwiązywanego problemu ) muszą zawierać dwa rodzaje informacji:.) zbiór własności.) zbiór działań. Np. typ int własności: reprezentuje liczby całkowite o wartościach od do zakodowanych w kodzie dwójkowym na dwóch bajtach działania: zmiana znaku, dodawanie, mnożenie, dzielenie, modulo Trzy etapy procesu definiowania typów przez programistę [wg Stephen Prata - Szkoła programowania, Język C]: Przygotowanie opisu ADT (abstrakcyjnego typu danych). Abstrakcyjny opis obejmuje własności typu i operacji, jakie można na nim wykonać. Opis ten nie powinien być związany z żadną konkretną implementacją i językiem programowania. Ta formalna charakterystyka nosi nazwę abstrakcyjnego typu danych ADT. b) Opracowanie interfejsu programistycznego realizującego ADT - Jest to wskazanie sposobu przechowywania danych i opisanie zbioru funkcji wykonujących potrzebne operacje. W języku C/C++ etap ten może polegać na utworzeniu definicji struktury i prototypów funkcji przetwarzających. Funkcje te pełnią dla nowego typu tę samą rolę, co operatory w przypadku podstawowych typów języka C/C++. Utworzony interfejs będzie stosowany przez osoby, które chcą skorzystać z nowego typu danych Pisanie kodu implementującego interfejs Ten krok jest kluczowy, w którym należy szczegółowo zrealizować wymagania wynikające z opisu. Należy zauważyć, że programista korzystający z interfejsu nie musi już orientować się w szczegółach implementacji 3.3 Podsumowanie: Programista korzystający z abstrakcyjnego typu danych: może wielokrotnie używać utworzony typ danych w programach ma do dyspozycji jedynie operacje typu wstaw(...), usun(...), wyszukaj(...) natomiast nie ma wglądu na typy danych, które w rzeczywistości zastosowano do przechowywania danych dlatego nawet, jeśli zmieni się implementacja abstrakcyjnego typu danych a nagłówki funkcji nie zostaną zmienione, programy źródłowe korzystające z tego typu pozostają bez zmian. Autor: Zofia Kruczkiewicz, p.35 C3 5USM, Algorytmy i struktury danych, Wykład 6_
Etap 2 - Budowa interfejsu. typedef struct ELEMENT* stos; struct ELEMENT { dane Dane; stos Nastepny; }; struct kolejka { stos Poczatek, Koniec; };
Wykład 6_2 Abstrakcyjne typy danych kolejki. Implementacja za pomocą tablicy i rekurencyjnej struktury danych czyli listy wiązanej Etap 1 - Opis ADT Nazwa typu: Kolejka elementów Własności typu: Potrafi
Wykład 7 Abstrakcyjne typy danych słownik (lista symboli)
Wykład 7 Abstrakcyjne typy danych słownik (lista symboli) Definicja słownika: Słownik (tablica lub lista symboli) to struktura danych zawierająca elementy z kluczami, która pozwala na przeprowadzanie dwóch
Wykład 7 Abstrakcyjne typy danych kolejka priorytetowa
Wykład 7 Abstrakcyjne typy danych kolejka priorytetowa Definicja kolejki priorytetowej: Kolejka priorytetowa to struktura danych zawierająca elementy z kluczami, która pozwala na przeprowadzanie dwóch
1. Abstrakcyjne typy danych
1. Abstrakcyjne typy danych 1.1.Glówne cechy typów danych stosowanych w programach: 1) musza byc dostosowane do rozwiazywanego problemu 2) musza zawierac dwa rodzaje informacji: 2.1) zbiór wlasnosci 2.2)
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Funkcje przetwarzające teksty (biblioteka ) - tworzenie własnych
Wykład 1_2 Algorytmy sortowania tablic Sortowanie bąbelkowe
I. Struktury sterujące.bezpośrednie następstwo (A,B-czynności) Wykład _2 Algorytmy sortowania tablic Sortowanie bąbelkowe Elementy języka stosowanego do opisu algorytmu Elementy Poziom koncepcji Poziom
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ę
Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe
Algorytmy i złożoności Wykład 3. Listy jednokierunkowe Wstęp. Lista jednokierunkowa jest strukturą pozwalającą na pamiętanie danych w postaci uporzadkowanej, a także na bardzo szybkie wstawianie i usuwanie
Materiał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach
Materiał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach 27 kwietnia 2012 Wiedząc, że deklarowanie typu rekordowego w języku C/ C++ wygląda następująco: struct element
np. dla p=1 mamy T1(N) N/2 średni czas chybionego wyszukiwania z prawdopodobieństwem q:
Wykład 4 Wyszukiwania w tablicach posortowanych 1. Wyszukiwanie sekwencyjne w tablicy posortowanej 2. Wyszukiwanie binarne bez powtórzeń 3. Wyszukiwanie binarne z powtórzeniami 1 2 3 4 5 6 7 8 9 10 11
Co nie powinno być umieszczane w plikach nagłówkowych:
Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct
Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres: Funkcje czyli wieloużywalność kodu Omówienie przekazywania argumentów: "przez
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
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,
TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;
Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst
Ćwiczenie 5 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 5 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Arytmetyka wskaźników, konwersja (rzutowanie) wskaźników Ćwiczenia z dostępu
Języki i metody programowania Java INF302W Wykład 2 (część 1)
Języki i metody programowania Java INF302W Wykład 2 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 2, część 1 1 Struktura wykładu 1. Identyfikacja
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,
ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje
Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ 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,
Wstęp do wskaźników w języku ANSI C
Wstęp do wskaźników w języku ANSI C / Materiał dydaktyczny pomocniczy do przedmiotu Informatyka sem.iii kier. Elektrotechnika/ 1. Wprowadzenie W języku ANSI C dla każdego typu X (wbudowanego, pochodnego,
Wstęp do programowania 1
Wstęp do programowania 1 Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Struktura dla dat - przykład #include struct Date { int y; short m; short
Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady
Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy
KOLEJKA (QUEUE) (lista fifo first in, first out)
KOLEJKA (QUEUE) (lista fifo first in, first out) Kolejki są listami, których elementy można wstawiać z jednego końca (rear-tył) a usuwać z drugiego (front - przód). Operacje: 1. MAKENULL(Q) czyni kolejkę
Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
Szablony klas, zastosowanie szablonów w programach
Szablony klas, zastosowanie szablonów w programach 1. Szablony klas i funkcji 2. Szablon klasy obsługującej uniwersalną tablicę wskaźników 3. Zastosowanie metody zwracającej przez return referencję do
Wykład 9 - struktury rekurencyjne uporządkowane
Wykład - struktury rekurencyjne uporządkowane 1. Zstępujące drzewa 2--4 2. Drzewa wyważone czerwono-czarne. B-drzewa - - wyszukiwanie zewnętrzne Autor: Zofia Kruczkiewicz, p.25 C USM, 1 Algorytmy i struktury
E S - uniwersum struktury stosu
Temat: Struktura stosu i kolejki Struktura danych to system relacyjny r I r i i I U,, gdzie U to uniwersum systemu, a i i - zbiór relacji (operacji na strukturze danych). Uniwersum systemu to zbiór typów
Ćwiczenie 3 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 3 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Podstawowe algorytmy przetwarzania tablic (wypełnianie, porównywanie elementów,
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
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal
Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja
Wykład 5_2 Algorytm ograniczania liczby serii za pomocą kopcowego rozdzielania serii początkowych
Wykład 5_2 Algorytm ograniczania liczby serii za pomocą kopcowego rozdzielania serii początkowych Założenia: 1. Pamięć wewnętrzna ma ograniczone rozmiary 2. Pamięć zewnętrzna ma rozmiary nieograniczone
// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.
Wykład 10 Przykłady różnych funkcji (cd) - przetwarzanie tablicy tablic (tablicy "dwuwymiarowej") - sortowanie przez "selekcję" Dynamiczna alokacja pamięci 1 // Liczy srednie w wierszach i kolumnach tablicy
Programowanie Proceduralne
Programowanie Proceduralne Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Co dziś będzie: Definiowanie struktury Deklarowanie zmiennych bȩda cych strukturami
Projektowanie klas c.d. Projektowanie klas przykład
Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej
tablica: dane_liczbowe
TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica
Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!
Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Krzysztof Grudzień kgrudzi@kis.p.lodz.pl! Zbigniew Chaniecki zch@kis.p.lodz.pl 1 program zajęć - wykład Podstawowe pojęcia
int tab_a [ 2 ] [ 3 ];
// PROGRAM 4_1 - Przyklady dynamicznego tworzenia // i usuwania tablicy dwuwymiarowej int [2][3] #include void main(void) //------------------------------ Przyklad A -------------------------------------------
struct Student { char nazwisko[30]; int wiek; float ocena; }; #define MAX_ROZMIAR 3 Student lista_studentow[max_rozmiar];
PRZYKLAD p_30.cpp Przykladowa implementacja "listy studentów" z porzadkowaniem wedlug róznych kryteriów zaimplementowanym poprzez "fizyczne" sortowanie danych oraz poprzez sortowanie "logiczne" za pomoca
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt
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
i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje
Wykład 3 Składnia języka C# (cz. 2)
Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest
WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński
WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================
Wstęp do programowania
Wieczorowe Studia Licencjackie Wrocław, 9.01.2007 Wstęp do programowania Wykład nr 13 Listy usuwanie elementów Poniżej prezentujemy funkcję, która usuwa element o podanej wartości pola wiek z nieuporządkowanej
Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1
Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).
Temat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
Struktury. Przykład W8_1
Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla
Wstęp do programowania
wykład 10 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Przesyłanie argumentów - cd Przesyłanie argumentów do funkcji - tablice wielowymiarowe Przekazywanie tablic wielowymiarowych
Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
WYKŁAD 9. Algorytmy sortowania elementów zbioru (tablic) Programy: c4_1.c... c4_3.c. Tomasz Zieliński
WYKŁAD 9 Algorytmy sortowania elementów zbioru (tablic) Programy: c4_1.c... c4_3.c Tomasz Zieliński /* Przyklad 4.1 - SORTOWANIE TABLIC - metoda najprostsza */ #include #define ROZMIAR 11 void
Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)
Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013
Język C zajęcia nr 11. Funkcje
Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji
ZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
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
( wykł. dr Marek Piasecki )
INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie
Funkcja (podprogram) void
Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji
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,
Podstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie
Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik
Wykład X Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2016 c Copyright 2016 Janusz Słupik Drzewa binarne Drzewa binarne Drzewo binarne - to drzewo (graf spójny bez cykli) z korzeniem (wyróżnionym
Wskaźniki. Informatyka
Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą
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
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
Programowanie i struktury danych
Programowanie i struktury danych 1 / 19 Dynamiczne struktury danych Dynamiczną strukturą danych nazywamy taka strukturę danych, której rozmiar, a więc liczba przechowywanych w niej danych, może się dowolnie
Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1
PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,
Wskaznik. Przekazywanie wyniku funkcji przez return. Typy i zmienne wskaznikowe. Zmienna wskazywana. typ * nazwa_wkaznika
Wyklad 6 Typy i zmienne: wskaznikowe, referencyjne Funkcje deklaracja, definicja. Zasieg deklaracji i widocznosc zmiennych Przekazywanie parametrów przez wartosc, referencje i wskaznik Przekazywanie wyniku
JAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Programowanie komputerowe. Zajęcia 4
Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości
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
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
C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU
Inicjalizacja agregatowa zmiennej tablicowej int a[5] = 1,2,3,4,5 INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Struktury są również agregatami, dlatego: struct X double f; char c; X x1 = 1, 2.2, 'c' Ale
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziesiąta Rekordy w C/C++ struktury Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera skrót
Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki
Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:
KURS C/C++ WYKŁAD 8. Deklaracja funkcji informuje komplilator jaką wartość funkcja będzie zwracała i jakiego typu są jej argumenty.
Funkcje. Deklaracja funkcji: KURS C/C++ WYKŁAD 8 #include //deklaracje funkcji: printf(...), scanf(...) #include //double sqrt (double ) #include //void clrscr (void) void main
Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie Krzysztof Banaś Podstawy programowania 1 są sposobem na przechowywanie w ramach pojedynczej zmiennej zestawu zmiennych różnych typów,
Wskaźniki w C. Anna Gogolińska
Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja
WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5
WYKŁAD 10 Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 Tomasz Zieliński ZMIENNE O ZŁOŻONEJ BUDOWIE (1) Zmienne
Szablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
PROGRAMOWANIE OBIEKTOWE W C++ cz. 2. Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów.
PROGRAMOWANIE OBIEKTOWE W C++ cz. 2 Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów. Dziedziczenie Dziedziczenie jest to technika pozwalaj c na definiowanie nowej klasy przy wykorzystaniu
Języki programowania - podstawy
Języki programowania - podstawy Andrzej Dudek Wydział Techniczno Informatyczny W Jeleniej Górze Dudek A. Informatyka przemysłowa tendencje i wyzwania 26.10.2015 1 /24 Algorytm określony sposób rozwiązania
Wyklad 7 Funkcje (c.d.). Tablice jednowymiarowe znaków
Wyklad 7 Funkcje (c.d.). Tablice jednowymiarowe znaków Nie wolno definicji funkcji zagniezdzac w ciele innej funkcji! Funkcje bez parametrów musza korzystac ze zmiennych globalnych, jesli zachodzi potrzeba
C-struktury wykład. Dorota Pylak
C-struktury wykład Dorota Pylak C-struktury W języku C++, jak w każdym języku obiektowym, mamy możliwość definiowania własnych typów danych, wraz z określeniem operacji, jakie na tych danych można wykonywać.
Podstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Języki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków
Strategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
Dynamiczne struktury danych
Dynamiczne struktury danych 391 Dynamiczne struktury danych Przez dynamiczne struktury danych rozumiemy proste i złożone struktury danych, którym pamięć jest przydzielana i zwalniana na żądanie w trakcie
Kontrola przebiegu programu
Kontrola przebiegu programu Wykład 9 Instrukcje sterujące: pętle rozgałęzienia skoki PRZYPOMINAJKA Zadanie : Zaprojektuj rekurencyjny przepis na wyznaczenie największej takiej liczby m, że 2 m jest podzielnikiem
Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Język C++ zajęcia nr 2
Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator
TEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Ćwiczenie nr 3. Temat: Definicje i wykorzystanie funkcji, parametry funkcji
Ćwiczenie nr 3 Temat: Definicje i wykorzystanie funkcji, parametry funkcji Zagadnienia: Definicja funkcji składnia podstawowa. Sposoby przekazania parametrów (argumentów) funkcji: przez wartość, przez
Algorytmy i język C++
Wykład 6 Wskaźniki Wskaźnik nie przechowuje wartości zmiennej ale, podobnie jak tablica, wskazuje miejsce w pamięci, w którym znajduje się zmienna danego typu. W poniższym przykładzie symbol * pomiędzy
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++
Część 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. 1. Identyfikator funkcji,
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