INFORMATYKA

INFORMATYKA WYKŁAD

KOD BINARNY PROSTY

27 (128) 26 (64) 25 (32) 24 (16) 23 (8) 22 (4) 21 (2) 20 (1)
1 1 1 1 1 1 1 1

Najmniejszą liczbą całkowitą przedstawioną za pomocą kodu binarnego jest 0, największa zależy od długości stosowanego ciągu binarnego, w ogólności dla n-bitowego ciągu mamy 2n − 1

74110= 7•102 + 4 • 101 + 1•100

10112 = 1• 23 + 0 •22 + 1•21 + 1•20

KOD UZUPEŁNIENIOWY
Wynik odejmowania i dodawania wartości uzupełnionej są identyczne po odrzuceniu przeniesienia z pozycji najbardziej znaczącej.
Kod uzupełnieniowy jest powszechnie wykorzystywany w operacjach arytmetycznych gdyż urządzenie sumujące może być jednocześnie odejmującym. Z punktu widzenia zależności podzespołów jednostek arytmetycznych jest to poważną zaletą.

ZAPIS ZMIENNOPOZYCYJNY
Liczba zmiennopozycyjna składa się z dwóch części: ułamka M, zwanego mantysą, liczby całkowitej C, zwanej cechą. Dziesiętny odpowiednik takiej liczby wynosi W(10) = M(10)  •  2C(10). Format ten umożliwia przedstawienie liczb dziesiętnych w zakresie:
−22L − 1 < X(10) < 22L − 1 – 1
mantysa (ułamek) zajmuje 3 bajty, cecha(liczba całkowita) zajmuje 1 bajt (1bajt = 8 bitów) -> łącznie 4 bajty

Dla jednobitowej cechy (L=8) otrzymamy mnożnik cechę 2127 ≈  1038 (typ single).
Zakres reprezentowanych wartości jest bardzo duży. Odbywa się to kosztem zmniejszenia dokładności przedstawienia liczy, która jest uzależniona od okrojonej przez bity cechy, długości mantysy. Dodatkowym problemem są braki reprezentacji.

Przepełnieniem nazywa się przekroczenie przez wynik operacji arytmetycznej zakresu wartości reprezentowanej przez ciąg binarny o zadanej długości i z użyciem określonego kodu.

N – pozycja w ciągu bitowym zakres MIN zakres MAX TYP
8 0 255 byte
16 0 65535 word
32 0 232 – 1 longword
8 -128 127 shortint
16 -32768 32767 smallint
32
−231
231 - 1 integer


ZDJĘCIE 1

var – deklaracja zmiennych

procedure
var x,y,z:single;
Begin
x:=strtofloat(Edit1.Text);
y:=strtofloat(Edit2.Text);
z:=x+y;
Panel1.Caption:=floattostr(z);
end;

ADRES FIZYCZNY

kod szesnastkowy

0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111

8 1000
9 1001
a 1010
b 1011
c 1100
d 1101
e 1110
f 1111

ADRES SIECIOWY

Podstawy:

Podstawy – budowa programu:

Typy napisowe

TYP NAJWIĘKSZA DŁUGOŚĆ WYKORZYSTYWANY DO
ShortString 255 znaków zachowania kompatybilności z poprzednimi środowiskami
AnsiString (string) ~ 2^31 znaków zapisu 8 bitowych znaków ANSI
WideString ~2^30 znaków zapisu znaków z użyciem Unikodu

var nazwisko, imię: shortstring;
begin
nazwisko:=’Kowalski’;
imię:=’Jan’;
nazwisko:=’nazwisko –‘ + nazwisko + ‘imię –‘ + imię;

!!! coś zamkniętego w apostrofy to STAŁA ALFANUMERYCZNA np. ‘nazwisko’

OPERATORY
Wszystkie operatory można podzielić na pięć kategorii; stosownie do kolejności realizowanych operacji są to:
- JEDNOARGUMENTOWY OPERATOR ZMIANY ZNAKU;
- JEDNOARGUMENTOWY OPERATOR NOT;
- OPERATOR TYPU MNOŻENIE: *, /, div, mod, AND, shl ,shr;
- OPERATOR TYPU DODAWANIE: +, -, OR, XOR;
- OPERATOR RELACJI: =, <>, >=, >, <=, <, IN;

ZDJĘCIE 2

INSTRUKCJA PODSTAWIANIA
Służy do nadania wartości zmiennej bądź właściwości. Podstawienie możliwe jest tylko w przypadku zgodności typów elementu określonego (po lewe stronie operatora podstawienia :=) i typy wartości wyrażenia stojącego po prawej stronie. Odstępstwem od tej reguły jest przypisanie zmiennej rzeczywistej wartości typu całkowitego. Zgodność typów można osiągnąć poprzez wykorzystywanie jednej z funkcji zmiany reprezentacji lub poprzez operacji rzutowania.

INSTRUKCJA WARUNKOWA
Specyfikuje operacje, które mogą zostać wykonane w przypadku spełnienia pewnego warunku.
if warunek then instrukcja;
Możliwa jest również specyfikacja operacji dla nieprawdziwości warunku w konstrukcji.
if warunek then instrukcja_dla prawdy else instrukcja_dla fałszu;
Należy zwrócić uwagę na brak średnika przed słowem else.
Słowo warunek oznacza wyrażenie, którego wynik jest typu boolowskiego. Przykładami poprawnych instrukcji warunkowych są:

1. if x>y then x:=x+3;
2. if znaleziono then zmien(p,q);
3. if (suma>2) and (suma<20) then
begin
suma:=0.9*suma;
x:=11
end;

NAWIASY PROGRAMOWE
Pod pojęciem instrukcja (instrukcja_dla_...) rozumie się pojedynczą operację, lecz również dowolną ich ilość zamkniętą w nawiasy programowe begin end;

Przykład.
Jeżeli x jest większe od y to zwiększ Z o 10 a W zmniejsz o 2, w przypadku przeciwnym zmniejsz Z o 10 a W zwiększ o 2.
if x>ythen
begin Z:Z+10; W:=W-2 end
end
begin Z:Z-10; W:=W+2 end;

INSTRUKCJA FOR
Na przykład:
suma:=0;
for i:=2 to 12 do
if i AND 1=1 then suma:suma+i;

Instrukcja ta powoduje, że całkowita zmienna sterująca przyjmuje kolejne wartości z przedziału wyznaczonego przez wartość początkową i końcową. Dla każdej nowej wartości tej zmiennej realizowana jest instrukcja umieszczona po słowie do.

Na przykład:

suma:=0; iloczyn:=1;
for i:=1 to 10 do
begin
suma:=suma+i;
iloczyn:=iloczyn* i div 2
end;

Instrukcja ta powoduje, że zmienna sterująca, przyjmuje kolejne wartości z przedziału <1,10>. Dla każdej wartości tej zmiennej realizowane są dwie instrukcje umieszczone po słowie do.

INSTRUKCJA ITERACYJNA FOR (inna postać)
Przykład konstrukcji operującej na elementach zbioru:
for element in Zbior do … ;
for a in memo1.lines do … ;

Formuła, która sumuje wszystkie wartości z komponentu (przy wykorzystaniu komponentu Memo)
procedure TForm1.Panel1Click…
var ELEMENT: string; suma: integer;
Begin
suma:=0;
for ELEMENT in Memo1.lines do
suma:= suma+ strtoint(ELEMENT);
Panel1.Caption:=’suma równa’ = inttostr(suma);

TABLICA jest:
uporządkowaną kolekcją danych określonego typu. Każdy element posiada ściśle określoną pozycję w ramach kolekcji. Popularnie o takich zbiorach danych mówi się jak o tablicach lub macierzach. Tablice mogą być jedno-, dwu- lub wielowymiarowe. Liczba wymiarów może być dowolna.

Deklaracja tablicy:
var
nazwa: array[zakres_wskaźników] of typ_elementu;

Tablice – wskaźniki:
Zakres wskaźników okesla rozmiar tablicy oraz identyfikatory kolejnych elementów i najczęściej występuje w postaci dolny_wskaźnik.. górna_wskaźnik. Gdzie dolny_wskaźnik oznacza indeks pierwszego a górny_wskaźnik ostatniego elementu w pewnym wymiarze. Indeksy muszą być podane jako stałe.
np.
var tab.:array[1..5] of smallint;
deklaruje pięcioelementową tablicę, w której pierwszy wyraz ma numer 1 a ostatni 5.

W tablicach wielowymiarowych liczba zakresów wskaźników oddzielonych od sieba przecinkami wskazuje na wymiary.
Deklaracja:
var
mojainnatab:
array[1..10,-1..1] of
integer;
nakazuje zarezerwować miesce na dziesięciowierszową i trójkolumnową macierz, w której pierwszy wyraz ma nr 1 a pierwsza kolumna nr -1.

CIĄG ZNAKOWY
Specjalnym typem tablicowym jest ciąg znakowy zwany stringiem. Elementami takiego ciągu są znaki.
Deklaracja:
var napis: shortstring;
begin napis:= ’ALA MA KOTA’
rezerwuje miejsce na ciąg znaków złozony z 11 elementów. Pierwszy znak zawsze posiada numer 1.

Kody ALFANUMERYCZNE (wszystkie teksty) – kod ASCII lub UNICODE.

Zdjęcie 3

PROCEDURY I FUNKCJI
Stanowią podstawową konstrukcję programistyczną umożliwiającą modularyzację programu. Programy komputerowy mogą mieć tysiące wierszy kodu. Konieczne staje się wyodrębnienie fragmentów kodu stanowiących logiczną całość.

FUKNKCJA
Funkcja to procedura, która poza wykonaniem kodu oblicza pewną wartość – wynik funkcji – nadawany w trakcie wykonania jej identyfikatorowi, tak jak zmiennej.

Nagłówek procedury
procedure
nazwa_procedury
(lista_parametrów)
przy czym:

Nagłówek funkcji
powinien być zgodny ze schematem:
function nazwa_funkcji
(lista_parametrów): typ_wyniku;

Przykład poprawnego nagłówka procedury i funkcji:

procedure zmienna (var x, y: integer);
function szukanie (x:real):real;

Nagłówek metody (procedury, funkcji)
skrojone z pewną klasą

procedure nazwa_klasy, nazwa_procedury
(lista_parametrów)
function nazwa_klasy, nazwa_funkcji
(lista parametrów): typ_wyniku;
LISTA MOŻE BYĆ PUSTA
CHARAKTERYSTYCZNA JEST SPECYFIKACJA TYPU ZWRACANEJ WARTOŚCI
Przykład poprawnych nagłówków funkcji i procedury (metod):
function Topendialog.execute: boolean;
procedury Tstringlist.sort;
W implementacji metody pojawia się nazwa klasy.

Definicja metody wymaga wskazania klasy formy.
Metody związane są z klasami, deklaracja metody ma miejsce w ramach definicji klasy. Procedury a także funkcje, które mają być traktowane w tradycyjny sposób należy deklarować poza definicjami klasy.

Implementacja metody wymaga wskazania klasy. Wywołanie zaś metody wiąże się z koniecznością wskazania obiektu, do którego metoda należy. Metody są ściśle związane z konkretnymi strukturami, instancjami zbudowanymi w oparciu o zdefiniowane klasy.

Parametry procedury lub funkcji

Przekazywanie parametrów przez wartość

Nagłówek procedury – w deklaracji parametrów formalnych NIE MA słowa VAR.
np.
procedure moja(x: integer);
wywołanie procedury – przykłady:
moja(45 div suma);
moja(15);
Parametrem aktualnym jest dowolne wyrażenie zwracające wynik stosowanego typu.
Zmiany dokonywane na wartości parametru nie widoczne są w bloku wywołującym.

Przekazywanie parametrów przez adres
Nagłówek procedury – w deklaracji parametrów formalnych występuje słowo kluczowe VAR.
np.
procedure inna(var param: integer);
Wywołanie procedury – przykłady:
innap(suma);
inna(xxy);
niepoprawnie: inna(45);
Parametrem aktualnym może być tylko element (zmienna) stosowanego typu.
Wyrażenie nie jest dopuszczalne.
Zmiany dokonane na wartości parametru są widoczne w bloku wywołującym.

PROCEDURA PODSTAWIANIA WARTOŚCI
procedure zmien(var x, y: integer);
var p: integer;
begin
p:= x; x:=y; y:=p
end;

PRZECIĄŻENIE FUNKCJI I PROCEDUR
W tym samym modelu można zdeklarować procedury lub funkcje o identycznych nazwach lecz o różnych listach patametrów.
function podziel(x,y: real): real; overload;
begin
result:= x/y;
end;
function podziel(x,y: integer): integer; overload;
begin
result:= x div y;
end;

Poprzednie deklaracje tworzą dwie funkcje o nazwie podziel lecz o różnych zbiorach parametrów formalnych. W momencie wywołania kompilator na podstawie parametrów aktualnych określa, który kod będzie uaktywniony.
np.
podziel(6.0,3.0)
wywoła pierwszą funkcję gdyż argumenty wywołania są rzeczywiste.

Wykorzystanie metody – funkcji
Przykładem nich będzie konstrukcja warunkowa:
if opendialog.execute then … ;
Metoda o nazwie EXECUTE, która jest funkcją, obiektu opendialog wyświetla okno wyboru plików i zwraca wartość boolowską true wtedy kiedy użytkownik wybrał potrzebną mu pozycję i nacisnął Otwórz. Funkcja zwraca wartość false gdy zrezygnowano z wyboru, naciskają przycisk Anuluj lub zamykając okno przy pomocy przycisku systemowego z ikoną X. Jako funkcje zaimplementowano większość odwołań systemowych. Zwracana wartość najczęściej pozwala na identyfikację przyczyn niepowodzenia.

Klasa Tmojaklasa
demonstracja wykorzystania koncepcji programowania obiektowego

przykłady klasy rozszerzonej funkcjonalność klasy bazowej Tstringlist w zakresie możliwości wyboru porządkowania alfabetycznego (rosnącego) i malejącego.

definicja metody porządkuj
procedure Tmojaklasa.porzadkuj(x:boolean);
var i,k,kk: integer; pomocnicza: string;
begin
self.sort; exit
end
else
begin
self.sort; k:=self.count-1;kk:=self.count
div 2
for i:=0to kk do
begin
pomocnicza:=self.strings[i];
self.strings[i]:=self.strings[k-i];
self.strings[k-i]:=pomocnicza;
end end end;

definicja klasy
type
Tmojaklasa=class(Tstringlist)
procedure porządkuj (x:boolean);
end;

konstrukcja obiektu i sortowanie
procedure TForm1.Button1.Click(Sender:TObject);
var lista: Tmojaklasa;
begin
if not opendialog1.execute then exit;
memo1.lines.LoadFromFile(opendialog1.FileName);
lista:=Tmojaklasa.Create;
lista.Assign(memo1.lines);
lista,porzadkuj(checkbox1.checked);
memo1.lines.Assign(lista);
if sevedialog1.execute then
memo1.lines.SaveToFile(savedialog1.FileName);
end;

W pewnym module zdefiniowano klasę:
type Tklasa = class(Tbaza)
x: integer;
procedure nowa(x: integer): integer;
end; …
Składowanie tej klasy o nazwie nowa to:
nieprawidłowa jest metoda implementowana jako procedura, procedura NIE zwraca wyniku


Wyszukiwarka

Podobne podstrony:
techniki informacyjne
wykład 6 instrukcje i informacje zwrotne
Technologia informacji i komunikacji w nowoczesnej szkole
Państwa Ogólne informacje
Fizyka 0 wyklad organizacyjny Informatyka Wrzesien 30 2012
informacja w pracy biurowej 3
Wykorzystanie modelu procesow w projektowaniu systemow informatycznych
OK W2 System informacyjny i informatyczny
Sem II Transport, Podstawy Informatyki Wykład XXI Object Pascal Komponenty
RCKiK LEKARZE STAŻYŚCI (materiały informacyjne)
AUSTRIA PREZENTACJA POWERPOINT (INFORMACJE)
SYSTEMY INFORMATYCZNE ORGANIZACJI WIRTUALNEJ1
Metodyka punktow wezlowych w realizacji systemu informatycznego
Informatyka1 2a1
wyklad1 Informacja systeminformacyjny
narodziny spoleczenstwa informacyjnego

więcej podobnych podstron