piątek, 8 czerwca 2018

Tworzenie grafik - Corel PaintShop Pro X4

To moje prace zrobione na lekcji informatyki w programie Corel PaintShop Pro X4

Ćw.4


Ćw. 7


Ćw.8


Ćw.9


Ćw.11


Ćw.12


Ćw.13


Ćw.14


Ćw.15


wtorek, 23 stycznia 2018

Kompresja

Kompresja z łacińskiego"compressio" znaczy "ściśnięcie", znaczy zmniejszenie objętości. W informatyce odnosi się do zmniejszania objętości i wielkości danych, umożliwiający  do odtworzenia pierwotnych danych.

Dekompresją nazywamy proces odtworzenia pierwotnych danych. Na rysunku poniżej przedstawiono schemat wykonywania kompresji i dekompresji:


Znalezione obrazy dla zapytania kompresja

Zastosowania kompresji:

  1. Bez kompresji nie istniałyby standardy typu JPEG, DVD, Blu-Ray lub MP3 itp.
  2. Pozwala ona na efektywne używanie łączy telekomunikacyjnych, jest m.in stosowana w modemach

Rodzaje kompresji:
  • stratna (lossy compression) - w tej kompresji dane odtworzone są podobne do danych pierwotnych i na ogół różnią się od nich w sposó trudny do zauważenia.
    • dźwięki
    • muzyka - format MP3
    • obrazy- format JPG
    • filmy - format MPEG
Bazuje ona na niedoskonałości ludzkich zmysłów. Nie dostrzegają one niewielkich zmian barw, różnic w dżwięku lub w fakturze obrazu. Do widocznej  utraty jakości może doprowadzić wieloktrotne powtarzanie cyklu kompresji i dekompresji.

                                                        Znalezione obrazy dla zapytania kompresja
  • bezstratna (lossless compression) - w tej kompresji dane odtworzone są identyczne z danymi pierwotnymi
    • teksty
    • programy komputerowe
    • bazy danych
    • pliki z innymi danymi jak arkusze kalkulacyjne itp.
    • niektóre rodzaje grafik -  format GIF i TIFF itd.



                             

wtorek, 9 stycznia 2018

Złożoność i efektywność algorytmów

Złożoność obliczeniową algorytmów można podzielić w kontekście

  • czasu wykonania programu czyli złożoność czasowa
    • Co to?

Zależy od liczby operacji niezbędnych do ukończenia algorytmu,
jest pewnego rodzaju funkcją wielkości zbioru danych
Możemy wyrazić ją między innymi w jednostkach czasu, jednak nie jest
to wygodne ze względu na różne procesory, w które mogą być wyposażone
komputery, czas wykonywania podobnych operacji może się różnić

  • wykorzystania pamięci czyli złożoność pamięciowa
    • Co to?
    Jest to wielkość pamięci (operacyjnej/masowej) niezbędnej do wykonania algorytmu
    (wielkość pamięci zajmowanej przez wszystkie zmienne),
    algorytmami, które znacznie zwiększają złożoność pamięciową
    są algorytmy rekurencyjne.
! Efektywność algorytmu bierze pod uwagę praktyczne zastosowanie algorytmu w programie !

wtorek, 2 stycznia 2018

Poprawność algorytmów i ich skończoność

Algorytm:
  • całkowicie poprawny - wszystkie dane wejściowe spełniające warunki początkowe zostaną wyprowadzone wyniki spełniające warunki końcowe i obliczenia zostaną zakończone
  • częściowo poprawny - wyniki są poprawne względem warunków początkowych i końcowych
  • dobrze określony i uniwersalny - występują w nim polecenia, operacje zrozumiałe oraz kolejność jest jednoznacznie określona
Algorytm który nie jest skończony nie może zostać uznany za poprawny.
Powodem nieskończonego działania algorytmu może być np. błędnie określony warunek itd.

Metody sortowania


  • Sortowanie Bąbelkowe jest to prosta metoda sortowania, pozwala poukładać elementy danej tablicy w kolejności rosnącej lub malejącej. Elementami tablicy mogą być cyfry albo litery. Algorytm sortowania bąbelkowego porównuje dwa sąsiadujące elementy tablicy. Jeżeli element n jest większy od elementu n+1, wtedy zostają one zamienione miejscami. Algorytm powtarza się w koło do czasu, kiedy nie zajdą żadne zmiany, czyli do czasu kiedy tablica nie zostanie posortowana. Sortowanie bąbelkowe jest to podstawowy algorytm i warto go znać.

  • Sortowanie kubełkowe jest algorytmem przeznaczonym dla pewnej specyficznej grupy danych. Jest podobnym algorytmem do sortowania przez zliczanie. Algorytm jest wydajny w sytuacji, gdy dane rozmieszczone równomiernie. Nazwa wzięła się stąd, że dane wrzucamy do kubełków, które są już z definicji posortowane.

  • Sortowanie przez wstawianie jest to rodzaj sortowania możemy porównać do układania kart pokerzysty. Pierwszą kartę wstawiamy w odpowiednie miejsce przesuwając pozostałe, następną także wstawiamy między odpowiednie karty i tak układamy zestaw kart. Sortowanie przez wstawianie można zaliczyć do atrakcyjniejszych algorytmów. ma swoje zalety: jest stabilny, bardzo dobrze zachowuje się w przypadku zbioru posortowanego lub częściowo posortowanego, prosty, dobrze radzi sobie z niedużymi zbiorami.

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.