Pokazywanie postów oznaczonych etykietą 2A. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą 2A. Pokaż wszystkie posty

poniedziałek, 27 maja 2013

Inf. dla 2A - L.48


Temat: Hiperłącza w HTML
Hiperłącza w HTML tworzone są za pomocą znaczników <a></a>

Przykład hiperłącza, które prowadzi na stronę szkoły:
<a href="http://pyrzycegim.com/">Publiczny Gimnazjum w Pyrzycach</a>

Zadanie: utwórz stronkę z menu, które prowadziłoby do podstron. Podstrony z kolei też powinni zawierać W tym celu wykonaj następujące kroki:

  1. W folderze Moi Dokumenty utwórz folder z nazwą swojej klasy, a w nim folder z twoim imieniem i nazwiskiem, a w nim folder Stronka.
  2. W folderze Stronka utwórz 4 pliki: o-nas.html, dzieje-sie.html, kadra.html, uczniowie.html.
    Uwaga! 
    • Pliki stwórz w Notatniku, a kiedy będziesz zapisywać je po raz pierwszy, to wybierz kodowanie UTF-8. 
    • Pliki można najpierw zapisać w formacie txt, a następnie zmienić ich rozszerzenie na html
      ( znajdziesz je w Mój Komputer, zaznaczysz każdy po kolei i wciśniesz F2, by zmienić imię)
  3. W każdym z tych plików stwórz tabelę, zawierającą jeden wiersz z dwoma komórkami.
    • W pierwszej komórce będzie Menu z listą odnośników na podstrony.
    • W drugiej komórce będzie tytuł podstrony, odpowiednio: "O nas", "Dzieje się", "Kadra", "Uczniowie"
  4. Odnośniki w menu powinni być hiperłączami, prowadzącymi do odpowiednich plików html z punktu 2.


poniedziałek, 13 maja 2013

Inf. dla 2A - L.47

Temat: Wstęp w HTML.
HTML - (ang. HyperText Markup Language) –hipertekstowy język znaczników, obecnie szeroko wykorzystywany do tworzenia stron internetowych.
http://htmledit.squarefree.com/ - online edytor HTML

Podstawowe znaczniki:
<i> </i> - kursywa
<b> </b> - pogrubienie
<u> </u> - podkreślenie
<p> </p> - akapit
<br> - przerywanie linijki tekstu i przeniesienie kursora na następną linijkę
<img src="adres_URL"> - wstawia rysunek z podanego adresu
<a href="adres_URL"> </a> - hiperłącze do podanego adresu
<h1> </h1> - Nagłówek 1
<h2> </h2> - Nagłówek 2
<h3> </h3> - Nagłówek 3
<ul> </ul> - lista punktowana
<ol> </ol> - lista numerowana
<li> </li> - elementy listy
Zadanie: W edytorze HTML napisz i sformatuj artykuł tak, jak na stronie szkoły: http://pyrzycegim.com/index.php?link=konkurs-curie-portret.

czwartek, 9 maja 2013

Inf. dla 2A - L.46

Temat: Algorytmy iteracyjne w Pascal. Zamiana wartości zmiennych.

Przypomnijmy, że pętla while do jest używana w takiej postaci:

while (warunek_kontynuacji) do
        begin
        end;

Żeby zamienić wartości dwóch zmiennych należy użyć trzeciej zmiennej dla tymczasowego przechowywania informacji.
Na przykład, mamy zmienne a=5 i b=1. Należy użyć jakiejś trzeciej zmienne, na przykład c, w taki sposób:

  1. c:=a;
  2. a:=b;
  3. b:=c;

Tłumaczenie:

  1. Do zmiennej c zapisuje się wartość zmiennej a, to znaczy 5 (a=5, b=1, c=5)
  2. Do zmiennej a zapisuje się wartość zmiennej b, to znaczy 1 (a=1, b=1, c=5)
  3. Do zmiennej b zapisuje się wartość zmiennej c, to znaczy 5 (a=1, b=5, c=5)

Zadanie 1: Napisz program, który odczytywałby dwie liczby wprowadzone z klawiatury i wypisywałby na ekranie wszystkie liczby pomiędzy mniejszą z nich a większą. (na przykład wprowadzono 4 i 1, wtedy program wypisuje 1, 2, 3, 4)

Planowanie programu:

  1. Użyjemy 3 zmienne: max (pierwsza liczba), min (druga liczba), i (licznik) - całe liczby.
  2. Odczytamy z klawiatury 2 liczby i zapiszemy do zmiennych max i min
  3. Sprawdzimy, czy min jest mniejszy od max. Jeżeli nie, to zamienimy wartości zmiennych.
  4. Wartość licznika ustawimy równą wartości min.
  5. Użyjemy pętlę while () do, by wypisywać wartość licznika na ekranie i zwiększać go na każdym kroku. Pętla wykonywana będzie tak długo, jak długo licznik będzie pozostawał mniejszy lub równy max. 

poniedziałek, 6 maja 2013

Inf. dla 2A - L.45

Temat: Algorytmy iteracyjne w Pascal. Pętla while do.
Pętla while do jest używana w takiej postaci:

while (warunek_kontynuacji) do
        begin
        end;

Przykład wypisujący na ekranie liczby od 1 do wybranej przez użytkownika liczby (i - licznik, a - wybrana przez użytkownika liczba):

Program iteracyjny;
var i, a: integer;
begin
write('Wprowadź liczbę: ');
readln(a);
i:=1;
while (i<a) do
         begin
         write(i,'  ');
         i:=i+1;
         end;
readln;
end.

Zadanie 1: Napisz program, który odczytywałby wprowadzoną z klawiatury liczbę i wyprowadzałby tyle gwiazdek na ekranie, ile wynosi ta liczba.
Zadanie 2: Napisz program, który odczytywałby dwie liczby wprowadzone z klawiatury i wypisywałby na ekranie wszystkie liczby pomiędzy mniejszą z nich a większą. (na przykład wprowadzono 4 i 1, wtedy program wypisuje 1, 2, 3, 4)

czwartek, 18 kwietnia 2013

Inf. dla 2A - L.44

Temat: Algorytmy warunkowe w Pascal.
Algorytmy warunkowe w Pascal są realizowane za pomocą struktury:
if (warunek) then
blok1
else
blok2
To znaczy, że jeżeli spełnia się warunek po if, to jest wykonywany blok znajdujący się po then, a jeżeli warunek nie spełnia się, to będzie wykonywany blok po else.
Uwaga! Przed else nigdy nie piszemy średnik!
Jeżeli blok1 lub blok2 zawierają więcej niż jedną linijkę kodu, to należy go otworzyć poleceniem begin i zamknąć poleceniem end

if (warunek) then
   begin
   blok1
   end
   else
      begin
      blok2
      end;
Przykład 1:
Przykład programu, porównującego wprowadzoną liczbę do zera:
program Algorytm_warunkowy;
var i: integer;
begin
write('Wprowadz liczbe: ');
readln(i);
if (i=0) then
   writeln('Wprowadzona liczba rowna zeru')
   else
      writeln('Wprowadona liczba nie rowna zeru');
readln;
end.

Zadanie 1: Napisz program, który odczytywałby 2 liczby i obliczałby ich iloraz. Sprawdź, czy druga liczba nie jest równa zeru. Jeżeli tak, to nie obliczaj iloraz, tylko napisz na ekranie powiadomienie o tym, że dzielić przez zero nie wolno.


Przykład 2:
Przykład programu z zadania 1:
Program Dzielenie;
var a,b: integer;
var iloraz: real;
begin
write('Podaj pierwszą liczbę: ');
readln(a);

write('Podaj drugą liczbę: ');
readln(b);

if (b=0) then
   begin
   write('Przez zero dzielić nie wolno!');
   end
   else
       begin
       iloraz:=a/b;
       write('Wynik dzielenia wynosi:', iloraz);
       end;
readln;
end.

Jeżeli mamy do czynienia z kilkoma warunkami, to należy użyć jeden z poniższych spójników
AND (i)
OR (albo)
XOR (wyłączne lub)

Zadanie 2: Napisz program, który odczytywałby 3 liczby z klawiatury - boki trójkąta. Następnie sprawdzałby, czy taki trójkąt istnieje. Jeżeli istnieje, to obliczałby jego obwód. Jeżeli nie istnieje, to należy powiadomić użytkownika o tym.

Zadanie 3: Poszerz przykład  programu z początku lekcji (Przykład 1) tak, by po else sprawdzał, czy liczba jest dodatnia czy ujemna.

Poznaj następujące instrukcję:

z:=x mod y;
Ta instrukcja zwróci ostatek od dzielenia x przez y i zapisze go go z.

z:=x div y;
Ta instrukcja zwróci całą część od wyniku dzielenia x przez y i zapisze ją do z.

Zadanie 4: napisz program, który odczytywałby liczbę, wprowadzoną z klawiatury i pisałby na ekranie, czy jest ona równa zeru, a jeżeli nie, to czy parzysta, czy nieparzysta.

poniedziałek, 15 kwietnia 2013

Inf. dla 2A - L.43

Temat: Typy danych w Pascal
integer - cała liczba
real - liczba rzeczywista
string - linijka tekstu
char - symbol
boolean - logiczna zmienna, tal lub nie, 0 lub 1, w Pascal true (prawda) lub false (fałsz)
array - tablica.
Zadanie 1: W języku Pascal napisz program, który:

  1. Pisze na ekranie 'Witaj. Jak masz na imię?'
  2. Odczytuje wprowadzone przez użytkownika imię
  3. Pisze na ekranie 'Nazywasz się' i imię odczytane w punkcie 2
  4. Pisze na ekranie 'Ile masz lat?'
  5. Odczytuje wprowadzoną przez użytkownika liczbę
  6. Pisze na ekranie 'Masz' liczba lat 'lat'  

środa, 10 kwietnia 2013

Inf. dla 2A - L.42

Temat: Na czym polega programowanie.

Programowanie to proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programu komputerowego.
Programowanie polega na tym, by dokładnie i precyzyjnie wytłumaczyć komputerowi, czego my od niego chcemy, w języku zrozumiałym dla komputera.

Etapy powstawania programowania:
1.Planowanie
  • definicja problemu
  • analiza wymagań i znalezienie odpowiedniej metody rozwiązania (stworzenie algorytmu)
  • dobór struktur danych do algorytmów

2.Implementacja
  • Zapisanie algorytmu w postaci kodu źródłowego. Zapisanie algorytmu w postaci ciągu instrukcji języka programowania wysokiego poziomu nazywamy implementacją.Powstaje wówczas kod źródłowy.Algorytm można zaimplementować w dowolnym edytorze tekstu ale najwygodniej jest skorzystać z edytora wbudowanego do programu danego języka.

3.Kompilacja
  • Tłumaczenie programu źródłowego na kod maszynowy. Program może występować w 2 postaciach:
    • jako program źródłowy czyli postać zrozumiała dla programisty
    • jako kod maszynowy czyli zapisany w języku maszynowym zrozumiałym dla komputera
  • Do kompilacji służy opcja Compile z menu głównego programu.

4.Konsolidacja
  • Połączenie programu z bibliotekami, zwane też linkowaniem. Bibliotekami są gotowe zestawy programów, które programista często wykorzystuje pisząc własny program.

5.Testowanie
  • Prosty program nie wymaga testowania. Aby przetestować program używamy debuggera często wbudowanego do programu kompilatora. Rodzaje błędów: 
    • błędy kompilacji- wykrywane w czasie kompilacji np. błędnie zapisane słowo kluczowe, 
    • zła postać instrukcji, 
    • źle wstawiony znak interpunkcyjny lub jego brak błędy synktatyczne- np. zastosowanie zbyt wielu wyjść z instrukcji 
    • błędy wykonania- dzielenie przez zero, brak wolnej pamięci, brak dostępu do pliku, są one wykrywane nie podczas kompilacji lecz w czasie wykonywania programu 
    • błędy logiczne (specyfikacji) - zapętlenie programu, 
    • ogólnie program nie robi tego, czego się od niego oczekuje, niemożliwe jest automatyczne wykrycie takiego błędu

6.Optymalizacja
  • Działanie mające na celu poprawę wydajności programu komputerowego, głównie poprzez zwiększenie szybkości działania i zmniejszenie wykorzystania przez niego zasobów komputera. Można wyróżnić następujące podstawowe sposoby optymalizacji: 
    • optymalizacja algorytmu programu, czyli zmniejszenie jego długości, ilości porównań, 
    • uproszczenie działań matematycznych, 
    • usunięcie zbędnych pętli itp., 
    • zmiana funkcji użytych w programie na bardziej dopasowane do danego zadania
Najprostszy program w języku Pascal:
program Nazwa_programu;
begin
end.
Każdy program w języku Pascal zawiera te elementy:
  • Program - oznacza, że jest to kod programu, następnie należy podać nazwę programu i zakończyć polecenie średnikiem
  • Begin - oznacza początek bloku programowego. Po poleceniu begin nigdy nie stawiamy średnika.
  • End - oznacza koniec bloku programowego. Jeżeli jest to ostatni end w programie, to po nim należy napisać kropkę, inaczej - średnik.
Jeżeli program ma pracować z jakimiś danymi, to należy te dane przechowywać w komórkach pamięci, które nazywane są zmiennymi. Na przykład, jeżeli użytkownik ma wprowadzić dwie liczby, a program musi obliczyć ich sumę, to należy mieć 3 zmienne:
  • zmienna dla pierwszej liczby, nazwijmy ją a
  • zmienna dla drugiej liczby, nazwijmy ją b
  • zmienna dla wyniku dodawania, nazwijmy ją sum
Wszystkie zmienne należy ogłaszać przed blokiem programowym, to znaczy przed begin.
Ogłaszanie zmiennych odbywa się za pomocą polecenia var. 
Ogłaszając zmienne, musimy wskazać ich typ. Zakładając, że będziemy pracować z całymi liczbami, wskażmy po dwukropku typ zmiennych: integer - cała liczba.
Miałoby to wyglądać tak:
program Nazwa_programu;
var a, b, sum: integer;
begin
end.
Teraz zmienne a, b i sum mogą być użyte w programie. 
Zróbmy tak, by użytkownik zobaczył na ekranie tekst "Wprowadź liczbę a: ".
Potrzebujemy polecenia write, po którym w nawiasach i w pojedynczym cudzysłowie wpiszemy potrzebny nam tekst:
program Nazwa_programu;
var a, b, sum: integer;
begin
write('Wprowadź liczbę a: ');
end.
Następnie, kiedy użytkownik wprowadzi liczbę z klawiatury, należy zapisać ją do komórki pamięci, którą nazwaliśmy zmienną a. 
Robimy to za pomocą polecenia read(a) lub readln(a) - tak samo z nawiasami. Różnica polega na tym, że polecenie read tylko odczyta liczbę i zapiszę ją w zmienną a, a polecenie readln zrobi to samo oraz przeniesie kursor na następną linijkę, co pozwoli dalej pisać już od nowej linijki. Teraz program wyglądałby tak:
program Nazwa_programu;
var a, b, sum: integer;
begin
write('Wprowadź liczbę a: ');
readln(a);
end.
Teraz należy to samo zrobić dla drugiej liczby, którą zapiszemy do zmiennej b:
program Nazwa_programu;
var a, b, sum: integer;
begin
write('Wprowadź liczbę a: ');
readln(a);

write('Wprowadź liczbę b: ');
readln(b);
end.
Następnie należy dodać wartość zmiennej a do wartości zmiennej b i wynik dodawania zapisać do zmiennej sum. Robi się to za pomocą znaków := (dwukropek i równa się). Znak ten oznacza, że zmiennej nadaje się jakaś wartość. 
program Nazwa_programu;
var a, b, sum: integer;
begin
write('Wprowadź liczbę a: ');
readln(a);

write('Wprowadź liczbę b: ');
readln(b);
sum:=a+b;
end.
Następnie należy na ekranie wyświetlić wynik dodawania, to znaczy wartość zapisaną do zmiennej sum.
Używamy do tego polecenia write, a w nawiasach podajemy tekst 'Wynik dodawania wynosi ', a po przycinku zmienną sum.

program Nazwa_programu;
var a, b, sum: integer;
begin
write('Wprowadź liczbę a: ');
readln(a);

write('Wprowadź liczbę b: ');
readln(b);
sum:=a+b;
write('Wynik dodawania wynosi ', sum);
end.
Kiedy program napisze na ekranie wynik dodawania, wtedy od razu przejdzie do polecenia end, co spowoduje, że nie zdążymy zobaczyć wyniku, jak już program będzie zamknięty. Żeby program nie wyłączył się od razu, możemy użyć polecenia readln, które spowoduje, że program nie ruszy dalej dopóki użytkownik nie wciśnie Enter.
program Nazwa_programu;
var a, b, sum: integer;
begin
write('Wprowadź liczbę a: ');
readln(a);

write('Wprowadź liczbę b: ');
readln(b);
sum:=a+b;
write('Wynik dodawania wynosi ', sum);
readln;
end.
Przy kolejnym uruchomieniu programu na ekranie pozostanie tekst z poprzedniego uruchamiania. Można go pozbyć się za pomocą polecenia clrscr (skrót od clear screen - oczyść ekran). Polecenie to jest częścią biblioteki Crt, dlatego należy najpierw wskazać programowi, że należy użyć tej biblioteki. Robimy to za pomocą polecenia uses Crt

program Nazwa_programu;
uses Crt;
var a, b, sum: integer;
begin
clrscr;
write('Wprowadź liczbę a: ');
readln(a);

write('Wprowadź liczbę b: ');
readln(b);
sum:=a+b;
write('Wynik dodawania wynosi ', sum);
readln;
end.





niedziela, 7 kwietnia 2013

Inf. dla 2A - L.41

Temat: Wstęp w programowanie. Programowanie w Pascal.
Zmienna - miejsce w pamięci komputera, które przeznaczone do przechowywania pewnych danych. Zmienna w języku Pascal zawsze ma wcześniej określony typ. 
Podstawowe typy zmiennych to:
integer - cała liczba
real - liczba rzeczywista
string - linijka tekstu
char - symbol
boolean - logiczna zmienna, tal lub nie, 0 lub 1, w Pascal true (prawda) lub false (fałsz)
array - tablica. Prościej mówiąc, można ją przyrównać do wytłaczanki, do której można położyć kilka jajek: jajka to zmienne jakiegoś jednego typu, a wytłaczanka ma określony rozmiar na pewną liczbę takich zmiennych, przy czym każde miejsce ma swój numer.

Przykład prostego programu w Pascal:
Program moj_program1;
uses Crt;
var a, b: integer;
begin
clrscr;
readln;
end.

Wyjaśnienie:
  • Polecenie program oznacza początek programu, który w przykładzie nazwany został jako moj_program1
  • Każde polecenie w Paskal kończy się średnikiem.
  • Polecenie uses oznacza, że program użyje zewnętrznej biblioteki. W naszym przykładzie jest to biblioteka Crt.
  • Polecenie var oznacza, że tu są ogłaszane zmienne. Język Pascal wymaga, by wszystkie zmienne były ogłaszane przed słowem begin, to znaczy, że przed początkiem programu. W tym przykładzie ogłoszono dwie zmienne a i b, które są typu integer, to znaczy cała liczba.
  • Polecenia begin i end określają początek i koniec bloku programowego. Po begin nigdy nie pisze się średnika. Po słowie end piszą kropkę, jeżeli jest to ostatnie end w programie, które oznacza, jest to koniec całego programu. Uwaga, begin i end często jest używano wielokrotnie w jednym programie. Jednak każdy otwierający begin wymaga zamykającego end. Przekonaj się w tym, przeglądając przykładowe programy tu: http://pl.wikipedia.org/wiki/Pascal_(j%C4%99zyk_programowania)
  • Polecenie clrscr jest częścią biblioteki Crt i służy do czyszczenia ekranu (dlatego właśnie w poleceniu uses podłączono bibliotekę Crt)
  • Polecenie readln pozwala na to, by program nie wyłączał się, dopóki nie zostanie wciśnięty klawisz Enter
Przykład 2:
Program moj_program1;
uses Crt;
begin
clrscr;
write('Polecenie write nie przenosi kursor na nastepna linijke.');
writeln('A polecenie writeln przenosi kursor na nastepna linijke.');
write('Dlatego ten tekst został napisany już w drugiej linijce');
readln;
end.

Zadanie 1: Sprawdź i przeanalizuj działanie przykładu 2.

Przykład 3:
Program moj_program1;
uses Crt;
var a: integer;
begin
clrscr;
write('Wprowadz liczbe a:');
readln(a);
writeln('Wprowadziles liczbe ',a);
readln;
end.

Zadanie 2: Sprawdź i przeanalizuj działanie przykładu 3.

Przykład 4:
Program moj_program1;
uses Crt;
var a, b, sum: integer;
begin
clrscr;
write('Wprowadz liczbe a: ');
readln(a);
write('Wprowadz liczbe b: ');
readln(b);
writeln('Wprowadziles liczby ',a,' i ',b);
sum:=a+b;
wliteln('Ich suma tynosi: ',sum);
readln;
end.

Zadanie 3: Sprawdź i przeanalizuj działanie przykładu 4. Odpowiedz na pytania:
  • Ile zmiennych zostało ogłoszono?
  • Jakiego typu są te zmienne?

środa, 3 kwietnia 2013

Inf. dla 2A - L.40


Temat: Algorytmy iteracyjne.
Zadanie 1: Narysuj schemat blokowy dla algorytmu, który obliczałby silnie podanej przez użytkownika liczby.
Silnia oznaczana jest wykrzyknikiem i obliczana jest w następujący sposób:
N!=1*2*3*…*N
Przykład:
5!=1*2*3*4*5=120
Zadanie 2: Narysuj schemat blokowy dla algorytmu, który odczytywałby z klawiatury liczbę a – kwotę pożyczki  i liczbę b – liczbę dni. Następnie algorytm powinien policzyć, jaki będzie dług po upływie wskazanej przez użytkownika liczbie dni przy tym, że oprocentowanie roczne wynosi 5%, a codziennie naliczane są odsetki.
Przykład:
a = 100zł
b = 10 dni
od (odsetki dzienne) =  5%/365
dbd (dług na bieżący dzień) = dbd*(100%+od), to znaczy, że:
1
100
2
100,0137
3
100,0274
4
100,0411
5
100,0548
6
100,0685
7
100,0822
8
100,0959
9
100,1096
10
100,1234

Zadanie 3: Narysuj schemat blokowy dla algorytmu, który odczytywałby z klawiatury liczbę, a następnie wyprowadzałby na ekranie tyle samo gwiazdek „*”. Poniżej przedstawiono schemat blokowy jako przykład, jednak można ten sam algorytm przedstawić za pomocą innych schematów. Sprawdź tu: http://www.informatyka.zsp-slawa.pl/index.php?option=com_content&view=article&id=7&Itemid=7 

Zadanie 4: Narysuj schemat blokowy dla algorytmu, który odczytywałby z klawiatury dwie liczby a i b – wysokość i szerokość prostokąta, a następnie rysowałby gwiazdkami prostokąt o takich wymiarach.
Przykład:
a=3, b=4
****
****
****
Polecenie write(„coś tam”) pisze „coś tam” w linijce, ale nie przenosi kuros na następną linijkę.
Polecenie writeln(„coś tam”) pisze „coś tam” w linijce, po czym przenosi kursor na następną linijkę.
Polecenie writeln() po prostu przeniesie kursor na następną linijkę.
Zadanie (na 6): Narysuj schemat blokowy algorytmu, który tworzyłby trójkąt z gwiazdek „*”, drukując w każdej kolejnej linijce o jedną gwiazdkę więcej niż w poprzedniej. Rysowanie zaczyna się od wierzchołka. Wysokość trójkąta – to wprowadzona przez użytkownika liczba.
Przykład:
Wysokość = 5
*
**
***
****
*****

niedziela, 17 marca 2013

Inf. dla 2A - L.39

Temat: Algorytmy warunkowe.
Ogólny schemat użycia bloku warunkowego:

Przykład schematu blokowego dla algorytmu obliczania ilorazu dwóch liczb rzeczywistych:


Przykład schematu blokowego dla algorytmu Obliczanie wartości bezwzględnej dowolnej liczby rzeczywistej

Zadanie 1: Narysuj schemat blokowy dla algorytmu, który będzie odczytywał 2 liczby wprowadzone z klawiatury - szerokość i wysokość prostokąta (a,b), sprawdzał ich poprawność (powinni byś większe od zera), a następnie obliczał pole prostokąta (P) lub informował o niepoprawności danych.
Zadanie 2: Narysuj schemat blokowy dla algorytmu, który będzie odczytywał 2 liczby wprowadzone z klawiatury (a,b), a następnie wybierał, największą (max) z nich i wyprowadzał ją na ekran monitora.
Zadanie 3: Narysuj schemat blokowy algorytmu, który podobnie jak w poprzednim zadaniu wyszukiwałby liczbę największą, jednak tym razem nie wśród dwóch, tylko wśród trzech liczb podanych przez użytkownika (a,b,c).



wtorek, 12 marca 2013

Inf. dla klas drugich - L.28, dla 2A - L.38

Temat: Algorytmy – graficzna prezentacja problemów.
Algorytm jest to uporządkowany i uściślony sposób rozwiązania problemu, zawierający szczegółowy opis wykonywanych czynności.
Zastanów się: kiedy w życiu codziennym spotykamy się z algorytmami? (wejście do klasy)Najczęściej używane sposoby prezentacji algorytmów:
  • słowny opis algorytmu
  • opis algorytmu w postaci listy kroków
  • schemat blokowy
  • zapis programu w języku programowania
Podstawowe typy algorytmów:
  • Liniowy (sekwencyjny) – polecenia są wykonywane jedno po drugim, zgodnie z kolejnością. 
  • Warunkowy (zawiera bloki warunkowe i rozgałęzienia) 
  • Iteracyjny (zawiera pętle kilkokrotnie powtarzających się poleceń)
Przykład algorytmu opisanego w postaci listy kroków:
Algorytm gotowania jajka na miękko:
  • Wlać do garnka zimną wodę.
  • Zapalić gaz.
  • Gotować wodę do wrzenia.
  • Włożyć jajko.
  • Odczekać trzy minuty.
  • Zgasić gaz.
  • Wyjąć jajko
Zadanie 1: napisz algorytm przyrządzenia makaronu w postaci listy kroków.
Zadanie 2: napisz algorytm, którym miałby posłużyć się żółw, by dotrzeć do przedmiotu. Algorytm przedstaw w postaci listy kroków.

Przykład schematu blokowego dla algorytmu obliczenia średniej arytmetycznej trzech liczb:

Zadanie 3: Narysuj schemat blokowy dla algorytmu obliczenia sumy 2 liczb.
Zadanie 4: Napisz taki algorytm dla psa, który pozwoliłby mu dotrzeć do kości (algorytm napisz w postaci listy kroków):

Zadanie 5: Napisz algorytm dotarcia Domestos do bakterii (w postaci listy kroków).

Zadanie: Napisz algorytm rysowania prostokąta (w postaci listy kroków)
Zasady budowania schematu blokowego:
  • Każda operacja powinna być umieszczona w skrzynce (bloku) 
  • Schemat powinien posiadać tylko jedną skrzynkę "Start" i przynajmniej jedną skrzynkę "Stop" 
  • Skrzynki powinny być ze sobą połączone 
  • Ze skrzynkipowinno wychodzć jedno połączenie; wyjątek stanowią skrzynki "Stop" (z której nie wychodzą już żadne połączenia) oraz "warunkowa" (z której wychodzą dwa połączenia opisane Tak i Nie - w zależności od tego czy warunek jest spełniony czy też nie; można wyjść jedną z dwóch dróg).

Zadanie: Weź kartkę w kratkę 7x7 (poziomo oznacz literkami A-G, a pionowo cyframi 1-7). Ile rombów uzyskasz po wykonaniu następującego algorytmu?
  1. B4 przekreśl po przekątnej od lewego dolnego rogu do prawego górnego 
  2. E5 przekreśl po przekątnej od lewego dolnego rogu do prawego górnego 
  3. E4 przekreśl po przekątnej od lewego górnego rogu do prawego dolnego 
  4. B5 przekreśl po przekątnej od lewego górnego rogu do prawego dolnego 
  5. C4 przekreśl na krzyż po przekątnym 
  6. C5 przekreśl na krzyż po przekątnym 
  7. D4 przekreśl na krzyż po przekątnym 
  8. D5 przekreśl na krzyż po przekątnym





środa, 6 marca 2013

Inf. dla 2A - L.36

Temat: Tworzenie tabel za pomocą SQL.
Obejrzyj filmik o tworzeniu kwerend za pomocą języka SQL.
Ogólny schemat używany podczas tworzenia tabel w SQL:
CREATE TABLE tabela1(
pole1 TYP_POLA1 PRIMARY KEY,
pole2 TYP_POLA2,
pole3 TYP_POLA3,
...
);
Oto niektóre typy pól w SQL:
CHAR - ciąg znaków lub tekst (można również podać długość pola, na przykład CHAR(20) lub CHAR(50)),
INTEGER - cała liczba,
AUTOINCREMENT - autonumerowanie,
DATETIME - data i czas,
CURRENCY - waluta,
...
Zadanie: Utwórz kwerendę, która tworzyłaby tabelę DłużnicySQL, zawierającą następujące pola:

  • ID_Dłużnika,
  • Imię_Dłużnkika,
  • Nazwisko_Dłużnika,
  • Kara

Dopasuj typy danych oraz rozmiary pól no odpowiednich w tabeli Czytelnicy

niedziela, 3 marca 2013

Inf. dla 2A - L.35

Temat: kwerendy agregujące.
Zapoznaj się z nowym operatorem języka SQL:
COUNT... AS... (licz... jako...)
GROUP BY... (grupuj po...)
Funkcja COUNT oblicza liczbę wierszy uzyskanych w wyniku zapytania. Klauzula GROUP BY grupuje wyniki obliczeń COUNT według pewnego pola.
Ogólny schemat użycia ...COUNT... AS... GROUP BY... 

SELECT tabela1.pole1, COUNT(tabela1.pole2) AS pole_nowe
FROM tabela1
GROUP BY pole1;
Lub też można połączyć kilka tabel:
SELECT tabela1.pole4, COUNT(tabela2.pole3) AS pole_nowe
FROM tabela1 INNER JOIN tabela2 ON tabela1.pole1=tabela2.pole2
GROUP BY pole4;
Zadanie 1: utwórz kwerendę agregującą, która pokazywałaby tytuły wszystkich książek i ile każdej z nich zostało wypożyczono.
Zadanie 2: utwórz kwerendę agregującą, która pokazywałaby nazwiska oraz imiona czytelników i liczbę książek przez nich wypożyczonych (nie wchodząc w szczegóły, jakie to są książki).




środa, 27 lutego 2013

Inf. dla 2A - L.35

Temat: Kwerendy usuwające.
Zapoznaj się z nowym operatorem języka SQL:
DELETE

Ogólny schemat użycia operatora:
DELETE
FROM...
WHERE...

Zadanie: Utwórz kwerendę, która usuwałaby z tabeli Wypożyczania wszystkie wpisy związane z czytelnikiem z ID = 3.

niedziela, 24 lutego 2013

Inf. dla 2A - L.34

Temat: Kwerendy dołączające.

Zapoznaj się z nowym operatorem języka SQL:
INSERT INTO...... (wstaw w...)
Ten operator pozwala wstawić do jakiejś tabeli znaczenia z innej tabeli lub z kilku innych tabel
Ogólny schemat użycia ...INSERT INTO...:

INSERT INTO tabela1(pole1,pole2,pol3...)
SELECT tabela2.pole1, tabela2.pole2, tabela2.pole3
(wstawia rekordy z tabela2 do tabela1)

Owszem, można wstawiać rekordy z kilku tabel i dodać warunek:


INSERT INTO tabela1(pole1,pole2,pol3...)
SELECT tabela2.pole2, tabela2.pole3, tabela3.pole2
FROM tabela1 INNER JOIN tabela2 ON tabela2.pole1=tabela3.pole2
WHERE warunek
(wstawia do tabela1 pola z tabela2 i tabela3 łącząc je po polach  tabela2.pole1=tabela3.pole2 oraz dokonuje wstawiania do tabela1 tylko wtedy, kiedy spełnia się warunek)

Uruchamianie kwerendy funkcjonalnej (kwerendy dołączające, kwerendy usuwające, kwerendy aktualizujące oraz kwerendy tworzące tabele) w widoku SQL lub Projektu : Projektowanie-Uruchom!-Tak (musi być wybrany typ kwerendy)

Zadanie: Użyj BD z poprzedniej lekcji. Utwórz tabelę dłużnicy, która zawierałaby pola Imię, Nazwisko, Kara takich samych typów danych, jak w odpowiednich tabelach (Czytelnicy i Wypożyczania). Stwórz kwerendę dołączającą, która wstawiałaby dane do tabeli  Dłużnicy z tabel Czytelnicy i Wypożyczania. Warunek jest oczywisty: kara  > 0.

środa, 20 lutego 2013

Inf. dla 2A - L.33

Temat: Tworzenie kwerend aktualizujących.
Zapoznaj się z nowym operatorem języka SQL:
UPDATE ... SET... (aktualizuj... ustaw...)
Ogólny schemat użycia UPDATE ... SET...:

UPDATE tabela1 SET [tabela1].[pole1]=wartość

Owszem, można dodać warunek, kiedy należy zmienić wartości pól:

UPDATE tabela1 SET [tabela1].[pole1]=wartość
WHERE warunek

Uwaga! Po SET wszystkie nazwy tabel oraz nazwy pól należy brać w kwadratowe nawiasy [...].[...].

Uruchamianie kwerendy funkcjonalnej (kwerendy dołączające, kwerendy usuwające, kwerendy aktualizujące oraz kwerendy tworzące tabele) w widoku SQL lub Projektu : Projektowanie-Uruchom!-Tak (musi być wybrany typ kwerendy)

Zadanie: Użyj BD z poprzedniej lekcji. Utwórz kwerendę aktualizacyjną dla tabeli Wypożyczania, która zwiększałaby o 1 (zł) karę za książki, których termin oddania już minął.

niedziela, 17 lutego 2013

Inf. dla 2A - L.32

Temat: Tworzenie kwerend.
Dodatkowe informacje związane z tematem lekcji znajdziesz TU.

Zapoznaj się z nowym operatorem języka SQL:
INNER JOIN...ON (wewnętrzne łączenie... po)
Ogólny schemat używania INNER JOIN... ON:

SELECT tabela1.pole2, tabela1.pole3, tabela2.pole3, tabela2.pole4
FROM tabela1 INNER JOIN tabela2 ON tabela1.pole1 = tabela2.pole2

Powyższy kod wyświetla pole2 i pole3 z tabela1 oraz pole3 i pole4 z tabela2, łącząc je po pole1 z tabela1, które powinno być równe pole2 z tabeli2.

Zadanie 1: Pobierz bazę danych. Utwórz kwerendę, w której wyświetlisz wszystkie książki, które są w bibliotece wraz z imionami i nazwiskami ich autorów.
__________________________________________________________________

Zapoznaj się z nowym operatorem języka SQL:
AND (i)
Ogólny schemat używania AND:

SELECT ...
FROM ...
WHERE warunek1 AND warunek2

Powyższy schemat pozwala na wyświetlenie jakichś pół wskazanych w SELECT, które wzięte z tabel wskazanych w FROM, gdzie wykonują się warunek1 i (AND)  warunek2

Zadanie 2: Do kwerendy z zadanie 1 dodaj dwa następujące warunki:
  1. Rok wydania książek powinien być mniejszym od 2000
  2. Ilość książek powinna być większa od 5
Zadanie 3: Utwórz kwerendę która wyświetlałaby tytuły wszystkich wypożyczonych książek wraz z imionami i nazwiskami osób, które je wypożyczyły. Dodaj warunki wyświetlania:
  1. Data wypożyczania książki powinna być mniejsza niż 17.02.2013r.
  2. Jeszcze nie powinna być naliczona żadna kara.

środa, 13 lutego 2013

Inf. dla 2A - L.31

Temat: Tworzenie kwerend.
Używaj Materiał pomocniczy.

SQL - (ang. Structured Query Language) – strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych.
Dla pokazywania jakichkolwiek danych używamy takiej struktury języka SQL:

SELECT imię_tabeli.[pole1_tabeli], imię_tabeli.[pole2_tabeli]...
FROM imię_tabeli
WHERE warunek

Zapis ten oznacza, że należy wybrać (SELECT) z bazy danych pola 1 i 2... z (FROM) wskazanej tabeli,
gdzie (WHERE) spełnia warunek.

Na przykład:


SELECT Autorzy.[Imię_Autora], Autorzy.[Nazwisko_Autora]
FROM Autorzy
WHERE Autorzy.Imię_Autora LIKE "M*";

Powyższa kwerenda wybiera z tabeli Autorzy pola Imię_Autora i Nazwisko_Autora takie, żeby pole Imię_Autora zaczynało się od literki M. Znaczek * oznacza dowolny ciąg znaków. Podwójny cudzysłów oznacza, że jest to ciąg znaków - "M*".


Zadanie: Użyj bazy danych Biblioteki. Stwórz 2 kwerendy dla tabeli Czytelnicy:

  1. Kwerenda powinna pokazywać wszystkich czytelników urodzonych przed rokiem 2000. W materiałach pomocniczych przeczytaj, jak należy porównywać daty.
  2. Kwerenda powinna pokazywać wszystkich czytelników, których imiona zaczynają się od literki J. Porównaj z przykładem w lekcji.