Jerzy F. Kotowski1 Informatyka I Wykład 15 PIERWSZE KROKI.

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

C++ wykład 4 ( ) Przeciążanie operatorów.
Wskaźniki repetytorium Wskaźniki int Y = 1, X = 2; X = 5; int *p = &X; Y X p 4 4 p = &Y; *p = 4; 5.
Wzorce.
1 Wskaźniki w C Podstawy podstaw podstaw podstaw.....
formatowanie kodu źródłowego
Funkcje Modularyzacja : program główny , funkcje Funkcje :
Metody numeryczne Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Język C – Część II Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Podstawy informatyki Powtórka Grupa: 1A Prowadzący: Grzegorz Smyk
Podstawy informatyki Wirtotechnologia Grupa: 1A Wydział Inżynierii Metali i Informatyki Przemysłowej Wydział Odlewnictwa Akademia Górniczo – Hutnicza im.
Podstawy informatyki Informatyka stosowana Prowadzący: Grzegorz Smyk
Wskaźniki. Definiowanie wskaźników Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Real; Przykłady: Wskaźnik.
Tablice.
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Podstawy programowania PP – WYK5 Wojciech Pieprzyca.
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
O relacjach i algorytmach
Programowanie obiektowe III rok EiT
Jerzy F. Kotowski1 Informatyka I Wykład 7 STEROWANIE c.d. n switch n Pętle.
Jerzy F. Kotowski1 Informatyka I Wykład 9 TABLICE PREPROCESOR OPERATORY c.d. (nie tylko binarne)
Podstawy programowania
Informatyka I Wykład 5 OPERATORY Priorytety i kolejność obliczeń
Podstawy informatyki 2013/2014
Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Float; Przykład: Wskaźnik przechowuje adres obiektu wskazanego.
struct nazwa { lista składników }; Dostęp do składowych struktury Nazwa_Zmniennej_Strukturalnej. Nazwa_Składnika.
Podstawy informatyki 2012/2013
Podstawy programowania
Informatyka I Wykład 10 WSKAŹNIKI I ADRESY Jerzy F. Kotowski.
GOSPODARKA PAMIĘCIĄ, STRUMIENIE (i nie tylko)
TABLICE C++.
Jerzy F. Kotowski1 Informatyka I Wykład 11 STRUKTURY I UNIE.
Podstawy programowania
Jerzy F. Kotowski1 Informatyka I Wykład 8 STRUKTURA PROGRAMU n Funkcje n Klasy zmiennych n Projekt.
Podstawy programowania w języku C i C++
Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład VIII.
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
Algorytmy rekurencyjne - przykład
Programowanie obiektowe III rok EiT
STEROWANIE Ale nie tylko
Informatyka I Wykład 4 Stałe Stałe liczbowe Stałe znakowe Stałe tekstowe Jerzy Kotowski Politechnika Wroclawska var = 5L - 0xA; -5.
Inicjalizacja i sprzątanie
Jerzy Kotowski Politechnika Wrocławska
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Podstawy informatyki 2013/2014
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
jeszcze dygresja o macierzach...
Kurs języka C++ – wykład 3 ( )
Algorytmy i Struktury Danych
K URS JĘZYKA C++ – WYKŁAD 1 ( ) Łagodne wprowadzenie do języka C++
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.
1 Uzupełnienie dot. przekazywania argumentów #include struct nowa { int f; char line[20000]; int k; } reprezentant; int main() { void funkcja7( struct.
Wykład 4 Klasa Vec, której konstruktory alokują pamięć dla obiektów 1.Przykład definicji klasy Vec 2.Definicje konstruktorów i destruktora 3.Definicja.
PO13-1 / 19 Wykład 13 Wyjątki i ich zgłaszanie Wyłapywanie wyjątków Obsługa wyjątków Wykorzystanie polimorfizmu Filtrowanie wyjątków Błędy w konstruktorach.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
1 Opisy funkcji Adres strony WWW : html (należy odszukać hyperlink Function Index) (
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Informatyka Transport Matlab c.d. Macierze cd. Wykresy graficzne
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Budowa jamy ustnej
Opisy funkcji Adres strony WWW :
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Język C++ Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Jerzy F. Kotowski1 Informatyka I Wykład 15 PIERWSZE KROKI

Jerzy F. Kotowski2 Przykład 1 int *Ala[5]; - tablica wskaźników do liczb typu int int (*Ela)[5]; - Wskaźnik do 5-elementowej tablicy liczb typu int, czyli do obiektu, którym jest CAŁA TABLICA Podstawowa różnica to inna arytmetyka, np.: Ela++ - zwiększamy adres o jeden obiekt czyli o 5 liczb typu int Wykorzystanie: int Ala[10][5]; Ela = Ala; l Wniosek: Nazwa tablicy 2-wymiarowej jest adresem do jej zerowego wiersza. Tablice wielowymiarowe to tablice tablic.

Jerzy F. Kotowski3 Suma macierzy dwuwymiarowych #define N 2 - definicja stałej #define M 3 - definicja stałej int A[N][M], B[N][M], C[N][M]; - tablice NxM Należy napisać definicję funkcji suma_m, realizującej działanie C=A+B i takiej, że będzie się ją wywoływać przy pomocy instrukcji suma_m(A,B,C);. void suma_m(int (*p)[M],int (*q)[M],int (*r)[M]) { int i,j; for(i=0;i<M;i++) for(j=0;j<M;j++) r[i][j]= p[i][j]+ q[i][j]; } 15_1

Jerzy F. Kotowski4 Przykład 2 double (*Ola(double(*)[5]))[5]; Ola jest funkcją, której jedynym argumentem jest adres do 5 elementowej tablicy liczb typu double. Funkcja zwraca adres tego sameo typu. Ciekawostka: (*) Przykład użycia: double Ala[4][5]; - tablica o 5 kolumnach double (*Ela)[5]; - wskaźnik do tablicy 5-elementowej Ela = Ola(Ala); HELP!!!

Jerzy F. Kotowski5 Słowo kluczowe typedef cośtamcośtam ident; - Deklaracja obiektu o nazwie ident. Ogólnie - dowolny deklarator (również złożony). typedef cośtamcośtam ident; - definicja typu obiektowego o nazwie ident. Nowa nazwa znanego tworu. P1: typedef unsigned char byte; byte Ala; - Mniej pisania P2: typedef char string[51]; string Ala[10]; - Tablica 2-wymiarowa Ala[7][39]=e; - Oczywiste!! P3: typedef int *w_int; w_int Ela[10]; - Tablica 10 wskaźników

Jerzy F. Kotowski6 Przykład 2a double (*Ola(double(*)[5]))[5]; typedef double (*Ula)[5]; - definicja typu Ula Ola1(Ula); - prototyp funkcji l W tej chwili lepiej widać, że argument funkcji i zwracana wartość są obiektami tego samego typu double Ala[4][5]; - tak jak poprzednio double (*Ela)[5]; - tak jak poprzednio ………………………… Ela=Ola1(Ala); - wywołanie funkcji l Wywołanie funkcji IDENTYCZNE tak poprzednio. 15_2

Jerzy F. Kotowski7 Argumenty funkcji main Nagłówek funkcji main może mieć postać int main(void) albo int main(int argc, char *argv[]) l Interpretacja argumentów argc - liczba argumentów, z którymi wywołano program *argv[] - adres do tablicy adresów. To samo co **argv Jeżeli argc jest różne od zera to te argumenty są dostępne jako zakończone znakiem \0 napisy w elementach tablicy argv : argv[0], argv[1],…, argv[argc-1] argv[0] - nazwa użyta do wywołania programu argv[argc]==0 (NULL) - gwarancja standardu ANSI

Jerzy F. Kotowski8 Przykład 3 Chcemy napisać program, który wydrukuje na ekranie zawartość plików dyskowych o podanej nazwie: drukuj Inf_14_1.cpp Inf_15_2.cpp // program drukuj.cpp void drukowanie(char *s) {…………………………………} void main(int argc, char *argv[]) { int i; for(i=1;i<argc;i++) drukowanie(argv[i]); } napisz

Jerzy F. Kotowski9 KONIEC