Instrukcje. Operatory. Operatory. Instrukcje sterujące. wyrażenie1 && wyrażenie2 ;

Podobne dokumenty
System operacyjny Linux

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

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

PERL. Practical Extraction and Report Language Pathologically Eclectic Rubbish Lister

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

System operacyjny Linux

Podstawy programowania w języku C

Instrukcje sterujące. Programowanie Proceduralne 1

Algorytmika i Programowanie VBA 1 - podstawy

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

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Architektura komputerów. Asembler procesorów rodziny x86

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

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

Narzędzia informatyczne w językoznawstwie

12. Skrypty w Linux - funkcje, instrukcje sterujące i obliczenia arytmetyczne

PODSTAWY INFORMATYKI

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Ćwiczenie 1. Wprowadzenie do programu Octave

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

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

Języki skryptowe w programie Plans

Pożyteczne linki: PERL Practical Extraction and Report Language

- wszystkie elementy - wszystkie elementy

Dzisiejszy wykład. Programowanie w Perlu. Usuwanie elementów z początku tablicy. Dodawanie elementów do początku tablic

Powłoka (shell) Powłoka ksh

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Ćwiczenie 1. Wprowadzenie do programu Octave

Podstawy bioinformatyki 2017/18

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

Programowanie skryptów powłoki

PERL Practical Extraction and Report Language

Powłoka bash. Kurs systemu Unix 1

Programowanie obiektowe

Podstawy programowania w języku C i C++

Systemy operacyjne. Laboratorium 7. Perl podstawy. Jarosław Rudy Politechnika Wrocławska 27 kwietnia 2017

dr inż. Jarosław Forenc

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,

Programowanie obiektowe

Zmienne środowiskowe: Ścieżka przeszukiwana komendą.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Wprowadzenie do programowania w powłoce

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

Pętle w PERLU postać ogólna

Środowisko programisty Zestaw 7

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Przetwarzanie sygnałów

Instrukcja SO powłoka BASH i skrypty powłoki Istotne jest zrozumienie działania narzędzia history powłoki BASH. Każde polecenie wprowadzone i

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Programowanie strukturalne i obiektowe

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

Wstęp do programowania

Wstęp do Programowania Lista 1

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Należy ściągnąć oprogramowanie Apache na platformę

Stuck in the loop. Sterowanie. Marcin Makowski. 29 października Zak lad Chemii Teoretycznej UJ

Zmienne, stałe i operatory

( wykł. dr Marek Piasecki )

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Systemy operacyjne. Programowanie w shellu: BASH. Wydział Inżynierii Metali i Informatyki Przemysłowej

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Wstęp do programowania

J ezyk AWK Kurs systemu UNIX

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Programowanie komputerowe. Zajęcia 1

Tworzenie skryptu: Skrypty powłoki

for (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

#!/bin/sh. if [ "$#"!= "1" ]; then echo "Skrypt uruchamiany z parametrem (sciezka do katalogu)" exit 1 fi

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Podstawy programowania C. dr. Krystyna Łapin

Powłoka interpreter poleceń systemu UNIX

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Systemy operacyjne 11

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

Systemy operacyjne Programowanie w języku powłoki sh

Języki programowania wysokiego poziomu. PHP cz.2.

Programowanie w elektronice: Podstawy C

Operacje logiczne i struktury sterujące.

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ć

Wprowadzenie do programowania w VBA

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

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Transkrypt:

Instrukcje wyrażenie1 if wyrażenie2 ; wyrażenie1 until wyrażenie2 ; wyrażenie1 wyrażenie2 ; wyrażenie1 wyrażenie2 ; wyrażenie1? wyrażenie2 : wyrażenie3 ; if (wyrażenie) blok [ [ elsif (wyrażenie) blok... ] else blok unless (wyrażenie) blok [ else blok ] [ etykieta: ] while ( wyrażenie) blok [ continue blok ] [ etykieta: ] until ( wyrażenie) blok [ continue blok ] [ etykieta: ] for ( wyrażenie;wyrażenie; wyrażenie) blok [ etykieta: ] foreach zmienna ( tablica) blok [ etykieta: ] blok [ continue blok ] do blok while wyrażenie; do blok unitl wyrażenie; Operatory ** potęgowanie + - * / % operatory arytmetyczne ^ operatory logiczne (bitowe) << >> operatory przesunięć bitowych operatory logiczne. konkatenacja łańcuchów xn n-krotne powtórzenie łańcucha lub tablicy -> wskazanie na pole obiektu \ wskazanie na obiekt! negacja ~ uzupełnienie do 2 (bitowe) 1% 3% Instrukcje sterujące Operatory do blok do funkcja( lista) do plik require plik goto etykieta last [ etykieta ] next [ etykieta ] redo [ etykieta ] return wyrażenie wykonanie bloku wykonanie procedury wykonanie skryptu dołączenie biblioteki z pliku skok do etykiety kończy pętlę pomijając blok continue rozpoczyna kolejną iterację pętli restartuje pętlę bez przeliczenia wyrażenia sterującego wyjście z funkcji ++ -- operatory inkrementacji (dekrementacji) ==!= < > <= >= porównania numeryczne eq ne lt gt le ge porównania tekstowe <=> porównanie numeryczne (zwraca -1, 0 lub 1) cmp porównanie tekstowe (zwraca -1, 0 lub 1) =~!~ dopasowanie wzorca.. wyliczenie?: operator warunkowy, przecinek not and or xor operatory logiczne o niskim priorytecie 2% 4%

Sprawdzenia plików Zmienne specjalne -r -w -x czy plik jest czytelny, zapisywalny, wykonywalny (przez efektywne UID) -R -W -X czy plik jest czytelny, zapisywalny, wykonywalny (przez rzeczywiste UID) -o -O czy plik jest własnością (efektywnego, rzeczywistego UID) -e -z czy plik isnieje, ma rozmiar zero -s czy plik isnieje i ma rozmiar niezerowy (zwraca rozmiar) -f -d -l -S -p czy plik jest zwykłym plikem, katalogiem, linkiem, socket em, pip em -b -c czy plik jest urządzeniem blokowym, znakowym -u -g -k czy plik ma ustawiony bit SUID, SGID, sticky -t czy plik jest terminalem -T -B czy plik jest tekstowy, binarny -M -A -C czasy modyfikacji, odczytu, zmiany inode a _ zmienna domyślna @_ tablica domyślna. numer wiersza w ostatnio odczytywanym pliku / separator wierszy domyślnie \n, separator pól dla operacji print " separator elementów tablicy przy konwersji na tekst? status ostatniej komendy wywołanej przez lub system ] numer wersji interpretera! numer lub tekst błędu (errno) 0 nazwa skryptu identyfikator procesu < rzeczywisty UID tego procesu > efektywny UID tego procesu ( rzeczywisty GID tego procesu ) efektywny GID tego procesu ARGV nazwa aktualnie czytanego pliku (przy odczcie z <>) 5% 7% ABC ABC ABC[...] @ABC #ABC %ABC ABC... ABC \ABC \%ABC *ABC Zmienne uchwyt do pliku lub katalogu zmienna skalarna element tablicy tablica indeksowana liczbą największy indeks tablicy tablica asocjacyjna (indeksowana tekstem) element tablicy asocjacyjnej procedura wskazanie na zmienną ABC wskazanie na tablicę %ABC obiekt wskazywany przez ABC Zmienne specjalne ostatnio dopasowany tekst tekst poprzedzający wystąpienie wzorca tekst następujący po wystąpieniu wzorca 1..910.. teksty pasujące do podwyrażeń @ARGV argumenty z linii komendy (bez nazwy programu) @INC lista katalogów przeszukiwanych przy require i do %ENV aktualne środowisko %SIG obsługa sygnałów 6% 8%

@A przed Operacje macierzowe @r=shift(@a) unshift(@a) @r=pop(@a) f push(@a) c @r d Z @r=splice(@a,2,3,@z) @A po a b c d e Z a b Z e f -d Debugger h help objaśnienia poleceń p print wyświetlenie wartości wyrażenia V variables wyświetlenie informacji o zmiennych T trace wyświetlenie zawartości stosu s step wykonanie polecenia (wchodzi do procedur) n next wykonanie polecenia (nie wchodzi do procedur) <CR> powtórzenie ostatnio wydanego poleceania s lub n c continue kontynuacja programu l list listowanie programu b breakpoint ustawienie pułapki 9% 11% obiekt klasa metoda Programowanie Obiektowe Obiekt to struktura znająca nazwę klasy do której należy. Klasa to pakiet, który zawiera metody do operowania na obiektach. Metoda to procedura, której pierwszym parametrem jest wskazanie na obiekt (lub nazwa klasy). Przykład 1 local %words; while (<>) # liczenie słów chomp; split; foreach w (@_) wordsw++; foreach w (sort(keys %words)) printf( "słowo %s wystąpiło %d raz%s\n", w, wordsw, (wordsw>1)?"y":"" ); 10% 12%

Przykład 2 local %months = ( "Jan" => "Sty", "Feb" => "Lut", "Mar" => "Mar", "Apr" => "Kwi", "May" => "Maj", "Jun" => "Cze", "Jul" => "Lip", "Aug" => "Sie", "Sep" => "Wrz", "Oct" => "Paź", "Nov" => "Lis", "Dec" => "Gru" ); local patt = join(" ", keys %months); open( INP, "ls -l " ); while (<INP>) chomp; s/(patt)/months1/; print _. "\n"; close( INP ); Przykład 3 - rezultat A1(,1,2,3,) A2(,10,20,30,) A3(,100,) a1(,1,2,3,) a2(,10,20,30,) a1(,2,4,7,) a2(,20,40,17,) A1(,2,4,7,) A2(,10,20,30,) A3(,2,4,7,20,40,17,) 13% 15% Przykład 3 sub proc my(a1,@a2)=@_; print "a1(", @a1, ") a2(", @a2, ")\n"; foreach p (@a1) p *= 2; foreach p (@a2) p *= 2; a1->[2] = 7; a2[2] = 17; print "a1(", @a1, ") a2(", @a2, ")\n"; return (@a1,@a2);, = ","; @A1 = ( 1, 2, 3 ); @A2 = ( 10, 20, 30 ); @A3 = ( 100 ); print "A1(", @A1, ") A2(", @A2, ") A3(", @A3, ")\n"; (@A3)=proc(\@A1,@A2); print "A1(", @A1, ") A2(", @A2, ") A3(", @A3, ")\n"; package Aqq; sub new my (type,p1,p2)=@_; my self=; self->alfa = p1; self->beta = p2; return bless(self, type); Przykład 4 sub display my (self,p1,p2)=@_; printf( "p1 " ); foreach i (keys %self) printf( " p2->i=" ); printf( " self->i," ); printf( "\n" ); 14% 16%

package Bzz; @ISA=("Aqq"); sub new my (type,p1,p2)=@_; Przykład 4 cd. my self=type->super::new(p1+7,p2+7); return bless(self, type); sub display my (self,p1,p2)=@_; printf( "Bzz " ); self->super::display(p1,p2); 17% Przykład 4 cd. package main; my a1 = Aqq->new(5,80); a1->display(s1,a1); my a2 = Bzz->new(5,80); a2->display(s2,a2); Rezultat: s1 a1->beta=80, a1->alfa=5, Bzz s2 a2->beta=87, a2->alfa=12, 18%