Pokazywanie postów oznaczonych etykietą Matura z informatyki. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Matura z informatyki. Pokaż wszystkie posty

czwartek, 10 maja 2012

Proste sortowanie tablic w C++ - idealny sposób na maturę z informatyki

Matura się zbliża więc czas na trochę hacków ;)
Do rzeczy, czyli jak posortować tablicę liczb lub znaków bez znajomości ani jednego algorytmu sortowania:

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    int i;
    string lancuch = "string do posortowania abzwcdexyfh";
    string tab_string[] = {"test","bB","A","D","1A","a","ds","asd","Bb","z"};
    int tab_int[] = {2,4,6,3,8,6,88,1,5,84,62};
    /*-------- Sortowanie tablicy z liczbami  ------*/

    int elementow = sizeof(tab_int)/sizeof(tab_int[0]);


    cout <<"Posortowana malejaco: ";
    sort(tab_int,tab_int+elementow,greater<int>());  //sortuje od najmniejszego do najwiekszego 1*
    for (i=0; i<elementow; i++)
    {
        cout << " "<< tab_int[i] ;
    }

    cout << endl<<"Posortowana rosnaco: ";
    sort(tab_int,tab_int+elementow); //sortuje od najwiekszego do najmniejszego 2*
    for (i=0; i<elementow; i++)
    {
        cout << " "<< tab_int[i] ;
    }
    /*-------- Sortowanie tablicy stringow ------*/
    elementow = sizeof(tab_string)/sizeof(tab_string[0]);



    cout << endl<<"Posortowana rosnaco: ";
    sort(tab_string,tab_string+elementow); //sortuje od najwiekszego do najmniejszego
    for (i=0; i<elementow; i++)
    {
        cout << " "<< tab_string[i] ;
    }

    cout << endl<<"Posortowana malejaco: ";
    sort(tab_string,tab_string+elementow,greater <string>());
    for (i=0; i<elementow; i++)
    {
        cout << " "<< tab_string[i] ;
    }
     /*-------- Zmiana wielkosci liter ---------*/
    cout<< "\nzamiana na duze litery";
    for (i=0; i<elementow; i++)
    {
        transform(tab_string[i].begin(),tab_string[i].end(),tab_string[i].begin(),::toupper);  //albo ::tolower 3*
    }
    cout << endl<<"Posortowana malejaco: ";
    sort(tab_string,tab_string+elementow,greater <string>());
    for (i=0; i<elementow; i++)
    {
        cout << " "<< tab_string[i] ;
    }

    cout << endl<<"Posortowana rosnaco: ";
    sort(tab_string,tab_string+elementow); //sortuje od najwiekszego do najmniejszego
    for (i=0; i<elementow; i++)
    {
        cout << " "<< tab_string[i] ;
    }


    cout<< "\nSortowanie wyrazow:";
    cout << endl<<"Posortowany rosnaco: ";
    sort(lancuch.begin(),lancuch.end());
    cout <<lancuch<<endl;

    cout << endl<<"Posortowany malejaco: ";
    sort(lancuch.begin(),lancuch.end(),greater <char>());
    cout <<lancuch<<endl;
    return 0;
}

Wynikiem tego kodu jest coś takiego:

Posortowana malejaco: 88 84 62 8 6 6 5 4 3 2 1
Posortowana rosnaco: 1 2 3 4 5 6 6 8 62 84 88
Posortowana rosnaco: 1A A Bb D a asd bB ds test z
Posortowana malejaco: z test ds bB asd a D Bb A 1A
zamiana na duze litery
Posortowana malejaco: Z TEST DS D BB BB ASD A A 1A
Posortowana rosnaco: 1A A A ASD BB BB D DS TEST Z
Sortowanie wyrazow:
Posortowana rosnaco: aaabcddefghiinnooooprrssttwwxyz
Posortowana malejaco: zyxwwttssrrpoooonniihgfeddcbaaa

Jak już z pewnością zauważyłeś po tym jak wnikliwie zanalizowałeś kod i wynik to funkcją sortującą z biblioteki algorithm jest sort a wykorzystuje się ją tak:
sort(pierwszy_element, ostatni_element, opcja);
opcja czyli w jaki sposób posortować zostawienie tylko dwóch pierwszych argumentów powoduje posortowanie od najwiekszego do najmniejszego elementu(1*) a z opcją
greater <typ_zmiennej>() sortuje od najmniejszego do największego elementu (2*)

Zauważamy również że funkcja sort sortuje znaki według numerów z tablicy znaków ASCII gdzie A ma numer 65, B 66, a mała litera: a 97. Dlatego może być nam potrzebna funkcja zamieniająca małe litery na duże (lub na odwrót). Funkcja ta to transform przykład jej użycia jest w wierszu 52 (3*)

Kolejną ciekawą funkcją jest partial_sort która pozwala nam posortować wybrany przez nas zakres.
przykład użycia:

string lancuch = "987654321";
partial_sort (lancuch.begin(), lancuch.begin()+5, lancuch.end());
cout << lancuch;

wynikiem będzie: 123459876

niedziela, 15 stycznia 2012

Obsługa plików tekstowych w C++

W jaki sposób zapisać i odczytać dane z pliku tekstowe w C++?


Najpierw przykładowy kod potem przyjdzie czas na opis:

#include <iostream> 
#include <fstream> // 1

using namespace std;

void odwroc(string napis)
{
    for (int i = napis.length(); i >= 0 ; i-- )
    {
        cout << napis[i];
    }
}

int main()
{
    fstream plik;  // 2

    plik.open("test.txt",ios::in); // 3
    if(plik.good())  // 4
    {
        cout<<"otwarto plik\n";
        string tekst;
        while( !plik.eof() )  // 5
        {
            getline( plik, tekst );   // 6
            odwroc(tekst);
            cout <<endl<< tekst << endl;
        }
        plik.close();  // 7
    }else if (plik.bad()) cout << "blad otwarcia" << endl;  // 4

    fstream zapis("test.txt", ios::app|ios::out); // 8 
    if (zapis.good())
    {
        string tekst;
        cout << "wpisz tekst do zapisania w pliku:";
        getline(cin, tekst);  // 9
        zapis << tekst; // 10
        zapis.flush();
        zapis.close(); // 7

    }
    return 0;
}

1. Wczytujemy podstawową biblioteką do obsługi plików w C++ - fstream.

2. Inicjujemy zmienną która będzie komunikowała się z naszym plikiem

3. Otwieramy plik test.txt w trybie do odczytu - ios::in

4. W zależności od tego czy plik został poprawnie otwarty wyświetlamy odpowiedni komentarz, i wykonujemy operacje na nim tylko jeśli został poprawnie otwarty.

5. Odczytujemy zawartość pliku - while (!plik.eof()) - wykonuj instrukcje dopóki(while) nie jesteś(!) na końcu pliku (plik.eof())

6. Odczyt całej linii(wiersza) tekstu

7. Funkcja zamykająca plik

8. Inicjacja zmiennej wraz z nadaniem jej parametrów: plik do otwarcia "test.txt" w trybie dopisywania (ios::app) i zapisu (ios::out)

9. Pobranie tekstu z konsoli do zmiennej tekstowej.

10. Zapis do pliku przy pomoc strumienia << analogicznie jak cout wypisuje na ekranie tekst

niedziela, 20 listopada 2011

Algorytm poszukiwanie przez połowienie


Specyfikacja:

Dane: Zbiór elementów w postaci ciągu n uporządkowanych liczb x1<= x2<= …<=xn. Wyróżniony element y. Wynik: Jeśli y należy do tego zbioru, podaj miejsce (index) w ciągu, w przeciwnym razie sygnalizuj brak takiego elementu w zbiorze.

Algorytm:

Powtarzaj kroki 1-3, dopóki nie natrafisz na poszukiwany element.

Krok 1: Sprawdź element środkowy ciągu (gdy ciąg ma nieparzystą liczbę elementów) lub jeden z dwóch elementów środkowych (gdy ciąg ma parzystą liczbę elementów).

Krok 2: Jeśli jest on elementem poszukiwanym y, to zakończ algorytm.

Krok 3: Jeśli środkowy element jest większy od y, to pozostaw podciąg na lewo od elementu środkowego, a w przeciwnym wypadku (gdy element środkowy jest mniejszy od y), pozostaw podciąg na prawo od elementu środkowego.

Zadanie: Zapisz program „Zgadnij jaka to liczba?” odpowiadający na podane pytanie.
Wybierz partnera z grupy. Następnie partner wymyśli dowolną liczbę n z przedziały [1, 50], a Ty masz ją znaleźć, zadając mu pytania typu: „Czy to jest liczba …?” Na co Twój partner może jedynie odpowiedzieć : „Tak”- gdy trafiłeś, lub „Za mała”, „Za duża”- w zależności od położenia wybranej przez Ciebie liczby względem ukrytej liczby.

Wytłumaczenie do tego algorytmu z forum elektroda:
Jak się szuka? Mamy przykładowo 32 liczby, od zera do 31
1.
zakresDolny = 0
zakresGorny = 31

2.
pozycja = w połowie = (zakresDolny+zakresGorny)/2

3.
Jeżeli tablica[pozycja] == szukana to znaleziono, exit.

Jeżeli liczba w tablicy na pozycji `pozycja` jest mniejsza od szukanej, to przesuwamy dolny zakres nad aktualną pozycję, bo szukanej liczby na pewno nie będzie niżej (zakresDolny=pozycja+1).

Jeżeli liczba w tablicy na pozycji `pozycja` jest większa od szukanej, to znaczy że jesteśmy za wysoko, więc górna granica spada poniżej aktualnej pozycji: zakresGorny=pozycja-1.

Jeżeli górny zakres nie jest większy od dolnego, powtórz od kroku 2.


Jeżeli nie znaleziono liczby, to automatycznie mamy pozycję na którą można wstawić nową liczbę (przesuwając wszystkie elementy po `prawej` w `prawo` o jedną pozycję). Jest nią pozycja+x, gdzie x jest jedynką tylko wtedy, gdy ostatnie porównanie podniosło dolną granicę.

Kod:
On: Pomyślałem sobie liczbą od zera do 31, zgadnij jaką? (pomyślał sobie 9)
Ja: (liczę...)
zakresDolny = 0
zakresGorny = 31
połowa = (zakresDolny+zakresGorny)/2 = 15

Ja: pytam czy to 15
On: mniej

Ja: (liczę... zostały liczby 0-14)
zakresDolny = 0
zakresGorny = 15-1 = 14
połowa = (0+14)/2 = 7

Ja: pytam czy to 7
On: więcej

Ja: (liczę... zostały liczby 8-14)
zakresDolny = 7+1 = 8
zakresGorny = 14
połowa = (8+14)/2 = 11

Ja: pytam czy to 11
On: mniej

Ja: (liczę... zostały liczby 8,9,10)
zakresDolny = 8
zakresGorny = 11-1 = 10
połowa = (8+10)/2 = 9

Ja: pytam czy to 9
On: Tak

Implementacja w C++

#include <iostream>

using namespace std;

const int n = 50;
const int y = 10;

int wyszukaj (int p, int k, int tab[])
{
int l_zbioru = k - p;
int polowa_liczb = l_zbioru/2;
int srodek_zbioru = p + polowa_liczb;



    if ( y == tab[srodek_zbioru]) return tab[y];
    if (l_zbioru < 0) return 0;

    if ( y < tab[srodek_zbioru]  )
        {
           return wyszukaj(p,srodek_zbioru-1,tab);

        }

    if ( y > tab[srodek_zbioru] )  return  wyszukaj (srodek_zbioru+1,k,tab);



}
int main()
{
    int tab[n];
    for (int i = 1; i<=n; i++)
    {
        tab[i] = i;

    }

    cout << wyszukaj(1,n,tab);
    return 0;
}

sobota, 12 listopada 2011

Metoda pucharowa - algorytm turniejowy

Zadanie z publikacji Macieja M. Sysło, "Wyszukiwanie i porządkowanie informacji":
Zapisz w postaci listy kroków algorytm służący do znajdowania największej liczby w ciągu „metodą pucharową”; dany ciąg może mieć dowolną długość, nie koniecznie będąca potęgą liczby 2. Przyjmij, że na początku ciąg liczb jest dany w tablicy i postaraj się, by w trakcie algorytmu pozostałe z ciągu liczby także były pamiętane w tej samej tablicy. Zaimplementuj opisany algorytm w wybranym języku programowania.

Czyli piszemy program na znalezienie osoby która wygra turniej.
Dla ułatwienia dodałem dużo cout-ów służących jedynie analizie działanie programu.

Implementacja w C++ metody pucharowej:

#include <iostream>

using namespace std;

int main()
{
    srand(time(NULL));
    int n;
    cin >> n;
    int tab[n];

    for ( int i = 0 ; i < n ; i++)
    {
        tab[i] = rand()%100+1;
        cout << tab[i]<< "  ";
    }

    int p = n;  // dodatkowa zmienna p
    int j = 0;
do{
    for (int i = 0; i < n; i += 2)
    {
        if (i+1 < p ){

        cout << endl<< "walczy:" << tab[i] << " z : " << tab[i +1] ;
        //wygranych ustawiamy na poczatku tabeli w miejsca poprzednich przegranych
        if(tab[i] > tab[i+1] ) swap(tab[i/2], tab[i]);
            else swap(tab[i/2], tab[i+1]);
        cout << " wygral: " << tab[i/2];
        j++; // zwiekszamy licznik meczy
        }
        else swap(tab[i], tab[i/2]) ; // w przypadku nieparzystej liczby zawodnikow, ostatniego zawodnika umieszczamy na miejscu ostatniego przegranego
    }

   cout <<endl<<"Tabela po "<< j << " meczach: " << endl;
   for ( int i = 0 ; i < p ; i++)
   {
       cout << tab[i]<< "  ";
    }

    n = n/2;

}while (j != p-1);  // ilosc meczy ktore musza byc rozegrane to n-1

cout << endl << "Ostateczny wyglad tabeli: " <<endl;

for ( int i = 0 ; i < p ; i++)
{
    cout << tab[i]<< "  ";
}

cout << endl<< "Zwyciezca turnieju: " << tab[0];
    return 0;
}

niedziela, 6 listopada 2011

Algorytm Selection Sort – porządkowanie przez wybór

Algorytm Selection Sort – porządkowanie przez wybór


Specyfikacja:
Dane: Liczba naturalna n i ciąg n liczb x1, x2, …, xn
Wynik: Uporządkowane dane ciągu liczb od najmniejszej do największej, czyli ciąg wynikowy spełnia nierówność x1<= x2<= …<= xn (Uwaga! Elementy ciągu danego i wynikowego oznaczamy tak samo, gdyż porządkowanie odbywa się in situ, czyli „w miejscu”. ) Algorytm:
Krok 1: Dla i=1, 2, 3,…, n-1 wykonaj kroki 2 i 3, a następnie zakończ algorytm.
Krok 2: Znajdź k takie, xk jest najmniejszym elementem w ciągu xi,…, xn.
Krok 3: Zamień miejscami elementy xi oraz xk.


Zadanie: Zrealizuj powyższy problem dla wybranego n. Elementy losuj z zakresu
od -50 do 50.


Realizacja w C++ (kompilator Code::Blocks)
#include <iostream>

using namespace std;

int n;

int min_i(int tab[], int od)
{
    int min_in = 0;
    int min = 1000;

    for (int i = od; i<n; i++)
    {
        if (tab[i]<min)
        {
            min_in = i;
            min = tab[i];
        }

    }
    return min_in;
}


int main()
{
    srand(time(NULL));
    cout << "Podaj ilosc liczb do posortowania:";
    cin >>n;
    int tab[n];

    for (int i = 0 ; i < n ; i ++ )
    {
        tab[i] = rand()%101 -50 ;  // losujemy 101 liczb (od -50 do 50)
         cout.width(2);
        cout << i <<": " <<tab[i]<<endl;
    }



    cout <<endl <<"Po sortowaniu:" << endl;

    int k;
    for (int i = 0; i< n-1 ; i++ )
    {

        k = min_i(tab, i);
        swap(tab[i],tab[k]);
    }


    for (int i = 0 ; i < n ; i++ )
    {
        cout.width(2);
        cout << i <<": " <<tab[i]<<endl;
    }

    return 0;
}

piątek, 21 października 2011

Schemat Hornera


Program na obliczenie wartości wielomianu schematem Hornera iteracyjne i rekurencyjnie

#include <iostream>

using namespace std;


float horner_r (int stopien, int tablica_wsploczynnikow[], int argument)
{
    if (stopien==0)
        return tablica_wsploczynnikow[0];
    else
        return horner_r(stopien-1,tablica_wsploczynnikow,argument)*argument+tablica_wsploczynnikow[stopien];
}

float horner_i (int stopien, int tablica_wsploczynnikow[], int argument)
{
    float wynik=tablica_wsploczynnikow[0];
    for (int i = 1; i<= stopien; i++)
    {
        wynik = wynik * argument + tablica_wsploczynnikow[i];
        cout << i<<": "<<wynik<<endl;
    }
    return wynik;
}
int main()
{
    int stopien,argument;
    cout << "Podaj stopien wielomianu: " << endl;
    cin>> stopien;
    int tablica_wsploczynnikow[stopien];
    cout << "Podaj argument dla ktorego chcesz obliczyc wielomian: " << endl;
    cin >> argument;
    cout << "Podaj wsploczynniki: "<< endl;
    for(int i = 0; i <= stopien; i++)
    {
        cin >> tablica_wsploczynnikow[i];
    }

 cout <<"rekurencyjnie: " << horner_r(stopien,tablica_wsploczynnikow,argument)<<endl;
cout << "itercyjnie: " << horner_i(stopien,tablica_wsploczynnikow,argument);
    return 0;
}

Program na zmianę liczby o podstawie 2-9 na liczbę dziesiętną

#include <iostream>
#include <string>

using namespace std;

int main()
{
  string s;
  unsigned podstawa,L,c;

  cout << "Podaj podstawe (2 do 10):";
  cin >> podstawa;
  cout << "\nPodaj liczbe: ";
  cin>>s;
  L = s[0] - int('0');  // Od pierwszego znaku w ASCII w s[] odejmujemy znak ASCII zera (48)
  for(int i = 1; i < s.length(); i++)
  {
    c = s[i] - int('0');  //wczytujemy do c znak ASCII na i-pozycji i zmieniamy go na odpowiadaj¹ca mu liczbê
    L = L * podstawa + c; // stosujemy schemat hornera
  }
  cout << "\nLiczba " << s << "(" << podstawa << ") = " << L << "(10)";

    return 0;
}

niedziela, 9 października 2011

Algorytm szukania najmniejszej i największej liczby w podanym zbiorze

Algorytm 1 - min

Zadanie: Znajdź najmniejszą liczbę spośród podanego zbioru i podaj jej miejsce w zbiorze.

Specyfikacja:
Dane: Liczba naturalna n i zbiór n liczb
Wynik: Najmniejsza spośród liczb w zbiorze i jej miejsce w zbiorze.

Implementacja w C++

#include <iostream>

using namespace std;

int main()
{
    unsigned int n, min, miejsce;
    cout << "Podaj ilosc elementow: " << endl;
    cin >> n;
    unsigned int t[n];
    for (unsigned int i = 1; i<=n; i++ )
    {
        cout << i << ": ";
        cin >> t[i-1];
        cout << endl;
    }

    min = t[0];

    for (int i = 1; i<n; i++ )
    {
        if(t[i] < min)
        {
            min = t[i];
            miejsce = i;
        }
    }


    cout << "Najmniejsza: "<< min << endl<< "Jest " << miejsce+1<< " liczba w zbiorze";
    return 0;
}

Złożoność algorytmu: T(n) = n - 1

Algorytm 2 - min i max - metodą dziel i zwyciężaj

Zadanie: Znajdź najmniejszą i największą liczbę spośród podanego zbioru.

Specyfikacja:
Dane: Liczba naturalna n i zbiór n liczb
Wynik: Najmniejsza i największa spośród liczb w zbiorze

Implementacja w C++
#include <iostream>

using namespace std;

int main()
{
    unsigned int n, min, max;

    cout << "Podaj ilosc elementow: " << endl;
    cin >> n;
    unsigned int t[n];

    for (unsigned int i = 1; i<=n; i++ )
    {
        cout << i << ": ";
        cin >> t[i-1];
        cout << endl;
    }

  if (n % 2){ t[n] = t[n-1] }

     min = t[0];
     max = t[0];

    for (unsigned int i = 0; i<n; i=i+2 )
    {
        if (t[i]<t[i+1])
        {
            if(t[i] < min)
                min = t[i];
            if(t[i+1] > max)
                max = t[i+1];
        }

       else //if (t[i] > t[i+1])
       {
            if(t[i+1] < min)
                min = t[i+1];
            if(t[i] > max)
                max = t[i];
       }

    }

    cout << "Najmniejsza: "<< min << endl;
    cout << "Najwieksza: "<< max << endl;

    return 0;
}


Złożoność algorytmu: 3/2 * n

sobota, 1 października 2011

Matura z informatyki - algorytmy

Algorytmy i metody algorytmiczne które są wymagane przez cke:

Poziom podstawowy:
a) algorytmy badające własności liczb całkowitych i naturalnych
b) algorytmy wyszukiwania i porządkowania (sortowania)
c) algorytmy na tekstach
d) proste algorytmy szyfrowania
e) dziel i zwyciężaj
f) iteracja i rekurencja

Poziom rozszerzony:
to co na podstawie +
- metoda zachłanna
- schemat Hornera
- algorytmy numeryczne
- algorytmy kompresji

Strasznie to wygląda, ale damy rady ;) W następnych artykułach opiszę każdy z tych podpunktów.

piątek, 30 września 2011

Matura z informatyki

Czas już najwyższy by zacząć się przygotowywać do matury...

Zacznijmy od wymagań: Kliknij by rozwinąć/ukryć


I. WIADOMOŚCI I ROZUMIENIE

Zdający zna i rozumie podstawowe pojęcia, metody, narzędzia i procesy
związane z informatyką i technologią informacyjną:

POZIOM PODSTAWOWY:


1) opisuje środki, narzędzia i metody informatyki posługując się poprawną
terminologią informatyczną

2) zna rolę, funkcje i zasady pracy sprzętu komputerowego

3) charakteryzuje typowe narzędzia informatyczne i ich zastosowania

4) zna podstawową terminologię związaną z sieciami komputerowymi:
rodzaje sieci, protokoły, opisuje podstawowe usługi sieciowe
i sposoby ochrony zasobów

5) omawia przydatność i wiarygodność różnych źródeł i zbiorów informacji oraz
użyteczność sposobów i form ich reprezentowania

6) zna sposoby reprezentowania informacji w komputerze

7) zna podstawowe algorytmy i techniki algorytmiczne:

a) algorytmy badające własności liczb całkowitych i naturalnych
b) algorytmy wyszukiwania i porządkowania (sortowania)
c) algorytmy na tekstach
d) proste algorytmy szyfrowania
e) metoda dziel i zwyciężaj
f) iteracja i rekurencja

8) zna zasady programowania strukturalnego

9) zna podstawowe własności algorytmów

10) zna podstawowe pojęcia związane z relacyjnymi bazami danych

11) zna i opisuje zasady etyczne i prawne związane z wykorzystywaniem
informacji i oprogramowania


POZIOM ROZSZERZONY:


Jak na poziomie podstawowym oraz

1) zna i opisuje zasady administrowania siecią komputerową

2) charakteryzuje sposoby reprezentowania informacji w komputerze

3) zna systemy liczbowe mające zastosowanie w informatyce

4) zna techniki algorytmiczne i algorytmy:

a) dziel i zwyciężaj
b) metoda zachłanna
c) iteracja i rekurencja
d) badające własności liczb całkowitych
e) wyszukiwania i porządkowania (sortowania)
f) schemat Hornera
g) algorytmy na tekstach
h) algorytmy numeryczne
i) algorytmy kompresji

5) zna wybrane struktury danych i ich realizację

6) zna zasady programowania obiektowego


II. KORZYSTANIE Z INFORMACJI

Zdający stosuje posiadaną wiedzę do rozwiązywania zadań teoretycznych i praktycznych:

POZIOM PODSTAWOWY:



1) posługuje się typowymi programami użytkowymi

2) wykorzystuje wybrane środowisko programistyczne do zapisywania,
uruchamiania i testowania programu

3) korzysta z zasobów i usług sieci komputerowych

4) stosuje metody wyszukiwania i przetwarzania informacji w relacyjnych
bazach danych

5) stosuje podstawowe algorytmy i struktury danych w rozwiązywaniu
problemów informatycznych

6) dobiera właściwy program (użytkowy lub własnoręcznie napisany)
do rozwiązywanego zadania

7) wykorzystuje zdobytą wiedzę i umiejętności do rozwiązywania zadań
z różnych dziedzin nauczania i problemów z życia codziennego

POZIOM ROZSZERZONY:

Jak na poziomie podstawowym oraz

1) stosuje metody wyszukiwania i przetwarzania informacji w relacyjnych
bazach danych z wykorzystaniem różnych technik i narzędzi

2) stosuje kolejne etapy prowadzące do otrzymania poprawnego rozwiązania
problemu: od sformułowania specyfikacji problemu po testowanie rozwiązania

3) stosuje narzędzia i techniki informatyczne do modelowania i symulacji
procesów oraz zjawisk



III. TWORZENIE INFORMACJI

Zdający stosuje metody informatyczne do rozwiązywania problemów:


POZIOM PODSTAWOWY:

1) tworzy specyfikację problemu, proponuje i analizuje jego rozwiązanie
2) formułuje informatyczne rozwiązanie problemu przez dobór
algorytmu oraz odpowiednich struktur danych i realizuje je w wybranym
języku programowania

3) projektuje relacyjne bazy danych i wykorzystuje do ich realizacji
system bazy danych

4) wykorzystuje różnorodne źródła i zasoby informacji do tworzenia
dokumentów tekstowych i multimedialnych


POZIOM ROZSZERZONY:

Jak na poziomie podstawowym oraz

1) projektuje i przeprowadza wszystkie etapy na drodze do otrzymania
informatycznego rozwiązania problemu

2) wykorzystuje metody informatyki w rozwiązywaniu problemów

3) uzasadnia poprawność, złożoność i efektywność rozwiązania problemu

4) projektuje relacyjne bazy danych i proste aplikacje bazodanowe

5) tworzy dokumenty sieciowe i multimedialne z użyciem zaawansowanych
technik, w tym programowania

6) opisuje nowe zastosowania narzędzi informatyki i antycypuje
ich konsekwencje dla życia społecznego,
gospodarczego (korzyści i zagrożenia)

Jak już wiemy czego trzeba się nauczyć to czas zacząć się uczyć ;D
Kolejne artykuły będą zawierać informację właśnie związane z maturą, jeżeli jest jakiś temat którego nie rozumiecie a chcielibyście bym omówił napiszcie w komentarzach.