C#: Interfejsy

Jeżeli uznamy, że klasa jest szablonem dla obiektu, to interfejs jest szablonem dla klasy.

Weźmy taki przykład:

Mąż/Żona wysyła cię do sklepu po artykuły na obiad. Ma być makaron z sosem pomidorowym. Na liście zakupów masz dwie pozycje: makaron i pomidory. Nie wiadomo, o jaki dokładnie makaron chodzi (spaghetti czy świderki?) ani w jakiej postaci mają być pomidory (świeże czy przecier?). Prawda jest jednak taka, że bez względu na to którą opcję wybierzesz, taki artykuł spełni swoją rolę.

Continue reading “C#: Interfejsy”

Projekt: Biblioteczka w C# dla początkujących

Prezentuję całkiem fajny projekt do napisania dla wszystkich, którzy uczą się programowania w C#. Będzie to coś w stylu archiwum domowej biblioteczki. W pliku przechowujemy listę książek, którą program wczytuje przy starcie, następnie możemy te książki usuwać z listy, dodawać nowe, wyszukiwać po trzech różnych parametrach, i ostatecznie zapisać zmodyfikowaną listę z powrotem do pliku.

Continue reading “Projekt: Biblioteczka w C# dla początkujących”

Po kursie programowania. Wrażenia

Dlaczego zdecydowałam się iść na kurs, skoro w sieci jest taki ogrom darmowych materiałów? Czy jestem pewna, co robię? Którą szkołę wybrałam i dlaczego? Jakich technologii się uczyłam? Czy dostałam to, czego chciałam? Na wszystkie te pytania odpowiadam poniżej.

Continue reading “Po kursie programowania. Wrażenia”

Zadanie 5.

Napisz procedurę z parametrem, która będzie sprawdzała, czy podana w parametrze liczba jest podzielna przez 2 i/lub 3, oraz zwróci odpowiedni komunikat.

proc-z-parametrem-zad-5

proc-z-parametrem-zad-5a

 

 

 

 

 

Rozwiązanie


create or replace procedure podzielnosc (x in number)
is
begin

case
when x mod 3 = 0 and x mod 2 = 0 then dbms_output.put_line(‘podzielna przez 2 i 3’);
when x mod 3 = 0 then dbms_output.put_line(‘podzielna przez 3’);
when x mod 2 = 0 then dbms_output.put_line(‘podzielna przez 2’);
else dbms_output.put_line(‘niepodzielna przez 2 i 3’);
end case;

end;

[collapse]

Zadanie 4.

Napisz funkcję, która będzie przyjmować jako parametr ID pracownika, a w wyniku wyświetlać dane tego pracownika – imię, nazwisko oraz stanowisko.

Schemat: HR, Tabele: Employees, Jobs, Kolumny: first_name, last_name, job_title

fun-z-param

 

 

Rozwiązanie

create or replace function pracownik (id_in in number)
return varchar is
wynik varchar(200);
begin
select e.first_name ||' '|| e.last_name ||' '||' - '|| j.job_title into wynik
from employees e inner join jobs j
on e.job_id = j.job_id
where e.employee_id = id_in;

return wynik;
end;

[collapse]

Szukanie pierwszej pracy w IT

Uczymy się SQLa, więc pewnie chcielibyśmy pracować gdzieś w IT, prawda? Sama nie tak dawno poszukiwałam swojej pierwszej pracy w tej branży i postanowiłam napisać krótki poradnik, co i jak. Powiem też kilka słów jak cały proces wygląda z punktu widzenia rekrutera, bo i taką rolę zdarzało mi się pełnić w poprzedniej pracy.

Nie jestem żadnym rekrutacyjnym guru, nie chcę się wymądrzać ani narzucać komuś swojej wizji. Po prostu uważam, że zmiana pracy poszła mi dość sprawnie i chcę się podzielić kilkoma uwagami i doświadczeniami. Bo czemu nie?

Continue reading “Szukanie pierwszej pracy w IT”

Zadanie 3.

Korzystając z kursora i pętli for, wyświetl wszystkie auta floty marki Suzuki (marka, model, numer rejestracyjny).

Schemat: HR, Tabela: Flota, Kolumny: marka, model_auta, rejestracja

Rozwiązanie

set serveruotput on;

declare
cursor crs_flota is
select marka, model_auta, rejestracja
from flota
where marka = 'Suzuki';

begin
for v_car in crs_flota loop
dbms_output.put_line(v_car.marka || ' ' || v_car.model_auta || ', ' || v_car.rejestracja);
end loop;
end;
/

[collapse]

Zadanie 2.

Korzystając z tabel Pracownicy oraz Działy (stworzone w Zadaniu 1 poziomu Zaawansowanego) napisz kursor, który pobierze z tabel imię, nazwisko oraz płacę podstawową każdego pracownika, a następnie wyświetli je w formie: Ania Kowalska zarabia 2000.

a) zmodyfikuj kod tak, by pracownicy byli wyświetlani w kolejności alfabetycznej wg nazwiska.

Schemat: HR, Tabele: Pracownicy, Działy, Kolumny: imie, nazwisko, placa_podstawowa.

pl2

 

 

 

 

Rozwiązanie

a) deklarację kursora należy zmienić dopisując klauzulę order by:

[collapse]

Zadanie 1.

Chcemy wyświetlić kolejne liczby od 10 do 1. Stwórz trzy rozwiązania, korzystając z trzech różnych pętli (Loop, While, For).

Rozwiązanie

Pętla Loop:

 

Pętla While:

 

Pętla For:

[collapse]