- lokalne
- globalne
poniedziałek, 23 października 2017
Zmienna lokalna i globalna
Zasięg zmiennej- określa zakres widoczności nazwy zmiennej w obrębie pliku.
Zmienna lokalna – zmienna zdefiniowana i dostępna wyłącznie w określonym bloku programu, tworzona w momencie wejścia do tego bloku oraz usuwana z pamięci w momencie wyjścia z danego bloku. Tym samym zasięg zmiennej lokalnej oraz czas jej życia pokrywaną się i obejmują blok, w którym zmienna lokalna jest zdefiniowana.
Zmienna globalna – zmienna istniejąca przez cały czas życia programu i widziana z wielu miejsc w programie.
Funkcje zwracające w języku C++
Funkcja zwracająca wartość- wylicza wartość i odsyła tę wartość do funkcji wywołującej. Mówimy, że funkcja zwraca wartość (void).
Funkcje zwracające wartość muszą zawierać instrukcję return z wartością, która ma być zwrócona do funkcji wywołującej . Przykład:
return a*b;
return Wynik;
Można również wywołać ją poprzez nazwę, np. SumaKwadrat ();
Parametr- wartość przekazywana funkcji.
Wartość zwracana- wartość przekazywana z funkcji.
Funkcje zwracające wartość muszą zawierać instrukcję return z wartością, która ma być zwrócona do funkcji wywołującej . Przykład:
return a*b;
return Wynik;
Można również wywołać ją poprzez nazwę, np. SumaKwadrat ();
Parametr- wartość przekazywana funkcji.
Wartość zwracana- wartość przekazywana z funkcji.
wtorek, 10 października 2017
Stosowanie procedur i funkcji w językach programowania
1.MODELE PROGRAMOWANIA.
*PROGRAMOWANIE LINIOWE- program jest ciągiem instrukcji języka programowania.Nie wyróżnia się bloków strukturalnych (zawierające instrukcje warunkowe lub iteracyjne).Są one realizowane za pomocą instrukcji skoku (przejście do określonego miejsca w programie).Nie ma wyodrębnionych procedur i funkcji.
*PROGRAMOWANIE STRUKTURALNE- program ma określoną strukturę, w której można wyodrębnić deklaracje(modułów,zmiennych i stałych), definicje programów oraz bloki instrukcji. Nie jest konieczna instrukcja skoku.Każda zmienna ma ściśle określony typ
*PROGRAMOWANIE MODULARNE- koncepcja programowania modularnego stanowi rozszerzenia podejścia proceduralnego, w którym powtarzające się ciągi instrukcji zapisuje się w postaci procedur i funkcji, nadających się do wielokrotnego wykorzystania.Moduł jest strukturą nadrzędną w stosunku do procedur i funkcji.
*PROGRAMOWANIE OBIEKTOWE- program to zbiór obiektów, z których każdy posiada określone właściwości i metody.Metody opisane są za pomocą programowania strukturalnego.Programowanie obiektowe służy do realizacji złożonych projektów.
*PROGRAMOWANIE ZDARZENIOWE- program to zbiór obiektów, jednak kolejność wykonywania instrukcji programu nie jest zdefiniowana przez programistę, lecz zależy od zaistnienia określonych zdarzeń ( np. naciśnięcie myszy przez użytkownika, wprowadzenia danej i upływu odpowiedniego czasu).Programowanie zdarzeniowe jest ściśle powiązane z tworzeniem interfejsu między programem a i użytkownikiem.
2.PROGRAMOWANIE ZSTĘPUJĄCE I WSTĘPUJĄCE.
3.ZALETY STOSOWANIA PODPROGRAMÓW (PROCEDUR I FUNKCJI).
*PROGRAMOWANIE LINIOWE- program jest ciągiem instrukcji języka programowania.Nie wyróżnia się bloków strukturalnych (zawierające instrukcje warunkowe lub iteracyjne).Są one realizowane za pomocą instrukcji skoku (przejście do określonego miejsca w programie).Nie ma wyodrębnionych procedur i funkcji.
*PROGRAMOWANIE STRUKTURALNE- program ma określoną strukturę, w której można wyodrębnić deklaracje(modułów,zmiennych i stałych), definicje programów oraz bloki instrukcji. Nie jest konieczna instrukcja skoku.Każda zmienna ma ściśle określony typ
*PROGRAMOWANIE MODULARNE- koncepcja programowania modularnego stanowi rozszerzenia podejścia proceduralnego, w którym powtarzające się ciągi instrukcji zapisuje się w postaci procedur i funkcji, nadających się do wielokrotnego wykorzystania.Moduł jest strukturą nadrzędną w stosunku do procedur i funkcji.
*PROGRAMOWANIE OBIEKTOWE- program to zbiór obiektów, z których każdy posiada określone właściwości i metody.Metody opisane są za pomocą programowania strukturalnego.Programowanie obiektowe służy do realizacji złożonych projektów.
*PROGRAMOWANIE ZDARZENIOWE- program to zbiór obiektów, jednak kolejność wykonywania instrukcji programu nie jest zdefiniowana przez programistę, lecz zależy od zaistnienia określonych zdarzeń ( np. naciśnięcie myszy przez użytkownika, wprowadzenia danej i upływu odpowiedniego czasu).Programowanie zdarzeniowe jest ściśle powiązane z tworzeniem interfejsu między programem a i użytkownikiem.
2.PROGRAMOWANIE ZSTĘPUJĄCE I WSTĘPUJĄCE.
- PROGRAMOWANIE ZSTĘPUJĄCE- czyli "z góry do dołu"- najpierw planuje się całość, a potem dochodzi do szczegółów.Zaczynamy od sformułowania zadania głównego, potem poddajemy je analizie i dzielimy na mniejsze moduły, czasem aż do najbardziej elementarnych części.
- PROGRAMOWANIE WSTĘPUJĄCE- czyli "z dołu do góry"-ze szczegółowych elementów składa się całość. Na początku określamy zestaw elementarnych zadań, których wykonanie jest konieczne do realizacji zadania głównego.
3.ZALETY STOSOWANIA PODPROGRAMÓW (PROCEDUR I FUNKCJI).
- Dzielenie zadanie na mniejsze części (każda może być realizowana w oddzielnej procedurze lub funkcji)
- Wprowadzenie porządku do programu.
- Unikanie powtórzeń
- Łatwiejsze wyszukiwanie błędów i dokonywanie poprawek
- Programowanie zespołowe.
piątek, 6 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.
ZADANIE: Napisz listę kroków algorytmu, który umożliwi wyprowadzenie na ekran komputera prostokąta o bokach n,m narysowanego za pomocą znaków *
(m-liczba znaków * w poziomie, n-liczba znaków * w pionie).
Wnętrze prostokąta powinno być wypełnione znakiami *.
DANE: liczby naturalne dodatnie, określające ilość znaków * w prostokącie o bokach n,m.
WYNIK: prostokąt o wymiarach m*n , zbudowany ze znaków *.
LISTA KROKÓW:
1.Zacznij algorytm.
2.Zmiennej i przypisz wartość jeden: i=1
3.Jeśli i jest większe od n, przejdź do kroku 4;
w przeciwnym przypadku
3.1. Zmiennej j przypisz wartość jeden
3.2. Jeśli j jest większe od m,
przejdź do nowego wiersza;
zwiększ licznik i o jeden
wróć do kroku 3;
w przeciwnym wypadku
wyprowadź ("*")
zwiększ licznik j o jeden
wróć do kroku 3.2.;
4. Zakończ algorytm.
2.SCHEMAT BLOKOWY.
3.LISTING PROGRAMU W C++.
#include <iostream>
using namespace std;
int main()
{
int n,m,j,i;
cout << "Program rysujacy prostokat z gwiazdek\n";
cout <<"Wprowadz dlugosc: ";
cin >> n;
cout <<"Wprowadz szerokosc ";
cin >> m;
for (i=0;i<n;i++)
{
for(j=0; j<m; j++)
cout << "*";
cout << endl;
}
return 0;
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.
ZADANIE: Napisz listę kroków algorytmu, który umożliwi wyprowadzenie na ekran komputera prostokąta o bokach n,m narysowanego za pomocą znaków *
(m-liczba znaków * w poziomie, n-liczba znaków * w pionie).
Wnętrze prostokąta powinno być wypełnione znakiami *.
DANE: liczby naturalne dodatnie, określające ilość znaków * w prostokącie o bokach n,m.
WYNIK: prostokąt o wymiarach m*n , zbudowany ze znaków *.
LISTA KROKÓW:
1.Zacznij algorytm.
2.Zmiennej i przypisz wartość jeden: i=1
3.Jeśli i jest większe od n, przejdź do kroku 4;
w przeciwnym przypadku
3.1. Zmiennej j przypisz wartość jeden
3.2. Jeśli j jest większe od m,
przejdź do nowego wiersza;
zwiększ licznik i o jeden
wróć do kroku 3;
w przeciwnym wypadku
wyprowadź ("*")
zwiększ licznik j o jeden
wróć do kroku 3.2.;
4. Zakończ algorytm.
2.SCHEMAT BLOKOWY.
3.LISTING PROGRAMU W C++.
#include <iostream>
using namespace std;
int main()
{
int n,m,j,i;
cout << "Program rysujacy prostokat z gwiazdek\n";
cout <<"Wprowadz dlugosc: ";
cin >> n;
cout <<"Wprowadz szerokosc ";
cin >> m;
for (i=0;i<n;i++)
{
for(j=0; j<m; j++)
cout << "*";
cout << endl;
}
return 0;
}
Algorytm iteracyjny iloczyn n liczb
1.SPECYFIKACJA
Instrukcją interacji (pętli) nazywamy instrukcje powtarzania danego ciągu operacji.Lista powtórzeń może być ustalona przed wykonaniem instrukcji lub może zależeć od spełnienia pewnego warunku.
SPECYFIKACJA PROBLEMU:
ZADANIE: Oblicz iloczyn n liczb całkowitych.
DANE: n dowolnych liczb całkowitych, kolejno zapamiętywanych w zmiennej a.
WYNIK: wartość iloczynu: iloczyn.
LISTA KROKÓW:
1.Zacznij algorytm.
2.Zmiennej iloczyn oraz zmiennej i przypisz wartość jeden iloczyn:=1; i:=1.
3.Wprowadź liczbę całkowitą i zapamiętaj ją w zmiennej a.
4.Pomnóż iloczyn przez wprowadzoną liczbę a: iloczyn:=iloczyn*a.
5.Jeśli i nie równa się n, zwiększ licznik o jeden (i:=i+1) i wróć do kroku 3.
6.Wyprowadź wynik: iloczyn.
7. Zakończ algorytm.
2.SCHEMAT BLOKOWY
3.LISTING PROGRAMU
#include <iostream>
using namespace std;
int main ()
{
int i,a,iloczyn,n;
cout << "Podaj ilosc liczb do przemnozenia: ";
cin >> n;
iloczyn=1;
for (i=0; i<n; i++)
{
cout << "Wpisz liczbe nr " <<i+1<< ":" ;
cin >>a;
iloczyn*=a;
}
cout << "Iloczyn podanych liczb: "<<iloczyn;
return 0;
}
Instrukcją interacji (pętli) nazywamy instrukcje powtarzania danego ciągu operacji.Lista powtórzeń może być ustalona przed wykonaniem instrukcji lub może zależeć od spełnienia pewnego warunku.
SPECYFIKACJA PROBLEMU:
ZADANIE: Oblicz iloczyn n liczb całkowitych.
DANE: n dowolnych liczb całkowitych, kolejno zapamiętywanych w zmiennej a.
WYNIK: wartość iloczynu: iloczyn.
LISTA KROKÓW:
1.Zacznij algorytm.
2.Zmiennej iloczyn oraz zmiennej i przypisz wartość jeden iloczyn:=1; i:=1.
3.Wprowadź liczbę całkowitą i zapamiętaj ją w zmiennej a.
4.Pomnóż iloczyn przez wprowadzoną liczbę a: iloczyn:=iloczyn*a.
5.Jeśli i nie równa się n, zwiększ licznik o jeden (i:=i+1) i wróć do kroku 3.
6.Wyprowadź wynik: iloczyn.
7. Zakończ algorytm.
2.SCHEMAT BLOKOWY
3.LISTING PROGRAMU
#include <iostream>
using namespace std;
int main ()
{
int i,a,iloczyn,n;
cout << "Podaj ilosc liczb do przemnozenia: ";
cin >> n;
iloczyn=1;
for (i=0; i<n; i++)
{
cout << "Wpisz liczbe nr " <<i+1<< ":" ;
cin >>a;
iloczyn*=a;
}
cout << "Iloczyn podanych liczb: "<<iloczyn;
return 0;
}
poniedziałek, 22 maja 2017
Edytor stron WIX
WIX(http://pl.wix.com) to jeden z najpopularniejszych, a zarazem oferujących największe możliwości, darmowych generatorów stron internetowych. Jest ponadto dostępny w języku polskim. Oferuje kilkaset gotowych szablonów w ponad 70 kategoriach - zarówno dla witryn jedno, jak i wielostronicowych. Umożliwia konstrukcję witryny na zasadzie drag and drop (przeciągnij i upuść), co sprawia, że jej tworzenie jest jeszcze łatwiejsze i bardziej intuicyjne. WIX integruje się z portalami społecznościowymi, udostępnia wersję mobilną budowanej strony, pozwala na stworzenie sklepu internetowego.
poniedziałek, 6 marca 2017
Sungrazing Comets
Komety muskające Słońce (ang. Sungrazing comet)- komety, które przechodząc przez punkt przysłoneczny swojej orbity, przechodzą ekstremalnie blisko powierzchni Słońca. Podczas takich spotkań może dojść do rozpadu tych komet, bądź mogą one ulec destrukcji w koronie słonecznej.
Przykładowe komety muskające Słońce:
- Wielka Kometa Wrześniowa z roku 1882,
- Kometa Howard-Koomen-Michels,
- P/2007 R5,
- C/2011 W3 (Lovejoy).
Do komet muskających Słońce należy 5 grup: Kreutza, Krachta, Krachta II, Marsdena (Machholza) i Meyera. Grupa Kreutza jest najbardziej rozpowszechniona. Należy do niej ponad 1000 obiektów (aż 90% komet obserwowanych przez sondę SOHO należy do tej właśnie grupy komet). Do grupy Kreutza należy np. Kometa Ikeya-Seki. Komety z grupy Kreutza powstały prawdopodobnie w wyniku kolejnych rozpadów jednej, ogromnej komety przelatującej bardzo blisko Słońca w XII wieku[1]. Zarówno do grupy Marsdena, jak i Krachta należy kometa 96P/Machholz; one też są źródłem dwóch rojów meteorów: Kwadrantyd (pochodzącego od planetoidy (196256) 2003 EH1) i Arietyd (pochodzącego od asteroidy (1566) Ikar).
Subskrybuj:
Posty (Atom)

