piątek, 27 października 2017

Zasada programowania i typy danych

Kilka podstawowych zasad programowania:
Zasada 1. 
Należy stosować zrozumiałe nazwy zmiennych. W nazewnictwie zmiennych należy przestrzegać norm danego języka.
Zasada 2. 
Warto zarezerwować pewne nazwy na zmienne używane wielokrotnie np. sterujące pętlami i,j; elementy zbiorów, liczby - a,x,liczba; liczba elementów w zbiorze - n,m.
Zasada 3. 
Dobrze jest sporządzić listy używanych zmiennych. Niektóre języki programowania obligują do sporządzenia takich list.
Zasada 4. 
Należy podzielić program  ma podprogramy realizujące mniejsze fragmenty zadania, zwłaszcza w złożonych problemach.
Zasada 5. 
Trzeba dbać o przejrzystość tekstu programu i zachowywać czytelność jego struktury.
Zasada 6. 
Należy pisać programy odporne na błędy użytkowników. Program powinien instruować swojego użytkownika o działaniach, jakie musi on podejmować oraz wyświetlać komunikaty dotyczące oczekiwanego rodzaju danych. Trzeba zabezpieczać program przed błędem typu zmiennych lub przed wprowadzeniem błędnych danych.

Typy danych w C++ :

  • typy proste
    • porządkowe (m.in. całkowity, logiczny, znakowy, wyliczeniowy)
  • typy pochodne
    • tablice
    • struktury
    • unie
  • typy wslaźnikowe
  • typy obiektowe

niedziela, 22 października 2017

Funkcje zwracające w języku C++ i zasięgi zmiennej

Funkcja zwracająca wartość wylicza wartość i odsyła tę wartość do funkcji wywołującej, wtedy mówi się, że funkcja zwraca wartość.

Funkcje zwracające wartość muszą zawierać instrukcje return z wartością, która ma być zwrócona do funkcji wywołującej. Zwracana wartość może być stałą, zmienną lub wyrażeniem, np.
  • return a*b;
  • return Wynik;
Parametr - wartość przekazywana funkcji, a wartość zwracana to wartość przekazywana z funkcji.

W funkcjach czy procedurach parametry mogą być przekazywane na dwa sposoby:
  • przez wartość: dla parametru formalnego i aktualnego o dwóch różnych nazwach zostaną zarezerwowane dwa miejsca w pamięci (o różnych adresach)
    • są traktowane jako zmienne lokalne
    • void nazwa_funkcji (lista parametrów)
Wartości zmiennych
x
y
a
b
Na początku procedury Wartości
3
8
3
8
Na końcu procedury Wartości
13
-2
3
8
Po powrocie do programu głównego
(zmienna przestała istnieć)
(zmienna przestała istnieć)
3
8
  • przez zmienną (przez referencję): dla parametru formalnego i aktualnego o dwóch różnych nazwach zostanie zarezerwowane to samo miejsce w pamięci ( o tym samym adresie)
    • void nazwa_funkcja (nazwa_typu &parametr1, nazwa_typu &parametr2)
    • przed nazwą parametru należy umieścić znak &
Wartości zmiennych
x
y
a
b
Na początku procedury Wartości
3
8
3
8
Na końcu procedury Wartości
13
-2
13
-2
Po powrocie do programu głównego
(przestała istnieć nazwa zmiennej x)
(przestała istnieć nazwa zmiennej y)
13
-2

Ze względu na zasięgi zmiennej rozróżniamy zmienne:
  • globalne
  • lokalne
Parametry formalne przekazywane przez wartość w treści danej procedury lub funkcji są traktowane jak zmienne lokalne. Ewentualnie operacje wykonywane na tych parametrach wewnątrz procedury lub funkcji nie powodują zmian wartości odpowiadających im parametrów aktualnych.







wtorek, 10 października 2017

Stosowanie procedur i funkcji w językach programowania

1. Modele programowania:
  • liniowe - program jest ciągiem instrukcji języka programowania. Nie ma instrukcji warunkowych i nie wyodrębnia się podprogramów.
  • struktularne - program ma odpowiednią strukturę, można wyodrębnić deklaracje (modułów, zmiennych i stałych), definicję podprogramów oraz bloki instrukcji, w tym sterujące wykonaniem programu (warunkowe, iteracyjne). Każda zmienna ma swój ściśle określony typ.
  • modularne - jest to rozszerzenie podejścia proceduralnego, w którym powtarzające się w programie ciągi instrukcji zapisuje się w postaci procedur i funkcji, nadających się do wielokrotnego wykorzystania. Procedury i funkcje zebrane są w modułach, które zapisane są pod unikatową nazwą i mogą być wykorzystane w wielu programach.
  • obiektowe - program jest definiowany jako zbiór obiektów, które posiadają określone właściwości (związane z obiektem dane) i metody (operacje, jakie można na obiekcie wykonać)
  • zdarzeniowe - podobnie jak w programowaniu obiektowym, program to zbiór obiektów, jednak kolejność wykonywania instrukcji programu zależy od zaistnienia określonych zdarzeń (naciśnięcie przycisku, wprowadzenie danej, upływ czasu.
2. Programowanie zstępujące i wstępujące:
  • Programowanie zstępujące - "z góry do dołu" polegające na zdefiniowaniu problemu ogólnego i podzielenie go na podproblemy, które są dzielone na jeszcze mniejsze podproblemy łatwe do rozwiązania.
  • Programowania wstępujące - "z dołu do góry" polega na rozwiązaniu elementarnych problemów, które składa się w całość prowadzą do rozwiązania problemu.

3. Zalety stosowania podprogramów - procedur i funkcji:
  • dzielenie zadania na mniejsze części
  • zwiększenie czytelności i przejrzystości programu
  • skrócenie programu - fragmenty programu które się powtarzają, są wyodrębnione w postaci podprogramów
  • łatwiejsze wyszukiwanie błędów
  • łatwiejsze poprawianie programu
  • możliwość programowania zespołowego

niedziela, 8 października 2017

Algorytm z pętlą zagnieżdżoną

1. Specyfikacja

  • Zagnieżdżenie pętli, podobnie jak instrukcji warunkowej, polega na wywołaniu jednej pętli wewnątrz drugiej. Oznacza to, że na jedną iterację pętli zewnętrznej, zostanie wykonany cały przebieg pętli wewnętrznej. Instrukcje iteracyjne w C++ można dowolnie zagnieżdżać. Im więcej zagnieżdżeń tym większa złożoność obliczeniowa algorytmu.

2. Schemat blokowy

3. Listing programu:
  • Przykładowe zastosowanie pętli zagnieżdżonej, przy tworzeniu programu komputerowego:





#include <iostream>
using namespace std;
int main ()
{
    cout << "Wysokosc: ";
    int n;
    cin>>n;
    for (int i=0; i<n;i++)
    {
        for(int j=0;j<i+1;j++)
        cout << "*";
        cout <<endl;
    }
    return 0;
}





piątek, 6 października 2017

Algorytm iteracyjny, iloczyn n liczb

1. Specyfikacja

  • Iteracja polega na wielokrotnym powtarzaniu tej samej operacji (ciągu operacji).
  • Iterację implementujemy stosując tzw. pętlę
  • Z pętlą mamy do czynienia gdy w pewnym kroku algorytmu wracamy do jednego z wcześniejszych kroków co powoduje,że kroki te mogą zostać wykonane wiele razy.
2. Schemat blokowy


3. Listing programu

  • Zapisywanie algorytmu iteracyjnego w postaci programu komputerowego:




#include <iostream>
using namespace std;
int main ()
{
   int i,a, iloczyn, n;
   cin >> n;
   iloczyn=1;
   for (i=0; i<n; i++)
   {
         cin >> a;
         iloczyn*=a;
    }
    cout << iloczyn;
    return 0;
}





niedziela, 21 maja 2017

Tworzenie strony - WIX

WIX(http://pl.wix.com) to jeden z najpopularniejszych, a zarazem oferujących największe możliwości, darmowych generatorów stron internetowych.

Innowacyjna technologia sprawia, że każdy może z łatwością zaistnieć w sieci dzięki pięknej, profesjonalnej i funkcjonalnej stronie internetowej. Oferuje światowej klasy platformę do tworzenia stron internetowych dla ponad 90 milionów użytkowników w 190 krajach. Wix oferuje coś dla każdego, Wix dostarczy ci wszelkich narzędzi i funkcji niezbędnych do efektywnego zaprezentowania siebie w sieci za darmo..


To jedyna w takim rodzaju platforma do budowy witryn typu przeciągnij i upuść, która wykorzystuje możliwości HTML5, ponad 500 szablonów, najwyższej klasy hosting, innowacyjne Aplikacje i tysiące funkcji za darmo. Globalna baza użytkowników, otwarty SDK i niezrównane możliwości tworzą wyjątkowy ekosystem. Partnerzy, developerzy, projektanci stron i inni profesjonaliści mogą skutecznie reklamować własne Aplikacje i usługi na szeroką skalę dzięki Wix.


Na witrynie WIX mieliśmy możliwość stworzyć portfolio/CV w formie strony internetowej. O to rezultat mojej pracy
https://mariakrason01.wixsite.com/architektwnetrz

poniedziałek, 15 maja 2017

Fotomontaż (PaintShop)


Na ostatnich zajęciach z informatyki w programie PaintShop mieliśmy za zadanie stworzyć naszą pocztówkę z wymarzonych wakacji. Oto mój rezultat:



niedziela, 12 marca 2017

Sungrazing commets

1.SOHO (ang. Solar and Heliospheric Observatory) to projekt badawczy współtworzony przez Europejską Agencję Kosmiczną (ESA) oraz Narodową Agencję Aeronautyki i Przestrzeni Kosmicznej (NASA). W ramach projektu, 2 grudnia 1995 roku, w stronę Słońca została wystrzelona rakieta Atlas IIAS, która wyniosła sondę kosmiczną na orbitę okołosłoneczną.


NASA SOHO spacecraft.png

Sonda została zaprojektowania do prowadzenia badań nad wewnętrzną strukturą tej gwiazdy, zjawiskami zachodzącymi na jej powierzchni oraz nad wiatrem słonecznym i jego wpływem na naszą planetę. Celem pobocznym misji jest wykrywanie komet muskających Słońce w ramach programu Sungrazing Comets, na podstawie analizy przesłanych przez SOHO zdjęć. W programie tym bierze ochotniczo udział ponad 70 amatorów astronomii z 18 krajów

Znalezione obrazy dla zapytania kometa soho

2. Michał Kusiak ur. w Żywcu, student astronomii na WFAiIS Uniwersytetu Jagiellońskiego w Krakowie. Jako jeden z rzeszy miłośników astronomii, zaangażowanych w przeszukiwanie komet na zdjęciach dostarczanych przez koronografy misji SOHO i STEREO, odkrył ponad 150 komet, w tym dwutysięczną kometę odnalezioną na zdjęciach sondy SOHO

poniedziałek, 27 lutego 2017

Fotografia cyfrowa

1. Porównanie fotografii analogowej i cyfrowej
  • Polega na zachowaniu wybranego kadru w postaci cyfrowej, a nie, jak w fotografii tradycyjnej, na utrwaleniu go na chemicznym nośniku światłoczułym. Do wykonywania zdjęć, w odróżnieniu od fotografii analogowej, gdzie stosuje się klasyczny aparat fotograficzny, służy sprzęt o odmiennej konstrukcji noszący nazwę: cyfrowy aparat fotograficzny.
2. Budowa aparatu cyfrowego


Znalezione obrazy dla zapytania budowa aparatu cyfrowego
3. Typy aparatów cyfrowych

  • kompaktowe
Znalezione obrazy dla zapytania aparat kompaktowy
  • kompaktowe z wymienną optyką
Znalezione obrazy dla zapytania kompaktowe z wymienną optyką
  • lustrzanki cyfrowe
Znalezione obrazy dla zapytania lustrzanki cyfrowe

sobota, 25 lutego 2017

Fotografia analogowa



1. Fotografia - (gr. φως, phōs, D. phōtós – światło; gráphō – piszę, graphein – rysować, pisać; rysowanie za pomocą światła) – zbiór wielu różnych technik, których celem jest zarejestrowanie trwałego, pojedynczego obrazu za pomocą światła. Potoczne znaczenie zakłada wykorzystanie układu optycznego.


2. Pierwowzór aparatu fotograficznego - Camera Obscura


Camera Obscura to prosty przyrząd optyczny pozwalający uzyskać rzeczywisty obraz. Pierwowzór aparatu fotograficznego Camera obscura bywa nazywana również ciemnią optyczną lub kamerą otworkową.

3. Budowa analogowego aparatu fotograficznego to m.in:
  • Zewnętrznej soczewki 
  • Soczewek korygujących 
  • Przysłony 
  • Mechanizmu spustowrgo 
  • Rolki 
  • Baterii zasilających 
  • Karty pamięci 
  • Przycisku uruchamiającego mechanizm spustowy 
  • Wyświetlacza 
  • Pierścienia regulacyjnego



4. Materiały światłoczułe dzielą się na:
  • negatyw (klisza) - odwrotność pozytywu, czyli oryginału. Popularna nazwa błony fotograficznej negatywowej. W kopiowaniu brył negatyw jest symetrycznym odciśnięciem oryginału, czyli matrycą.

  • pozytyw (papier, fotoslajd) - jest obrazem fotograficznym odwzorowującym prawidłowo (zgodnie z rzeczywistością) obraz istniejący w naturze, a mówiąc dokładniej: odzwierciedla wprost proporcjonalnie różnice pomiędzy jasnością i barwą poszczególnych miejsc w fotografowanym obrazie.