Program- jest to zbior funkcji w języku C



Pobieranie 46,22 Kb.
Data14.01.2018
Rozmiar46,22 Kb.

Program- jest to zbior funkcji w języku C

Nazwa funkcji – zaczyna się od litery, może zawierac litery, cyfry, znaki podkreślenia; nie może być słówek kluczowych języka C

Deklarowanie parametrów – określa jakie są parametry funkcji oraz jakiego typu są ich wartości.

Funkcja main – jest uruchamiana jako pierwsza po uruchomieniu programu.

Zbiory nagłówkowe(.h) – pliki tekstowe zawierające deklaracje nagłówków funkcji.

Deklaracja funkcji:

  • nagłówek

  • funkcja właściwa

  • wywoływanie funkcji

  • instrukcja return wyrażenie;

Deklaracja zmiennych obowiązuje od miejsca zadeklarowania do końca bloku, wktórym zmienna została zadeklarowana, chyba że jest inaczej.

Zmienne:

  • lokalne – wewnątrz funkcji

  • globalne

Algorytm – recepta wyliczająca proste, wyraźne i jednoznaczne kroki, które trzeba wykonać dla danych zadania, aby otrzymać poprawne rozwiązanie w skończonym czasie.(recepta=sposób działania)

Opis algorytmu:

  • słowny

  • schematy blokowe

  • kod strukturalny (język programowania)

Schematy blokowe – graficzna forma przedstawiania algorytmów

  • globalne

  • dla potrzeb języków programowania

Rodzaje bloków:

  • start/stop

  • bloki operacyjne/instrukcji

  • blok wejścia/wyjścia

  • blok warunkowy

  • blok łącznikowy

Programowanie – polega na pisaniu programów tj. opisu algorytmów za pomocą kodu strukturalnego, najczęściej języka programowania.

Język programowania – język o specjalnie dobranej symbolice , w którym formułujemy algorytmy na poziomie szczegółowości odpowiednim dla automatycznej interpretacji.

Rodzaje programowania:

  • strukturalne

  • obiektowe

  • logiczne

Kompilacja programu – tłumaczenie programu z jednego języka na inny

Kompilator – program tłumaczący kod zapisany w języku wysokiego poziomu na kod wykonywalny.(maszynowy lub pseudokod).

Translator – program tłumaczący kod zapisany w języku wysokiego poziomu na inny język wysokiego poziomu.

Konsolidacja – połączenie skompilowanego kodu z bibliotekami lub innymi skompilowanymi elementami.

Linder – program konsolidacyjny.

Rodzaje błędów:

  • składniowe – wykrywanie w fazie kompilacji

  • związane z niezdefiniowaniem lub nieprawidłowym zdefiniowaniem obiektów zewnętrznych lub ich używaniem

  • związane z cechami funkcjonalnymi programu – wykrywanie w drodze testowania pracy

Rodzaje testowania:

  • strukturalne (otwarte, white box testing)

  • funkcjonalne (black box testing)

Fazy testowania funkcjonalnego:

  • alfa

  • beta

Reprezentacja danych w komputerze:

  1. kodowanie

Kod danego zbioru symboli – przyporządkowanie każdemu elementowi zbioru jednego i tylko jednego wektora informacji cyfrowej z określonego zbioru informacji cyfrowej

Kody alfanumeryczne – opisują litery, cyfry, inne znaki

Kod binarny prosty – przyporządkowuje liczbom dziesiętnym całkowitym nieujemnym o wartościach z przedziału:0<=x 10<=2n-1

Kod dopełnień do dwóch – przyporządkowuje liczbom dziesiętnym całkowitym o wartościach z przedziału: -2n-1<=x 10<=2n-1-1

Jeżeli liczba jest nieujemna jej reprezentacja w kodzie dopełnieniowym do dwóch jest taka sama jak w kodzie binarnym prostym rozszerzonym o dodatkowy , najbardziej znaczący bit znaku równy 0.



Wyznaczanie reprezentacji liczb ujemnych:

  1. wyznaczyć reprezentację w kodzie dopełnieniowym do dwóch modułu liczby ujemnej

  2. dla wyznaczonego modułu dokonujemy negacji bitów

  3. dodajemy do zanegowanej liczby liczbę 1

Kod dopełnieniowy do dwóch liczb dziesiętnych ułamkowych – przyporządkowuje liczbom dziesiętnym ułamkowym x 10 o wartościach z przedziału –1<= x 10 <=1- 1/2n

Kod dopełnieniowy dla dwóch dla liczb zmiennoprzecinkowych. Liczba binarna zmiennoprzecinkowa składa się z dwóch liczb binarnych:

-k- bitowego ułamka M2 zwanego mantysą

-l – bitowej liczby całkowitej W2 będącej wykładnikiem potęgowym

Odpowiada jej liczba dziesiętna x 10 = M10 – 2Wo gdzie M10 i W10 – dziesiętne odpowiedzi M2 i W2.

Typy i rozmiar danych.

Podstawowe typy proste: char, int, float, double

Kwalifikatory typu int:


  • long , short

  • signed, unsigned

Stałe symboliczne


#define NAZWA tekstZastepujacy

Wyrażenia stałe – to wyrażenia w których występują wyłącznie stałe

#define MAXLINE 1000

char line [MAXLINE+1]

Stałe napisowe “napis”={‘u’,’a’,’p’,’\O’}

Stała wyliczeniowa enum nazwa{stała1, stała2,...,stałaN}

Deklaracje typ_wartości zm1, zm2,..., zmN;

W deklaracjach można inicjować wartości zmiennych typ_wartosci zmienna=wyrażenie stałe

Wewnątrz funkcji parametrów możemy używać w wyrażeniach inicjujących zmienne. Zmienne globalne i stałe sa inicjowane tylko raz na początku programu.

Zmienne, których wartości nie ulegają zmianie const typWartosci nazwa=wyrażenie stałe

Operatory arytmetyczne: +,-,*,/,%

Operatory relacji : <,>,<=,>=

Operatory porównania: = =, !=

Operatory logiczne: iloczyn, ||suma,!negacja

Przekształcanie typów – automatyczne przekształcanie typów w wyrażeniu następuje do typu o większej reprezentacji bitowej. Typ char jest traktowany jako mała liczba całkowita.

Zasady automatycznej konwersji:


  • jeżeli któryś z arg.jest typu long double , pozostałe są przekształcane do long double

  • w przeciwnym przypadku jeżeli któryś z arg. był double to pozostałe przekształcamy do double

  • w przeciwnym przypadku jeżeli któryś był float to pozostałe przekształcamy do float

  • w przeciwnym przypadku wszystkie char i short są przekształcone do int

  • następnie jeżeli którykolwiek arg. jest long wszystkie pozostałe są przekształcone do long

Wymuszenie przekształcenia typu (nazwa-typ) wyrażenie

Operator zwiększania i zmniejszania:

++ operator zwiększania

--operator zmniejszania

Instrukcja switch


Switch (wyrażenie) – wykorzystanie instrukcji switch możemy przerwać używając polecenie break .

Pętle while i for


While (wyrażenie) instrukcja;

For ( wyr1; wyr2; wyr3)instrukcja


Pętla do-while


do

instrukcja

while (wyrażenie)

Instrukcja break i continue


Instrukcja break przerywa działanie instrukcji for, while, do-while, switch.

Instrukcja continue przerywa aktualnie wykonywany krok pętli while; for ;do-while i przechodzi do następnego.


Instrukcja goto i etykiety


Instrukcja goto zmienia sekwencyjny sposób wykonywania programu, poprzez przejście do określonego miejsca w programie identyfikowanego przez etykietę. Instrukcje goto można używać jeśli chcemy przerwać zagnieżdżone pętle.

W języku C wyróżniamy zmienne:

  • wewnętrzne (jeżeli zmienna jest wew. to zasięg jej nazwy obowiązuje wyłącznie dla bloku w którym została zadeklarowana, o ile nie została przysłonięta przez inną zmienna o tej samej nazwie zadeklarowaną w bloku wewnętrznym)

  • zewnętrzne (mają zasięg od momentu zadeklarowania do końca pliku w którym zostały zadeklarowane chyba że zostaną użyte w innym pliku jako zmienne extern.

Zmienne statyczne: static typ_zmiennej nazwa;

Deklaracja static oznacza że dla zmiennych:

  • zewnętrznych – zmienna static nie może być zadeklarowana jako extern

  • wewnętrznych – zmienne static przy każdym wywołaniu funkcji są umieszczane w tym samym miejscu, a co za tym idzie nie tracą swoich wartości pomiędzy poszczególnymi wywołaniami.

Zmienne rejestrowe – w języku C zmienne oraz parametry funkcji możemy deklarować jako rejestrowe( register typ_nazwa)

Struktura blokowa – możemy deklarować zmienne wewnętrzne dla poszczególnych bloków {blok}

Ignorowanie zmiennych


W przypadku zmiennych wewnętrznych mogą być one inicjowane z wykonaniem argumentów funkcji jako część wyrażenia stałych.

Deklaracja tablic


Zmienne zewnętrzne i wewnętrzne typu static są inicjowane wyłącznie raz .Zmienne wewnętrzne które nie są typu static są inicjowane przy każdym wywołaniu funkcji.

Rekurencja:

  1. silnia – wersja nierekurencyjna

  2. silnia – wersja rekurencyjna

Wskaźniki i adresy


8-operator adresu

8 zmienna



Zmienne wskaźnikowe – zmienne służące do przechowywania adresów komórek pamięci.

Wskaźniki i argumenty funkcji

Wskaźniki i tablice (W tablicach nazwą tablicy możemy się posługiwać jako wskaźnikiem do jej zerowego elementu.

Arytmetyka na adresach



Adres nie jest liczbą całkowitą. Do adresu możemy dodać liczbę całkowitą. Wynik operacji jest adresem komórki oddalonej o n pozycji od drugiego składnika operacji dodawania. Możemy odjąć od siebie dwa wskaźniki .Wynik takiej operacji jest liczbą całkowita określającą odległość pomiędzy odejmowanymi adresami.

Tablice struktur


Struktury odwołujące się do samych siebie.

Przykłady innych struktur dynamicznych:

  • drzewo

  • stos

Deklaracja typedef; typedef typ_elementów nazwa nowegoTypu

Przestrzeń nazw – zbiór klas bibliotecznych .Dla danego programu deklarujemy używaną przestrzeń nazw za pomocą słowa kluczowego using. W C# jest podzielony na odrębne klasy, zawierające własne zmienne (pola) oraz funkcje (metody).; class nazwa klasy

W C# możemy sterować dostępnością do poszczególnych składowych danejklasy za pomocą deklaracji public i private.W C# deklarujemy operacje we/wy.



Operacje wyjścowe:

Consol.Write

Consol.WriteLine

Consol.Read

Consol.ReadLine

Klasy i obiekty


Klasa jest wzorem dla swoich obiektów. Obiekt jest reprezentantem swojejklasy.Klasa składa się z:

  • Pól (zmiennych) – opisujących parametry danej klasy

  • Metod ( funkcji) – opisujących funkcjonalność związaną z daną klasą

Pola deklarujemy jak zmienne : typ_Wartości nazwa Pola;

Metody deklarujemy podobnie jak funkcje : specyfikatorDostępu TypZwracanych Wartości

Deklaracje zmiennych obiektowych : nazwaKlasy nazwaObiektu

Zmienne obiektowe muszą być inicjowane przy użyciu operatora new : nazwaObiektu = new nazwaKlasy



Hermetyzacja – sterowanie dostępnością do elementów (pól, metod) danej klasy.

Public – możemy się odwołać do danego elementu spoza danej klasy.

Private – można się odwołać do danego elementu tylko wewnątrz danego obiektu.

Konstruktor – metoda wywoływania przy inicjowaniu zmiennej obiektowej za pomocą operatora new. Własności konstruktora:

  • nie zwraca wartości

  • ma tę samą nazwę jak nazwa klasy

  • jest zawsze publiczna

  • może zawierać parametry , które są podawane podczas inicjowania zmiennej obiektowej.

Metody; pola statyczne (static)

Pole typu static przechowuje wartości wspólne dla wszystkich reprezentantów danej klasy .

Metody typu static są wywoływane niezależnie od istnienia obiektów danej klasy.

Zmienna : typ_wartości nazwaZmiennej;

Rodzaje zmiennych ze względu na sposób przydzielania pamięci:


Zmienne wartościowe - służą do przechowywania pojedynczych wartości typu:

  • całkowitego (sbyte, short int, long)

  • rzeczywistego (float, double,)

  • znakowego (char)

  • logicznego ( bool = true, false)

Rodzaje zmiennych referencyjnych:

  • obiektowe

  • łańcuch (string)

  • struktury

  • tablice

  • kolekcje

Na zmienne referencyjne wartości są przydzielane z tzw. Strefy i zawierają odwołania do obszarów pamięci zawierających poszczególne wartości.Zmienne referencyjne muszą być inicjowane, najczęściej za pomocą operatora new.

Istnieje standardowa klasa obiektowa object, któramoże służyć do przechowywania referencji do zmiennych dowolnego typu. Zmienne typu object może być używana do „pakowania” zmiennych zarówno wartościowych jak i referencyjnych.



Typy parametrów metod:

  • wartościowy

  • wyjściowy

  • referencyjny

  • o zmiennej liczbie

Pętla foreach – jest używana do przetwarzania wszystkich elementów z tablicy lub kolekcji : foreach (zmienna1 in zmienna2) instr.;

  • zmienna2 – tablica lub kolekcja elementów danego typu

  • zmienna1 – zmienna prosta typu takiego samego jak elementy z zmienna2

Typ enum : enum nazwa typu{war1, war2,...,warN}

Struktury


W języku C# mogą zamierać zarówno zmienne (pola), jak i metody (funkcje).Struktury są typem wartościowym.

Tablice


Istnieje klasa Array, która umożliwia deklarowanie tablic. Tablice są typu referencyjnego. Do tablic zdefiniowane są pewne własności: Lenght – przechowuje wielkość tablicy

Kolecje – dynamiczne predefiniowane struktury danych np. lista liniowa. Kolecje są typami referencyjnymi.

Dziedziczenie – mechanizm umożliwiający pozyskiwanie własności i metod przez nowe klasy z klas wcześniej zdefiniowanych.





©operacji.org 2019
wyślij wiadomość

    Strona główna