pi 04

background image

Wykład 4

• Strukturalne typy danych

• Tablice
• Tablice znaków (napisy)
• Struktury
• Pliki

background image

Typ tablicowy

Deklarowanie zmiennych:

int t1[10];

double t2[3][4];

int t[ ] = { 0,3,3,6,1,4,6,2,5,0,3,5 };

Odwołanie do elementów:

t1[a+3]=t1[a+4];

Cechy:

• statyczny rozmiar

• elementy indeksowane (numerowane) od 0

Problemy:

• odwołanie poza obszar tablicy

background image

Tablice znaków (napisy)

Stałe napisowe:

write(’to jest tekst’);

Pascal

printf(”to jest tekst”);

Język C

cout << ”to jest tekst”;

Język C++

Deklarowanie:

char buf[11];

char imie[] = ”Jola”;

Operacje we/wy:

cin >> buf;

cout << buf; Uwaga na spacje!

Reprezentacja:

0 1 2 3 4 5 6 7 8 9 10

J o l a \0

background image

Operacje na łańcuchach

Deklarowanie:

var

a,b : string[10];

Składanie:

a:=’jeden’;
b:=’dwa’;
a:=b+b;

Wczytywanie i wypisywanie:

write(a);

dwadwa

write(b[2]);

w

read(a);

Porównywanie:

if a<>b then write(’różne’);

background image

Operacje na łańcuchach c.d.

Przykładowe funkcje:

length(s:string):integer
pos(sub:string; s:string):byte
concat(s1, [s2..sn]:string):string
copy(s:string; ind:integer; count:integer):string

Przykładowe procedury:

insert(s1:string; var s:string; ind:integer)
delete(var s:string; ind:integer; count:integer)

background image

Struktury (Rekordy)

Definiowanie:

struct zespolona

{

double re;

double im;

};

Deklarowanie zmiennych:

zespolona z1,z2;

zespolona t[100];

Nadawanie wartości:

z1.re=5;

z1.im=6;

background image

Struktury - przykład

struct data

{

int dzien;

int miesiac;

int rok;

};

struct osoba

{

char imie[20];

char nazwisko[30];

data urodziny;

bool kobieta;

};

background image

Struktury - przykład

Przypisania:

Podstawienie rekordów:

Dostęp:

2/2

rob.imie := ‘Jola’;
rob.urodziny.dzien := 7;
rob.urodziny.miesiac := 6;
rob.kobieta := true;

tab[1] := rob;

if tab[1].kobieta then write(tab[1].imie);

background image

Pliki

Dostęp do pliku:

• sekwencyjny (taśmy)

• swobodny (dyski)

Struktura o elementach tego samego typu

Operacje:

#include <fstream>

ofstream wyjscie(”wyniki.txt”);

wyjscie << x1 << ” ” << x2;

wyjscie.close

eof

background image

Pliki

Obsługa błędów:

#include <fstream>

int a,b;

ifstream wejscie(”dane.txt”);

if (!wejscie)

{

cout << ”nie mogę otworzyć pliku”;

return 1;

}

wejscie >> a >> b;

wejscie.close;

wyjscie << a << ” ” << b;

background image

Operacje wykonywane na plikach

Deklarowanie

var

f : file of T;

Procedury i funkcje:

assign(f, nazwa); (open, fopen)

reset(f);
rewrite(f);
read(f, zm);
write(f, zm);
close(f);
eof(f);
seek(f, pos);

background image

Pliki tekstowe

Deklarownie:

var f : text;

{file of char}

Procedury i funkcje:

readln( )

writeln( )
eoln( )

Znak końca linii:

• DOS CR LF
• UNIX LF
• MacOS CR

background image

Kopiowanie pliku tekstowego

assign(f1,’plik1.txt’);
assign(f2,’plik2.txt’);
reset(f1);
rewrite(f2);
while not eof(f1) do
begin

while not eoln(f1) do
begin

read(f1,ch);
write(f2,ch)

end;
readln(f1);
writeln(f2)

end;
close(f1);
close(f2);


Wyszukiwarka

Podobne podstrony:
PI 04 DOC
Wykład 04
04 22 PAROTITE EPIDEMICA
04 Zabezpieczenia silnikówid 5252 ppt
Wyklad 04
Wyklad 04 2014 2015
04 WdK
04) Kod genetyczny i białka (wykład 4)
2009 04 08 POZ 06id 26791 ppt
2Ca 29 04 2015 WYCENA GARAŻU W KOSZTOWEJ
04 LOG M Informatyzacja log
04 Liczby ujemne i ułamki w systemie binarnym
UE i ochrona srodowiska 3 04 2011
04 QueryByExample Access

więcej podobnych podstron