Remigiusz Górecki Krzysztof Boryczko

Wielkość: px
Rozpocząć pokaz od strony:

Download "Remigiusz Górecki Krzysztof Boryczko"

Transkrypt

1 Windows PowerShell Remigiusz Górecki Krzysztof Boryczko

2 Czym jest PowerShell? Windows PowerShell (WPS) to oparte na platformie.net środowisko przeznaczone do zarządzania systemem operacyjnym z poziomu konsoli oraz automatyzowania zadań administracyjnych przy użyciu skryptów.

3 Cechy środowiska Zbiór poleceń zaimplementowanych jako aplety poleceń (commandlet). Zapewnia dostęp do wszystkich obiektów systemowych i aplikacji bibliotek Component Object Model (COM), platformy.net Framework i interfejsu Windows Management Instrumentation (WMI). Zapewnia efektywne interakcje między apletami poleceń, dzięki przetwarzaniu potokowemu opartemu na obiektach (interpretery uniksowe pracują na tekście)

4 Cechy środowiska - cd Posiada jednolity sposób dostępu do różnych repozytoriów danych, zarówno hierarchicznych (AD, system plików), jak i płaskich (zmienne środowiskowe). Język skryptowy jest intuicyjny, łatwy do nauczenia. Umożliwia kontrolę błędów na różnych poziomach. Zastosowany model zabezpieczeń pozwala blokować uruchamianie niepożądanych skryptów. Posiada możliwość śledzenia wykonania i debugowania. Możliwy do zintegrowania z dowolną aplikacją.

5 Historia Powstał w trakcie prac nad Windows Server 2003 chodziło o zastąpienie DOS-owego okna wiersza poleceń. Środowisko WSH (Windows Scripting Host) było trudne w użyciu, wymagało dobrej znajomości zasad programowania obiektowego oraz niespójności i wyjątków modelu COM Premiera.NET Framework. X.2003 premiera nowej powłoki o roboczej nazwie Monad. V.2006 premiera wersji 1.0 PowerShell.

6 Instalacja Windows Server 2008R2 jest pierwszym, do którego włączono WPS. Dostępne dla: Windows XP z Service Pack 2, Windows Server 2003 z Service Pack 1, Windows Vista, Windows 2008 Windows 7. Wymaga wcześniejszego zainstalowania.net Framework w wersji co najmniej 2.0 z SP2. Wersja 2.0 WPS wyposażona została w edytor i debuger. Rozszerzenia PoweShell Community Extensions (PSCX) dostępne na stronie: Alternatywny edytor PowerShellPlus dostępny na stronie:

7 WPS w trybie interaktywnym Uruchomienie konsoli i wydawanie poleceń z linii komend.

8 WPS w trybie wykonywania skryptów Skrypt PowerShella to plik tekstowy w języku Powershell Script Language (PSL). Skrypt zawiera deklaracje zzmiennych oraz wywołania apletów.

9 PowerShell ISE

10 Podstawy apletów poleceń Standardowe polecenie WPS to aplet polecenia (commandlet, cmdlet) lub funkcja. Aplety są wykonywane zawsze w obrębie głównego procesu WPS. Na wywołanie apletu składają się najczęściej trzy elementy: 1. czasownik, 2. rzeczownik (w liczbie pojedynczej), 3. lista parametrów (opcjonalna). Czasownik i rzeczownik są połączone znakiem -, a kolejne parametry oddzielone spacją. Wielkość liter nie ma znaczenia. Przykład: PS C:\ > Get-Process i*

11 Parametry wywołania apletu (1) Są traktowane jako ciągi znakowe, niezależnie od tego, czy są ujęte w cudzysłów, czy nie. Znaki cudzysłowu są opcjonalne poza sytuacją, gdy parametr zawiera znak spacji: PS C:\> Get-ChildItem C:\Program Files

12 Parametry wywołania apletu (2) Jeżeli aplet polecenia posiada więcej niż jeden parametr, można je podawać w ściśle określonej kolejności lub posłużyć się nazwami. Poniższe polecenia mają identyczne działanie: PS C:\> Get-ChildItem c:\temp *.doc PS C:\> Get-ChildItem Path c:\temp Filter *.doc PS C:\> Get-ChildItem Filter *.doc Path c:\temp

13 Przełączniki Przełączniki to parametry nie posiadające wartości. Samo użycie nazwy takiego parametru aktywuje odpowiednią funkcję. Przykładowo, rekurencyjne przetwarzanie pliku danych zapewnia przełącznik recurse: PS C:\> Get-ChildItem C:\temp -recurse

14 Parametry określone wyrażeniami Wartość parametru może być wynikiem obliczenia wartości wyrażenia: PS C:\> Get-ChildItem ( C:\ + temp ) *.dll recurse PS C:\> Get-Process id ( ) W treści parametrów można korzystać z symboli wieloznacznych: PS C:\> Get-Service exclude [k-z]*

15 Tryby przetwarzania WPS Tryb poleceń (normalny) wszystkie dane wejściowe są traktowane jako ciągi znakowe: Hello + + World Tryb wyrażeń umożliwia rozpoznawanie liczb i wyrażeń: Write-Output 10* (8 + 6) Tryby można łączyć. Wyrażenie można włączyć do polecenia stosując znaki nawiasów.

16 Polecenia z wyrażeniami (1) Przykład Znaczenie 2+3 Wyrażenie. PowerShell wykonuje obliczenie i zwraca liczbę 5. echo 2+3 echo (2+3) To jest wyłącznie polecenie. 2+3 jest interpretowane jako ciąg znakowy wypisywany na ekranie. Polecenie, które zawiera wyrażenie. Powoduje wypisanie liczby echo To jest potok, którego pierwszy stopień to wyrażenie. Wynik wyrażenia zostaje przekazany do drugiego stopnia potoku i na ekranie zostaje wyświetlona liczba 5.

17 Polecenia z wyrażeniami (2) Przykład echo Znaczenie To jest niepoprawna konstrukcja. Wyrażenie może zostać użyte wyłącznie jako pierwszy stopień potoku. $a = Get-Process To jest wyrażenie, które zawiera polecenia. Wynik zwracany przez Get- Process zostaje przekazany do zmiennej. $a Get-Process To jest potok rozpoczynający się od wyrażenia. Zawartość zmiennej $a zostaje przekazana poleceniu Get- Process jako parametr. Get-Process $a To jest niepoprawna konstrukcja. Wyrażenie może być wyłącznie pierwszym stopniem potoku.

18 Aliasy Pozwalają skrócić wywołania apletów poleceń. Polecenie Get-Alias (lub jego alias aliases) pozwala wyświetlić listę predefiniowanych skrótów nazw apletów poleceń. Listę wszystkich aliasów wybranego apletu (w tym przypadku Get-Process) uzyskamy poleceniem: Get-Alias Where-Object { $_.definition -eq get-process }

19 Tworzenie nowych aliasów Nowy alias można zdefiniować przy pomocy poleceń: New-Alias tworzy nowy alias lub zwraca informację o błędzie, jeśli alias o podanej nazwie już istnieje. Set-Alias definiuje nowy alias, a jeżeli dana nazwa została już wykorzystana, zastępuje starą definicję nową. Parametr description pozwala dołączyć do aliasu jego opis. Aliasy mogą zastępować nazwy apletów poleceń oraz nazwy zwykłych aplikacji. Definicje aliasów nie mogą obejmować parametrów w takim wypadku należy użyć funkcji. Limit aliasów 4096 (wartość zmiennej $MaximumAliasCount może zostać zmieniona). Set-Alias procs Get-Process New-Alias procs Get-Process Set-Alias np notepad.exe Function Temp { get-childitem c:\temp }

20 Polecenia zewnętrzne Wszystkie polecenia, które nie zostaną rozpoznane jako aliasy, nazwy apletów poleceń lub wyrażenia są traktowane jako wywołania aplikacji zewnętrznych. Umożliwia to wykorzystywanie PowerShella jako tradycyjnej powłoki, pozwalającej uruchamiać aplikacje. Jeżeli zamiast nazwy polecenia użyta zostanie nazwa pliku, PowerShell korzysta z ustawień zapisanych w Rejestrze Windows, uruchamia domyślną aplikację i otwiera w niej dokument. Przy interpretowaniu wywołań, WPS przeszukuje nazwy w następującej kolejności: 1. aliasy, 2. funkcje, 3. aplety poleceń, 4. polecenia zewnętrzne.

21 Potoki danych Aplety można łączyć w kolejne stopnie przetwarzania przy użyciu potoków. W przeciwieństwie do potoków interpreterów poleceń systemu UNIX, potok PowerShella przekazuje obiekty platformy.net. Obiektowe przetwarzanie potoków zapewnia niezależność przetwarzania elementów danych od ich położenia w przekazywanym zbiorze informacji. Get-Process Where-Object { $_.name eq iexplore Format-Table, Working-Set

22 Typy obiektów Aplet może przekazać do potoku dowolny obiekt.net oraz liczby i ciągi znakowe. Standardem jest jednolite traktowanie klasy i typów pierwotnych. Jednak umieszczanie w potoku ciągu znakowego jest wyjątkiem, gdyż dostęp do obiektów daje większe możliwości. Specyfikę podejścia obiektowego obrazuje praca z liczbami. WorkingSet64 to 64-ro bitowa wartość liczbowa, reprezentująca np. wykorzystanie pamięci przez proces. Get-Process Where-Object { $_.WorkingSet64 gt 20*1024*1024 } Get-Process Where-Object { $_.WorkingSet64 gt 20MB } ps? { $_.ws gt 20MB }

23 Wywołania metod (1) Obiekty.NET, oprócz właściwości mają także metody, które można wywoływać w potoku obiektów. Obiekty klasy System.Diagnostics.Process mają m.in. metodę kill(). Get-Process iexplore Stop-Process Możliwe jest bezpośrednie wywoływanie metody. Get-Process iexplore Foreach-Object { $_.Kill() } ps? { $_.name eq iexplore } % { $_.Kill() }

24 Wywołania metod (2) Poprzedni przykład działa poprawnie do momentu, w którym w systemie są procesy Internet Explorera. Jeśli wszystkie zostały zakończone, to wywołania Get-Process iexplore generuje błąd. Stąd polecenie: Get-Process Where-Object { $_.Name eq iexplore } Stop-Process Filtrowanie realizuje aplet Where-Object. Nie generuje błędu w przypadku braku obiektów. Aplet Get-Process ma opcję umożliwiającą filtrowanie. Stąd postać: ps p iexplore Kill

25 Filtrowanie napisów Wywołanie poleceń (ping, netstat) przekazuje do potoku grupę ciągów znakowych. Każdy wiersz danych wyjściowych jest obiektem typu System.String. Ciągi takie można analizować przy użyciu apletu polecenia Select-String, będącego rodzajem filtru przekazującego na wyjście tylko te wiersze, których treść pasuje do podanego wzorca.

26 Dane wyjściowe Aplet nie powinien formatować danych wyjściowych samodzielnie. Na ekranie pojawia się wynik działania ostatniego apletu w potoku. Do formatowania służą aplety: Out-Default formatowanie standardowe, zgodne z zapisem w konfiguracji PowerShella. Out-Host działa podobnie jak Out-Default, ale pozwala użyć opcji podziału na strony. Out-Null powoduje, że dane wyjściowe nie są wyświetlane. Format-Wide lista dwukolumnowa. Format-List lista szczegółowa. Format-Table tabela.

27 Formatowanie standardowe Jeżeli potoku nie kończy wywołanie funkcji formatującej, WPS automatycznie przekazuje dane apletowi Out-Default. Predefiniowane formatowanie jest zapisane w pliku DotNetTypes.Format.ps1xml, w katalogu instalacyjnym WPS. Stąd obiekty System.Diagnostics.Process są standardowo wypisywane w 8-miu kolumnach.

28 Dzielenie na strony Można wymusić przy użyciu parametru p apletu polecenia Out-Host. Get-Process Format-List Out-Host -p

29 Elementy danych wyjściowych Polecenia formatujące pozwalają wybierać właściwości do wyświetlania: Get-Process Format-Table p id, processname, workingset Nazwy właściwości można skracać stosując symbol wieloznaczny *: Get-Process Format-Table p id, proces*, work*

30 Wyprowadzanie pojedynczych wartości Aby wyświetlić ciąg znaków lub wartość zmiennej wystarczy wpisać ciąg lub nazwę zmiennej w wierszu poleceń. Można w tym celu użyć apletów poleceń: Write-Host, Write-Warn i Write- Error. Dwa ostatnie generują tekst wyróżniony. Aplet Write-Host pozwala definiować kolor tekstu: Write-Host Hello World foregroundcolor red -backgroundcolor green

31 Blokowanie wypisywania danych wyjściowych Dopóki skrypt lub okno PowerShella mają dostęp do standardowego wyjścia, wszystkie dane wyjściowe są wypisywane. Blokowanie jest możliwe na trzy sposoby: Użycie apletu polecenia Out-Null na końcu potoku: ps p iexplore Out-Null Zapisanie danych wyjściowych w zmiennej: procs = ps p iexplore Kill Konwersja danych wyjściowych na typ [void]: [void] ( ps p iexplore Kill )

32 Inne funkcje danych wyjściowych Aplet polecenia Out-Printer wysyła dane do drukarki. Get-Process Out-Printer Get-Process Out-Printer HP LaserJet PCL6 on E02 Aplet polecenia Out-File zapisuje dane do pliku. Get-Process Out-File c:\temp\procesy.txt Get-Process Out-File c:\temp\procesy.txt -Append

33 Interakcje z użytkownikiem Tekstowe dane wejściowe można pobierać poleceniem Read-Host:

34 Okno InputBox Proste okno dialogowe można wyświetlić funkcją InputBox(). Funkcja jest zdefiniowana w klasie.net Framework Microsoft.VisualBasic.Interaction. Korzystanie z niej wymaga załadowania biblioteki Microsoft.VisualBasic.dll. [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.VisualBasic") $input = [Microsoft.VisualBasic.Interaction]::InputBox("Login")

35 Okno uwierzytelniania Wyświetlanie systemowego okna uwierzytelniania użytkownika umożliwia aplet polecenia Get-Credential. Aplet zwraca obiekt System.Management.Automation.PSC redential. Obiekt zawiera jawnie zapisaną nazwę użytkownika (właściwość UserName) oraz zakodowane hasło (właściwość Password)

36 Analiza zawartości potoku Do tej pory najtrudniejsze było określenie: 1. Typu obiektów, które PowerShell umieszcza w potoku. 2. Określenie właściwości (zmiennych) oraz metod, które posiadają te obiekty. Standardowy opis apletu nie zawsze zawiera odpowiedź: Get-Help Get-Service -full W praktyce pomocne są dwa aplety poleceń: Get-PipelineInfo Get-Member

37 Get-PipelineInfo Pozwala uzyskać trzy ważne informacje o zawartości potoku: 1. Liczba obiektów w potoku (obiekty są ponumerowane). 2. Typy obiektów w potoku (nazwy klas.net). 3. Reprezentacje obiektów w postaci ciągów znakowych.

38 Reprezentacja znakowa Standardowa reprezentacja znakowa obiektu, to wynik metody ToString() pakietu.net. Użyteczność wyniku działania metody zależy od badanej klasy: W przypadku obiektów typu System.Diagnostics.Process jest to nazwa klasy i nazwa procesu. Konwersja obiektów System.ServiceProcess.ServiceController zwracanych przez aplet Get-Service() jest bezużyteczna, gdyż wynik zawiera wyłącznie nazwę klasy.

39 Get-Member Aplet polecenia Get-Member() (alias gm) pozwala wyświetlić nazwy klas obiektów w potoku oraz listy ich właściwości i metod. Klasa.NET ma następujące elementy składowe: metody (Method), właściwości (Property), zbiory właściwości (PropertySet), właściwości dodatkowe (NoteProperty), właściwości skryptowe (ScriptProperty), właściwości programowe (CodeProperty), właściwości aliasowe (AliasPropert). Faktycznie tylko elementy Method i Property są składnikami klas.net. Pozostałe to rozszerzenia dołączane przez WPS.

40 Metody To powiązana z obiektem operacja. Przykład to metoda Kill() obiektu Process. W wywołaniach metod nigdy nie można pominąć znaków (). Wywołanie bez nawiasów pozwala pobrać informacje o metodzie, ale nie powoduje jej wywołania. Metody mogą odczytywać wartości danych, ustawiać je lub wykonywać inne czynności.

41 Właściwości To element danych, który zawiera informacje o obiekcie lub pozwala przekazać do niego pewne dane. Właściwościom towarzyszą zazwyczaj pary metod, np. get_maxworkingset() i set_max_workingset() służące odpowiednio do odczytywania i modyfikowania właściwości. Dostęp do danych można uzyskać na 2 sposoby: Get-Process Where-Object { $_.name eq iexplore } Foreach-Object { $_.MaxWorkingSet } Get-Process Where-Object { $_.name eq iexplore } Foreach-Object { $_.get_maxworkingset() } Podobnie zapis: Get-Process Where-Object { $_.name eq iexplore } Foreach-Object { $_.MaxWorkingSet = } Get-Process Where-Object { $_.name eq iexplore } Foreach-Object { $_.set_maxworkingset( ) }

42 Właściwości Zbiór właściwości to forma ich grupowania. Np. psresources łączy w całość właściwości związane z wykorzystaniem zasobów. Definicja w pliku types.ps1xml. Zapisane w zbiorze dane można odczytać bez podawania poszczególnych właściwości: Get-Process SelectObject psresources Format-Table

43 Właściwości (2) Właściwości dodatkowe dodatkowe elementy, które nie są właściwościami.net ale rozszerzeniami wprowadzonymi przez WPS. Właściwość skryptowa to właściwość, której wartość jest wyznaczana, a nie przechowywana w obiekcie. Nie oznacza to jedynie obliczeń arytmetycznych. Wyznaczenie może polegać na odczytaniu wartości podobiektu. Get-Process Select-Object name, Product Nazwy produktu, do którego należy dany program nie ma w procesie (nie pokaże manager zadań). Jest zapisana w pliku programu..net pozwala na dostęp do tej informacji za pośrednictwem MainModule.FileversionInfo.ProductName. Get-Process Select-Object name, Mainmodule.FileVersionInfo.ProductName

44 Właściwości (3) Właściwość programowa jest równoważna skryptowej, ale odpowiadający jej kod nie jest skryptem w języku WPS. Definicje te są zapisane w kodzie.net. Właściwość aliasowa to skrócona nazwa innej właściwości. Nie wyznacza się wartości, a jedynie dokonuje translacji nazwy, np. z WS na WorkingSet. Są zdefiniowane w pliku types.ps1xml. Są rozszerzeniami wprowadzonymi na poziomie PowerShella.

45 Rozszerzony system typów ETS WPS widzi wiele elementów składowych obiektów, które nie są zdefiniowane w innych klasach. Jednocześnie niektóre elementy dostępne w klasach.net okazują się niedostępne. Odpowiada za to Extended Type System PowerShella. Ukrywanie elementów klas wynika z tego, że są one nie przydatne lub mają lepsze odpowiedniki zapewnione przez rozszerzenia. Rozwiązanie techniczne polega na opakowaniu każdego obiektu umieszczanego przez aplet w potoku obiektem WPS typu PsObject. Implementacja tej klasy decyduje o dostępności dla następnych w potoku apletów i poleceń. Ostatecznie zbiór elementów składowych obiektu określa się przy użyciu: Dla niektórych klas zostały określone adaptery obiektów (ManagementObject, DirectoryEntry, DataRow). Deklaracje w pliku types.ps1xml. Operacje dodawania elementów składowych obiektów wykonane w trakcie pracy apletów poleceń. Operacje dodawania elementów składowych obiektów wykonane przez aplet Add-Member.

46 Filtrowanie obiektów Wynika z potrzeby wybrania do dalszego przetwarzania pewnego podzbioru obiektów, które wykonywany aplet przekazuje do potoku. Kryterium selekcji może być warunek (np. obiekty o odpowiedniej nazwie) lub pozycja (np. pięć pierwszych). Operację filtrowania w oparciu o warunek realizuje aplet polecenia Where-Object: Get-Process Where-Object { $_.ws gt } Do filtrowania w oparciu o kolejność służy aplet Select-Object w połączeniu z Sort-Object: Get-Process Sort-Object ws desc Where-Object last 5

47 Operatory porównania Porównanie z rozróżnianiem wielkości liter Porównanie bez rozróżniania wielkości liter Znaczenie -lt -ilt Mniejsze niż -le -ile Mniejsze lub równe -gt -igt Większe niż -ge -ige Większe lub równe -eq -ieq Równe -ne -ine Różne -like -ilike Podobieństwo ciągu -notlike -inotlike Brak podobieństwa ciągu -match -notmatch -is Dopasowanie do wzorca (wyrażenia regularne) Brak dopasowania do wzorca Dopasowanie typu

48 Operatory logiczne Opertator -not lub! -and -or Znaczenie Negacja Koniunkcja Alternatywa Get-Process Where-Object { $_.ws gt and $_.name eq firefox } Get-Process Where-Object { $_.DisplayName match ^\w* \w*$ }

49 Agregacja zawartości potoku Obiekty w potoku mogą mieć różne typy. Przykładowo, polecenie Get-ChildItem wykonane na systemie plików, przekazuje do potoku obiekty FileInfo i DirectoryInfo. Można też połączyć dwa polecenia, które wysyłają obiekty różnych typów do potoku: $( Get-Process ; Get-Service ) Operacja taka ma sens tylko wtedy, gdy kolejne polecenia potoku są w stanie wykonać operacje na obiektach różnych typów. W innym przypadku typ pierwszego obiektu może warunkować sposób przetwarzania całego potoku. $( Get-Process i* ; Get-Service i* ) Get-PipelineInfo

50 Przycinanie obiektów Przekazywane obiekty często zawierają wiele niepotrzebnych elementów składowych. Odpowiednie ich odfiltrowanie pozwala zmniejszyć wykorzystanie zasobów i zwiększyć przejrzystość danych wyjściowych. Operację pozwala przeprowadzić aplet Select-Object: Get-Process Select-Object ProcessName, get_minworkingset, ws Get-Member Operacja przycięcia może mieć skutki uboczne: Brak właściwej nazwy klasy. Elementy składowe zostają przekształcone we właściwości dodatkowe.

51 Sortowanie obiektów Do sortowania obiektów służy aplet polcenia Sort-Object. Standardowy porządek jest rosnący. Zmiana kolejności sortowania przełącznikiem desc: Get-Process Sort-Object -desc Domyślnie sortowanie po pierwszej własności. Zmiana przy pomocy przełącznika property: Get-process select-object id, pm, name sort desc property id

52 Grupowanie obiektów Grupowanie obiektów w potoku wg wskazanej właściwości realizuje aplet Group-object : Get-Service group-object status Jeżeli jedynym celem jest wyświetlenie grup i zliczanie obiektów nie jest potrzebne, można użyć wywołania Select-Object z parametrem unique : Get-ChildItem Select-Object extension -Unique

53 Obliczenia Na obiektach potoku obliczenia wykonuje aplet Measure-Object. Możliwe są: określenie liczności, znalezienie wartości minimalnej lub maksymalnej, sumy, średniej. Wymagane jest określenie nazwy właściwości, na której będzie wykonywana wskazana operacja. Get-ChildItem Measure-object Property length min max average -sum

54 Wartości pośrednie Polecenie potokowe może mieć praktycznie dowolną długość. Można je jednak podzielić na fragmenty. Do przenoszenia zawartości potoku między kolejnymi poleceniami służą zmienne. Zmienne w WPS wyróżnia zawsze znak $ na początku nazwy. Usuwanie wartości zmiennej realizuje aplet Clear- Variable. Pobiera nazwę zmiennej bez znaku $. Get-Process Where-Object { $_.name eq firefox } ForEach-Object { $_.ws } $x = Get-Process $y = $x Where-Object { $_.name eq firefox } $y ForEach-Object { $_.ws }

55 Porównywanie obiektów Aplet Compare-Object pozwala porównać zawartość dwóch potoków. $przed = Get-Process cmd $po = Get-Process Compare-Object $przed $po

56 Rozgałęzienia Są wykorzystywane, jeśli wyniki pracy apletu mają zostać przekazane dalej w potoku oraz zapisane do zmiennej lub pliku. Zostały zaimplementowane w aplecie Tee- Object. Nazwę zmiennej podaje się po przełączniku var i bez znaku $. Podanie ścieżki dostępu do pliku wymaga użycia przełącznika filepath. Get-Service Tee-Object var a Where-Object { $_.Status eq Running } Tee-Object filepath c:\tmp\uslugi.txt

57 Uniwersalny model nawigacji PowerShell implementuje niezależny od repozytorium model nawigacji. Podstawowe repozytoria to: Zmienne środowiskowe (env). Klucze Rejestru Windows (HKCU, HKCL). Magazyn certyfikatów (cert). Aliasy (alias), zmienne (Variable) i funkcje PowerShell (function). Aplet Get-ChildItem pracuje na każdym z repozytoriów.

58 Rejestr systemu Windows Praca z rejestrem nie różni się od pracy z systemem plików. Przejście do klucza HKEY_LOCAL_MACHINE\Software: cd hklm:\software Set-Location hklm:\software Lista podkluczy klucza bieżącego: Dir Get-ChildItem Tworzenie podklucza o nazwie IT-Vision: md IT-Vision Tworzenie podklucza z zawartością standardową: New-Item name Witryna value type string

59 Dostawcy danych i dyski Aplet Get-PSDrive wypisuje listę dostawców danych. Każdy z dostawców zapewnia ujednolicony dostęp metodami Get, Set, New, Remove. WPS jest wyposażony w dostęp do: Systemu plików. Rejestru systemu. Zmiennych środowiskowych. Magazynu certyfikatów. Funkcji PowerShella. Zmiennych PowerShela. Aliasów PowerShela.

60 Aplety poleceń do nawigacji w repozytoriach danych Aplet polecenia Aliasy Opis Get-ChildItem dir, ls Lista obiektów podrzędnych Get-Cwd cd, pwd Zmiana katalogu bieżącego Get-Content type, cat Wywołanie zawartości elementu New-Item mkdir Tworzenie elementu (gałęzi lub liścia) Get-Location Informacja o katalogu bieżącym Set-Location cd Zmiana katalogu bieżącego Get-Content c:\tmp\pamm.c

61 Ścieżki Podstawowe symbole stosowane w zapisie ścieżek dostępu do obiektów:... ~ Get-ChildItem c:\windows\[a-dw]*.* Aplet Test-Path sprawdza, czy ścieżka istnieje. Zwraca wynik True lub False. Test-Path c:\tmp Aplet Resolve-Path analizuje symbole wieloznaczne i wypisuje jej pełną postać: Resolve-Path ~

62 Definiowanie dysków Model nawigacji WPS przewiduje możliwość definiowania nowych dysków, które można wykorzystać m.in. jako skróty zastępujące długie nazwy ścieżkowe. New-PSDrive Name Home PSProvider FileSystem -Root c:\documents and Settings\franio\ Nowo zdefiniowany dysk jest dostępny jedynie w bieżącej konsoli WPS i nie jest dostępny dla innych aplikacji. Podobnie można definiować skróty do kluczy rejestru. Ograniczenie liczby dysków to Można je zmienić modyfikując zmienną $MaximumDriveCount.

63 Język skryptów PowerShell

64 System pomocy Opisy elementów składniowych języka skryptowego PowerShell można wypisać podobnie jak opisy apletów poleceń. Nazwy dokumentów opisujących konstrukcje języka rozpoczynają się od słowa About : Get-Help About_for

65 Rozdzielanie poleceń Ogólnie jeden wiersz skryptu, to jedno polecenie. W wierszu można umieścić kilka poleceń rozdzielając je znakiem ;. Na końcu każdej linii może znajdować się znak ; ale nie jest to wymagane. Jeśli jedno polecenie musi zostać zapisane w kilku wierszach, należy użyć znaku odwróconego apostrofu ` : Gps ` format-list

66 Zmienne Nazwy zmiennych rozpoczyna znak $. Nazwa może zawierać litery i cyfry oraz znak _. Część nazw jest zarezerwowana dla zmiennych predefiniowanych $_. Określanie typu zmiennej nie jest wymagane, może on jednak zostać zadeklarowany: $a = 5 $a = [int] 5 $a = [System.DateTime] Typy WPS odpowiadają klasom.net: typy [int], [System.Int32] i [int32] są identyczne. Umieszczenie nazwy typu tuż przed wyrażeniem przypisania trwale przypisuje typ zmiennej.

67 Typ zmiennej W chwili przypisania wartości następuje niejawne zadeklarowanie zmiennej. Jeśli jednak typy zmiennych nie są deklarowane, mogą pojawić się błędy wynikające z błędnego określania typu. Deklaracja ma określony zakres (skrypt, procedura lub blok kodu). Deklarację można usunąć apletem Remove-Variable. Zalecane użycie polecenia Set- PSDebug Strict.

68 Szybkie typy PowerShella Oznaczenie [int] [int[]] [long] [long[]] [string] [string[]] [char] [char[]] [bool] [bool[]] [byte] [double] [decimal] [float] Typ typeof (int) typeof (int[]) typeof (long) typeof (long[]) typeof (string) typeof (string[]) typeof (char) typeof (char[]) typeof (bool) typeof (bool[]) typeof (byte) typeof (double) typeof (decimal) typeof (float)

69 Szybkie typy - cd Oznaczenie [single] [regex] [array] [xml] [scriptblock] [switch] [hashtable] [type] [ref] [psobject] [wmi] [wmisearcher] [wmiclass] Typ typeof (float) typeof (System.Text.RegularExpression.Regex) typeof (System.Array) typeof (System. Xml.XmlDocument) typeof (System. Management.Automation.SctiptBlock) typeof (System.Management.Automation.SwitchParameter) typeof (System.Collections.Hashtable) typeof (System.Type) typeof (System. Management.Automation.PSReference) typeof (System. Management.Automation.PSObject) typeof (System. Management.ManagementObject) typeof (System. Management.ManagementObjectSearcher) typeof (System. Management.managementClass)

70 Sprawdzanie typu zmiennej Informacje o typie są dostępne niezależnie od tego, czy typ zmiennej został jawnie określony. Metoda GetType () zwraca typ zmiennej w postaci obiektu System.Type. Każda zmienna WPS to obiekt klasy.net, więc metoda ta jest zawsze dostępna. Pełną nazwę (z obszarem nazw) pobieramy z właściwości FullName, zaś krotką z Name.

71 Zmienne predefiniowane To zmienne PowerShella. Ich właściwa nazwa to zmienne zintegrowane lub zmienne wewnętrzne. Wszystkie zadeklarowane zmienne, wewnętrzne i użytkownika można wyświetlić poleceniem: Get-ChildItem Variable: dir Variable:

72 Zmienne predefiniowane Funkcja $true $false $OFS $Home $PSHome $Args $Input $_ $StackTrace $Host $LastExitCode $Error Opis Wartość prawda Wartość fałsz Separator stosowany przy wyświetlaniu zbioru obiektów Katalog macierzysty użytkownika Katalog macierzysty PowerShella Parametr (przy wywołaniach funkcji) Zawartość potoku (do użytku w funkcjach) Bieżący obiekt potoku (do użytku np. w pętlach) Bieżąca sekwencja wywołań Informacje o hoście WPS Wartość zwrócona przez ostatnio wykonany program konsoli lub zewnętrzną aplikacje Windows Pełna lista błędów od uruchomienia PowerShella. Ich liczbę określa zmienna $MaximumErrorCount

73 Podstawianie zmiennych Zasada podstawiania zmiennych jest stosowana nie tylko w typowych wyrażeniach, ale również wewnątrz ciągów znakowych. Jeżeli: to zamiast: można napisać: [int] $licznik = 1 [string] $Komputer = messy $licznik.tostring() + Dostep do komputera + $Komputer $licznik. Dostep do komputera $Komputer W obu przypadkach wartość ciągu jest ta sama: 1. Dostep do komputera messy

74 Podstawianie zmiennych - cd Z podstawiania zmiennych można korzystać w wywołaniach apletów poleceń: Get-DirectoryEntry ( WinNT:// + $Komputer) Get-DirectoryEntry WinNT://$Komputer Mechanizm podstawiania zmiennych obejmuje również obliczanie wartości wyrażeń. Po znaku $ można umieścić w ciągu znakowym dowolne wyrażenie, którego wartość zostanie włączona do ciągu wynikowego: 1+3=$(1+3) Godzina: $((Get-Date).ToShortTimeString()) Podstawianie zmiennych nie zostanie przeprowadzone, jeśli ciąg zostanie zapisany przy użyciu znaków apostrofu zamiast cudzysłowiu: $licznik. Dostep do komputera $Komputer

75 Liczby Konstruktorami wartości liczbowych mogą być literały liczby, wyrażenia i zakresy. Liczby szesnastkowe poprzedza się znakami 0X i można je stosować wszędzie tam, gdzie liczby dziesiętne. Jeżeli następuje przypisanie literału liczby do zmiennej, której typ nie został jawnie określony, WPS tworzy obiekt typu System.Int32. Jeśli zakres wartości nie jest wystarczający, stosowany jest typ Int64 lub Decimal. Jeśli literał jest ułamkiem, WPS deklaruje typ Double lub Decimal. Aby przypisać zmiennej typ danych, należy poprzedzić deklarację nazwą typu. W przypadku typu Decimal istnieje możliwość zadeklarowania typu poprzez dodanie litery d. Skróty KB, MB i GB pozwalają używać jednostek kilo-, mega- oraz gigabajta.

76 Liczby pseudolosowe Do generowania liczb pseudolosowych służy aplet Get- Random. Standardowo generuje liczby typu double z przedziału od 0 do Int32.MaxValue. Przedział wartości można zmienić przy użyciu parametrów Min i Max. Istnieje możliwość wyboru wartości losowych z danego zbioru.

77 Ciągi znakowe WPS pozwala korzystać ze wszystkich metod klasy System.String, a wtym m.in. z: Insert(), Remove(), Replace() i Split(). Pełną listę metod udostępnia polecenie: Get-Member m method

78 Dzielenie i łączenie ciągów znakowych Aplet polecenia Split-String umożliwia podzielenie napisu na fragmenty w miejscach wskazanych przez znaki. Odpowiednikiem jest metoda Split() klasy System.String. Analogicznie, do łaczenia ciągów służy metoda Join() oraz aplet polecenia Join-String.

79 Data i godzina Aplet polecenia Get-Date tworzy obiekt System.DateTime klasy.net, który zawiera bieżącą datę i godzinę. Redukcja danych wyjściowych przy pomocy przełącznika displayhint : Get-Date displayhint date Get-Date displayhint time Można obliczyć różnicę między bieżącą datą i godziną, a datą i godziną zapisaną w zmiennej (metoda Substract() lub operator - ): (Get-Date).Substract((Get-Date :11:25 )) (Get-Date) (Get-Date :11:25 ) Różnice czasu są tworzone jako obiekty klasy System.TimeSpan. Można je tworzyć poleceniem New- Timespan : $Przedzial = New-Timespan Days 10 Hours 7 Minutes 6 Seconds 2 $Teraz = Get-Date $Koniec = $Teraz + $Przedzial

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Języki skryptowe w programie Plans

Języki skryptowe w programie Plans Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów

Bardziej szczegółowo

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Bash - wprowadzenie. Bash - wprowadzenie 1/39 Bash - wprowadzenie Bash - wprowadzenie 1/39 Bash - wprowadzenie 2/39 Czym jest bash? Rysunek : Zadanie powłoki to ukrycie wywołań systemowych Bash - wprowadzenie 3/39 Czym jest bash? Przykład polecenia:

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

Powłoka bash. Kurs systemu Unix 1

Powłoka bash. Kurs systemu Unix 1 Powłoka bash Kurs systemu Unix 1 Skrypty powłoki Skrypt powłoki to plik tekstowy, rozpoczynający się sekwencją: #!/usr/local/bin/bash # taki sobie skrypt lub podobną. Polecenie: sekwencja napisów, odzielonych

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach: Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ; Do wyświetlania tekstu służy instrukcja echo echo Hello world ; PHP język ze słabą kontrolą typów. W języku php w przeciwieństwie do c++ nie musimy podawać typu zmiennej podczas jej deklaracji. Tworzenie

Bardziej szczegółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2) Wstęp do informatyki stęp do informatyki Polecenia (cz.2) Lista procesów top Pokaż listę procesów polecenie interaktywne Procesy Uruchamianie w tle. shell nie czeka na zakończenie procesu, można wydawać

Bardziej szczegółowo

1 Przygotował: mgr inż. Maciej Lasota

1 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki

Bardziej szczegółowo

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości

Bardziej szczegółowo

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix Wydział Mechatroniki i Budowy Maszyn Specjalność: Automatyka i Robotyka Rok II Semestr IV 1. Logowanie w systemie Unix. System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix Do zalogowania

Bardziej szczegółowo

Skrypty BASH a. Systemy Operacyjne 2. Mateusz Hołenko. 4 października 2012

Skrypty BASH a. Systemy Operacyjne 2. Mateusz Hołenko. 4 października 2012 Skrypty BASH a Systemy Operacyjne 2 Mateusz Hołenko 4 października 2012 Plan zajęć O skryptach słów kilka... Powłoka, wiersz poleceń Obsługa powłoki bash Składnia języka skryptowego bash a Zadania Mateusz

Bardziej szczegółowo

MATERIAŁY DO ZAJĘĆ II

MATERIAŁY DO ZAJĘĆ II MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych

Bardziej szczegółowo

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix Wydział Zarządzania i Modelowania Komputerowego Specjalność: Informatyka Stosowana Rok III Semestr V 1. Logowanie w systemie Unix. Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu

Bardziej szczegółowo

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal

Bardziej szczegółowo

Trochę o plikach wsadowych (Windows)

Trochę o plikach wsadowych (Windows) Trochę o plikach wsadowych (Windows) Zmienne środowiskowe Zmienną środowiskową można ustawić na stałe w systemie (Panel sterowania->system- >Zaawansowane ustawienia systemu->zmienne środowiskowe) lub też

Bardziej szczegółowo

PHP: bloki kodu, tablice, obiekty i formularze

PHP: bloki kodu, tablice, obiekty i formularze 1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują

Bardziej szczegółowo

Wykład 2 Składnia języka C# (cz. 1)

Wykład 2 Składnia języka C# (cz. 1) Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1)

JAVAScript w dokumentach HTML (1) JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 2 - wprowadzenie do zmiennych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 23 października 2017 1 / 26 mgr inż. Krzysztof Szwarc Podstawy i

Bardziej szczegółowo

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = Ala ma ; 1 2 Operacje na zmiennych Kolejność operacji: deklaracja, inicjacja bool decyzja; int licznik, lp; double stvat, wartpi; char Znak; string S1, S2 = "Kowalski"; przypisanie wartości podstawienie decyzja

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2] 1. CEL ĆWICZENIA Celem ćwiczenia jest przedstawienie możliwości wykorzystania języka JavaScript do tworzenia interaktywnych aplikacji działających po stronie klienta. 2. MATERIAŁ NAUCZANIA JavaScript tak

Bardziej szczegółowo

ZMIENNE. Podstawy PHP

ZMIENNE. Podstawy PHP ZMIENNE Podstawy PHP zmienna - to obiekt w programowaniu, który przechowuje różnego rodzaju dane niezbędne do działania programu. Zmienna podczas działania programu może zmieniad swoje wartości (jak wskazuje

Bardziej szczegółowo

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt Serwer WWW Apache http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Katalog który ma być serwowany Moduły, które mają zostać uruchomione na serwerze m.in. PHP, mod_rewrite Wirtualne

Bardziej szczegółowo

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający

Bardziej szczegółowo

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop. 2017 Spis treści Przedmowa 11 1. Jak w programie 21 Czym jest program? 21 Uruchamianie interpretera języka Python 22 Pierwszy

Bardziej szczegółowo

Oczywiście plik musi mieć rozszerzenie *.php

Oczywiście plik musi mieć rozszerzenie *.php Oczywiście plik musi mieć rozszerzenie *.php Znaczniki PHP komunikują serwerowi gdzie rozpoczyna się i kończy kod PHP. Tekst między nimi jest interpretowany jako kod PHP, natomiast poza nimi jako kod HTML.

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux Administracja sieciowymi systemami operacyjnymi III Klasa - Linux SKRYPTY POWŁOKI mgr inż. Tomasz Borowiec SKRYPTY POWŁOKI - PODSTAWY W Linuksie skrypt jest plikiem tekstowym zawierającym polecenia systemowe

Bardziej szczegółowo

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź JAVASCRIPT PODSTAWY materiały dydaktyczne dla uczniów słuchaczy opracowanie: 2004-2007 by Arkadiusz Gawełek, Łódź 1. Czym jest JavaScript JavaScript tak naprawdę narodził się w firmie Netscape jako LiveScript,

Bardziej szczegółowo

System operacyjny Linux

System operacyjny Linux Paweł Rajba pawel.rajba@continet.pl http://kursy24.eu/ Zawartość modułu 6 Język bash Pierwszy skrypt Rozwinięcia parametryczne Bloki instrukcji Dwa przydatne polecenia Tablice Sprawdzanie warunków Instrukcje

Bardziej szczegółowo

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019 BASH - LINIA POLECEŃ Bioinformatyka 2018/2019 PODSTAWOWE DEFINICJE Linux system operacyjny, które oferuje kompletne środowisko programistyczne Powłoka interfejs wiersza poleceń zapewniający komunikację

Bardziej szczegółowo

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE Magda Mielczarek Pracownia Informatyczna 2015/2016 1 Podstawowe definicje Linux system operacyjny, które oferuje kompletne środowisko programistyczne

Bardziej szczegółowo

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA, który zawiera: zmienne, konstrukcje warunkowe i iteracyjne (IF-THEN-ELSE, CASE, DO WHILE, DO UNTIL), konfigurowane środowisko użytkownika. METAZNAKI zestaw

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Polecenia i skrypty konsoli Windows PowerShell

Polecenia i skrypty konsoli Windows PowerShell Polecenia i skrypty konsoli Windows PowerShell Laboratorium Systemów Operacyjnych - zajęcia nr 9 1 Konsola Windows PowerShell PowerShell zbudowany w jest w metodologi obiektowej. W dużym uproszeniu można

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Środowisko programisty Zestaw 7

Środowisko programisty Zestaw 7 Bash, zmienne i instrukcje warunkowe Zmienne możemy traktować jak etykiety, które przechowują ciągi znaków. Definiujemy je przy pomocy znaku = bez spacji po obu jego stronach: dog="azor" Do zmiennych w

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Tablice (jedno i wielowymiarowe), łańcuchy znaków Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie

Bardziej szczegółowo

1 Powłoka programu Windows PowerShell... 1. 2 Skrypty programu Windows PowerShell... 37. 3 Zarządzanie dziennikami... 65

1 Powłoka programu Windows PowerShell... 1. 2 Skrypty programu Windows PowerShell... 37. 3 Zarządzanie dziennikami... 65 Spis treści Podziękowania... xi Wstęp... xiii 1 Powłoka programu Windows PowerShell... 1 Instalowanie programu Windows PowerShell... 1 Sprawdzanie instalacji za pomocą skryptu w języku VBScript... 1 WdraŜanie

Bardziej szczegółowo

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Ustalanie dostępu do plików - Windows XP Home/Professional

Ustalanie dostępu do plików - Windows XP Home/Professional Ustalanie dostępu do plików - Windows XP Home/Professional Aby edytować atrybuty dostępu do plikow/ katalogow w systemie plików NTFS wpierw sprawdź czy jest Wyłączone proste udostępnianie czyli przejdź

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc. Zmienne powłoki Zmienne powłoki (shell variables) to tymczasowe zmienne, które mogą przechowywać wartości liczbowe lub ciągi znaków. Związane są z powłoką, Przypisania wartości do zmiennej następuje poprzez

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

Bardziej szczegółowo

Umieszczanie kodu. kod skryptu

Umieszczanie kodu. kod skryptu PHP Definicja PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania C/C++, lecz jest bardzo uproszczona

Bardziej szczegółowo

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Język programowania Ruby Marcin Młotkowski 12 kwietnia 2018 Plan wykładu 1 Wstęp 2 Typy numeryczne Łańcuchy znaków (klasa String) Przedziały Tablice i tablice asocjacyjne Nazwy

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak Systemy operacyjne System operacyjny Linux - wstęp Anna Wojak 1 1 Wstęp Linux jest systemem z rodziny Unix. Pierwsza wersja systemu została opracowana w 1969 roku przez K.Thompsona i D.Ritchie Jest to

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

Bardziej szczegółowo

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

Ed Wilson. Windows PowerShell Krok po kroku 3.0. Przekład: Marek Włodarz

Ed Wilson. Windows PowerShell Krok po kroku 3.0. Przekład: Marek Włodarz Ed Wilson Windows PowerShell Krok po kroku 3.0 Przekład: Marek Włodarz APN Promise, Warszawa 2013 Spis treści Przedmowa....xi Wprowadzenie....xiii 1 Przegląd cech Windows PowerShell 3.0.... 1 Istota Windows

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft ); Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft ); Dobrą praktyką jest używanie wielkich liter jako nazw stałych. Nie jest

Bardziej szczegółowo

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

Podstawy programowania. Podstawy C# Tablice

Podstawy programowania. Podstawy C# Tablice Podstawy programowania Podstawy C# Tablice Tablica to indeksowany zbiór elementów Tablica jest typem referencyjnym (deklaracja tworzy tylko referencję, sama tablica musi być utworzona oddzielnie, najprościej

Bardziej szczegółowo

Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression)

Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression) Sed edytor strumieniowy,sed wczytuje bieżący wiersz pliku do wewnętrznego bufora celem manipulowania tekstem. Wynik jest wysyłany na standardowe wyjście. Oryginalny plik nie jest nigdy zmieniany. Jeżeli

Bardziej szczegółowo

KOTLIN. Język programowania dla Androida

KOTLIN. Język programowania dla Androida KOTLIN Język programowania dla Androida Historia Kotlin został opracowany przez firmę JetBrains Prace rozpoczęto w 2011 r., od 2012 r. dostępny na licencji Apache 2. Nazwa pochodzi od wyspy koło Petersburga

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

Bardziej szczegółowo

Narzędzia informatyczne w językoznawstwie

Narzędzia informatyczne w językoznawstwie Narzędzia informatyczne w językoznawstwie Wiersz poleceń - Potoki i pliki wsadowe Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 22. października 2008 Marcin

Bardziej szczegółowo