Zeszyt do informatyki
środa, 27 marca 2019
Reprezentacja danych numerycznych i algorytmy numeryczne
Liczby całkowite zapisuje się w postaci binarnej, używając kodu uzupełnionego do dwóch.
Liczbę rzeczywistą można zapisać w systemie pozycyjnym o dowolnej podstawie wykorzystując reprezentacje stałopozycyjną lub reprezentacyjną zmiennopozycyjną. Ponieważ niektóre liczby wymagają dużej ilości bitów do zapisuj stałopozycyjnego, większość komputerów wykorzystuje zmiennoprzecinkowe.
Wybrane algorytmy
Wieża Hanoi:
Przy tworzeniu algorytmów często korzystamy z zasady "dziel i zwyciężaj". Zasada ta została zastosowana miedzy innymi w algorytmach sortowania przez scalenie, szybkiego sortowania i wyszukiwania binarnego.
Sito Eratostenesa:
Algorytm sita Eratostenesa polega na usuwaniu z zadanego przedział wszystkich liczb złożonych, czyli eliminowaniu z niego liczb będących wielokrotnościami kolejnych liczb pierwszych - inaczej szukanie liczb pierwszych.
Tworzenie własnych modułów
W PASCAL:
Interfejs - opisuje stałe, zmienne, typy danych, procedury i funkcje. Jest ona publiczna.
interface { część modułu określająca interfejs }
implementacja - opisuje działanie procedur i funkcji. Są one prywatne dla modułu.
implementation { część implementacyjna modułu }
W C++:
plik nagłówkowy - odpowiednik interfejsu, zawiera deklaracje (h)
plik zawierający właściwy kod - odpowiedniki implementacji. (.cpp)
sobota, 23 marca 2019
Programowanie modularne i obiektowe
Moduł to zbiór stałych, zmiennych, typów danych, procedur i funkcji, który oznaczony jest unikatową nazwą.
W języku C++ dyrektywa preprocesora #include określa, jakie pliki nagłówkowe mają zostać dołączone do kodu programu.
#include <iostream> - standar. biblioteka C++
#include <stdio.h> - standar. biblioteka C
<cmath> - funkcje matematyczne
<cstdio> - operacje wejścia/wyjścia
<cstdlib> - funkcje narzędziowe
<ctstring> - opreacje na łańcuchach znakowych
<ctime> - funkcja czasu/daty
wtorek, 19 marca 2019
Dynamiczne struktury danych
Zmienna, która nie przechowuje wartości, tylko adres, pod którym znajduje się inna zmienna, nazywana jest zmienna wskaźnikową.
Zmienne dynamiczne to zmienne , dla których pamięć jest przydzielana i zwalnia w trakcie trwania programu.
Drzewo binarne jest nieliniową strukturą danych, która składa się z wyróżnionego wierzchołka, zwanego korzeniem i dwóch poddrzew binarnych.
Wyróżnia się lewego i prawego syna wierzchołka.
czwartek, 14 marca 2019
Przetwarzanie danych typu struktualnego
Aby w programach można było przetwarzać dane różnego rodzaju, w języki C++ wprowadzono typ strukturalny.
Do tworzeniach takich struktur służy: struct.
Aby odwołać się do pojedynczego pola, podajemy nazwę zmiennej typu rekordowego i nazwę pola rekordu, oddzielone od siebie kropką.
sobota, 9 marca 2019
Losowanie danych i sprawdzanie ich poprawności
(szyfrowanie, gry komputerowe, rzuty sześcienną kostką, grafika komputerowa) - przypadkowość
Symulacja rzutów sześcienną kostką do gry
#include <iostream>
#include <cstdlib>
using namepsace std;
int i;
int main ()
{
for(i=0; i<10; i++)
cout << "Wypadło: " << rand()%6+1 << endl;
return 0;
}
Pisząc programy, należy zapewnić sprawdzenie poprawności wprowadzanych funkcji rand() i srand() - C++ - umożliwia to losowanie danych liczbowych przez komputer.
Dobry program powinien być odporny na błędy użytkownika. W momencie wprowadzenia przez niego bezsensownych danych, działanie programu nie powinno zostać w żaden sposób przerwane.
Subskrybuj:
Posty (Atom)