Podstawy informatyki

Transkrypt

Podstawy informatyki
Podstawy informatyki:
plan zajęć:
• 1-3 praca na linux
• 5-7 programowanie w języku C
zajęcia 4,8 – kolokwia
• 4 zajęcia – kartka A4 z 8 poleceniami, komputer w trybie egzamin, praca na katalogu +
wysłanie efektu pracy
• 8 zajęcia – kolokwium z programowania, kartka A5 z zadaniem „napisz program w języku
C, który...”, utworzenie, kompilacja i przesłanie kodu źródłowego
zaliczenie – obydwa kolokwia zaliczone na ocenę pozytywną
System operacyjny – zarządca zasobów.
Komputer:
• zasoby bierne – zasoby do wykorzystania (hardware)
• zasoby czynne – procesy
Tryb wywłaszczania – udostępnianie zasobów na określony czas
System operacyjny ma zapewnić bezpieczeństwo dla obiektów (plików, procesów) użytkownika.
„biały znak” - spacja, tabulator - ◊ (na zajęciach był to trójkącik ale nie chciało mi się szukać w
symbolach ;))
Struktura polecenia:
polecenie ◊ [opcja] ◊ [argument]
[opcja] – zwykle jednoliterowa, poprzedzona minusem, w przypadku więcej niż jednej opcji dwie
możliwośći zapisu:
• -l ◊ -t ◊ -a ◊
• -lta (zalecane)
kolejność opcji nie jest istotna (- lta działa tak samo jak -tal)
[argument] – oddzielane jednym znakiem bialym, ma znaczenie kolejność wpisywania
argumentów
Wydawanie poleceń:
• samo polecenie
• polecenie + opcje
• polecenie + argumenty
• polecenie + argumenty + opcje
pwd – pokazanie ścieżki katalogu
cd – przejście do katalogu, możliwe sposoby:
/
..
../..
ls – wylistowanie zawartosci katalogu
- l – widok → lista (typ pliku, uprawnienia, liczba dowiązań, właściciel, grupa)
- lh – to co w ls + wielkość plików
- n – wszystkie pliki w katalogu razem z ukrytymi
- t – sortowanie po modyfikacji
Typy plików:
_ - płaski, nieznany przez jądro
d – katalog
l – dowiązanie symboliczne
b – blok informacji
c – blok informacji
p – połączenie między procesami
s – połączenie między procesami
Odczytywanie:
1 – typ pliku
2,3,4 – uprawnienia właściciel
5,6,7 – uprawnienia grupa użytkowników
8,9,10 – uprawnienia wszyscy
Podstawy informatyki – laborki 18.11.2015
mkdir [nazwakatalogu] – tworzenie folderu
cd
WDI – skrócona
./WDI – pełna
Tworzenie katalogu ze spacją w nazwie:
mkdir
„zajecia 2”
zajecia\2
rmdir – usunięcie pliku
touch [nazwapliku] – tworzenie pliku podstawowego
mv [nazwapliku] [nowanazwa] – zmiana nazwy
rm [nazwapliku] – usuwanie pliku
- r [nazwakatalogu] – usuwanie rekurencyjne katalogu
- fr [nazwakatalogu] – usuwanie wszystkiego bez pytania
file [sciezkapliku] – sprawdzenie pliku bez jego uruchomienia (sprawdzenie typu pliku)
polecenie:
• standardowe wejście – klawiatura
• standardowe wyjście – terminal
• standardowe wyjście diagnostyczne – terminal
cat [sciezkadopliku] – wyświetlenie zawartosci pliku na standardowym wyjściu
more [scieżkadopliku] – wyświetlenie zawartosci pliku z możliwością jednorazowego przewinięcia
less [ścieżkadopliku] – wyświetlenie zawartości pliku z możliwością przewijania i wyszukiwania
• / - szukanie
• q – wyjście
tail [liczbalinii] [ścieżka] – podgląd końca pliku, domyslnie 10
head [liczbalinii] [ścieżka] – podgląd początku pliku, domyslnie 10
wc [nazwapliku] – statystyki pliku np.
56 (linii) 118 (slów) 3027 (znaków)
- l – tylko ilość linii
- w – tylko ilość słów
- c - tylko ilość znaków
\ - na końcu linii:
• zakończenie ctrl + d
• kontynuowanie w nowej linii
Łączenie poleceń:
polecenie 1 | polecenie 2 | polecenie 3
np.
ls -al | less [sciezka]
ls -al | w [sciezka]
ls -al [sciezka] | tail -n+2 | wc -l
ls -al [sciezka] | head -17 | tail -1
ls -al [sciezka] | tail -n+17 | head -1
- wypisanie wszystkich linii
- wypisanie 17 linii
- wypisanie 17 linii
cal [miesiac] [rok] – kalendarz (bez [] - aktualny miesiąc)
bc – kalkulator ; -l – naukowy; sqrt (x) – pierwiastek
Zapisywanie plików:
•
•
tryb override – polecenie > plik
◦ jeśli plik nie istnieje jest tworzony nowy
◦ jeśli plik istniał jego zawartoś jest kasowana
tryb dopisywania – polecenie >> plik
np.
ls – al [sciezka] > ls1.txt
ls -al [sciezka] | tail -n+2 > ls2.txt
diff [nazwapliku1] [nazwapliku2] – porównanie zawartości plików po liniach
history – historia wykonanych poleceń w terminalu
Podstawy informatyki – laborki 8.11.2015
file [nazwapliku] – podejrzenie zawartości pliku bez jego otwierania
ls – al | wc -l – wyświetlenie liczby wszystkich linii
grep [opcja] [wyrazenie regularne] [*nazwa pliku*]
np. cat /etc/passwd | grep 1 – wyszukanie llinii, która zawiera 1 w danym pliku
cut – wycinanie kolumny liczbowej
cat / etc / passwd | cut – c 1
cat / etc / passwd | cut d: - f 3,5
- wycięcie 1 kolumny znakowej (pierwsza litera)
- wyszukanie 3 i 5 kolumny oddzielonej :
grep „1” - wyrównanie szukania do lewej
cat / etc / passwd / cut - d: -f 3,5 | grep „^1”
cut
-d [separator] – określenie separtora
-f [nr pola] – określenie które pola mają zostać wyświeetlone
ls -d [ścieżka katalogu]
*s
- pliki na s
?
- dowolny znak
s??????
- pliki na s mające 7 znaków
grep „
„
1
.
.*
\.
$
- dosunięcie do lewego marginesu
- jeden dowolny znak
- powielenie dowolnego znaku (np. st* da wynik st, stt, sttt)
- odebranie kropce supermocy
- zakończenie linii
np.
ls / usr / include | grep „^s.*\.h$”
- wyszukanie plików zaczynających się na s i kończących się na .h
s….
s….$
- co najmniej 5 liter
- 5 liter dokładnie
Różnica:
ls s** - dowolny plik z początkiem st
grep „st*” - pliki st, stt, sttt, stttt
grep
[wyrażenie regularne] – c
„[wyrażenie regularne]”
[wyrażenie regularne]
-w
-i
-v
- liczenie zamiast szukania
- jeśli w wyrażeniu są znaki specjalne np. „.”
- jeśli w wyrażeniu nie ma znaków specjalnych
- wylistowanie tylko pełnych ciągów
- duże i małe litery nie mają znaczenia
- wyniki „nie zawiera” wyrażenia regularnego
Programowanie:
vi [nazwa pliku] - uruchomienie kompilatora
• dla istniejącego pliku załadowanie pliku
• dla nowego – pusty edytor
Po wykonaniu komendy vi program zostaje uruchomiony w trybie podstawowym (do odczytu) bez
możliwości edycji.
• i – możliwość edycji (insert)
• a – również możliwość edycji (kursor w innym miejscu niż dla i)
• ESC – powrót do trybu podstawowego
• : - wiersz poleceń
• w – zapisać
• q – wyjść
• q! - wyjśc bez zapisu
• wq – wyjść i zapisać
• x – usunięcie znaku w trybie podsawowym
• dd – usunięcie całej linii
Pod „#” zamieszczamy dyrektywy preprocesorów np. # include <iostream>.
Zad. 1. „Hello world!”
#include <iostream>
using namespace std;
int main (){
cout <<”Hello world!” << endl;
return 0;
}
Kompilowanie programu:
g++
[nazwapliku.cpp] -o [nazwapliku2]
[nazwapliku.cpp]
- skompilowanie pliku do nazwapliku2
- skompilowanie pliku do a_out
WAŻNE!! Zwracać uwagę, żeby nazwapliku2 była różna od nazwapliku.cpp – inaczej
program się usunie i nieskompiluje.
Podstawy informatyki – laborki. 22.11.2015
zad. 1.
4 3 1 3 1
¶ r ⇒ ¶ d ⇒ ∗pole∗d
3
6
6
math.h ← tablica zmiennych matematycznych
/usr/include/math.h
M_PI ← zmienna umożliwiająca użycie PI
#define ROZMIAR 100 ← zmienna globalna, cały program będzie z tego korzystał
Rodzaje zmiennych:
•
int – całkowite
•
float – do 7-8 miejsc po przecinku
•
float double – podwójna precyzja
•
float long double – mega precyzja ;)
zmienne dla programu d, pole, obj.
#include <iostream>
#include <math.h>
using namespace std;
int main() {
float d, pole, obj;
cout << „Podaj srednice: „;
cin >> d;
d = fabsf(d);
pole = M_PI * d * d;
obj = pole * d / 6;
cout << „Pole wynosi: „ << pole << endl;
cout << „Objetosc wynosi: „ <<obj <<ednl;
return 0;
}
zad. 2. Czytanie ciągu liczb całkowitych, gdzie wpisanie 0 kończy ciąg. Ile liczb parzystych jest w
ciągu?
#include <iostream>
using namespace std;
int main () {
int i, liczba, parzystych;
i = 1;
parzystych = 0;
do {
cout << „Wpisz liczbe: „ << i << „ :”;
cin >> liczba;
if (liczba ! = 0 && liczba % 2 == 0) parzystych ++;
i ++;
} while (liczba !=0)
cout << „Bylo: „ << parzystych << endl;
}
Zwiększanie liczby:
•
dla int – zarówno a=a+1 jak i a+=1 jak i a++ dadzą prawidłowy wynik
•
dla float – a=a+1, a+=1 są ok, a++ nie stosujemy (a++ - następna w ciągu dla float nie
wiadomo jaka)
Rzutowanie
- np. (float)suma
//tutaj był jeszcze program z obliczaniem średniej, ale niestety nie mam go zapisanego//