Algorytmy + Struktury danych = Programy
|
|
- Stefan Włodarczyk
- 9 lat temu
- Przeglądów:
Transkrypt
1 prof dr hab. inz Witold Dzwinel Instytut Informatyki AGH, KRAKÓW Algorytmy + Struktury danych = Programy DELPHI 4.0 TURBO PASCAL 5.5 Metoda TOP - DOWN 1. Wstep: Zlozonosc obliczeniowa: przyklad: znajdowanie liczb pierwszych rozwiazywanie ukladu równan liniowych 2. Struktury danych a. stale, zmienne, typy, tablice, b. stringi, rekordy c. wskazniki d. pliki e. obiekty 3. Instrukcje a. Instrukcje podstawienia i podstawowe instrukcje sterujace (if, for, goto) b. Dodatkowe instrukcje sterujace (if,then,else; while, repeat, case, continue, break, with) c. Funkcje, procedury i metody d. Programy, kompilatory, dyrektywy 4. Algorytmy a. Podstawy algorytmiki: sumowanie szeregu, silnia, operacje na stringach, generator liczb losowych, metody Monte-Carlo b. Podstawowe algorytmy numeryczne: interpolacja, aproksymacja, calkowanie, równania róznicowe, miejsca zerowe, znajdowanie maksimum (minimum funkcji), uklady równan. c. Operacje na tablicach. Wymiana, element maksymalny i minimalny transpozycja, porzadkowanie, mnozenie macierzy, sortowanie, quick-sort, kolejkowanie. d. Operacje na rekordach, tworzenie list, listy polaczone, operacje na strukturach drzewiastych, stosie, i inne struktury dynamiczne. e. Algorytmy rekurencyjne i operacje na obiektach
2 Cwiczenia No.1 1. Stale i zmienne, typy, if, for, goto - powtórzenie 2. Przyklady: a. Znajdowanie zer równania kwadratowego, b. Znajdowanie liczb pierwszych, c. Silnia, kombinacje k elementowe zbioru N elementowego, ciagi arytmetyczny i geometryczny d. Dodawanie elementów szeregu Taylora z zadana dokladnoscia e. Iteracyjne znajdowanie zer funkcji ================================================================= Komentarze // { } (* *) unit Nazwa; interface implementation. Stale: const Pi = ; AlaX = Moja kolezanka ; Ilosc = 35; Limit = 25.5; Boltzm = 1.36E-26; Zmienne var Kat: Real; i: Integer; Volume: Real; Radius: Double; NumberX: integer; Nazwisko: char; TablicaA = array [1.. Ilosc] of char; Typy zmiennych: Integer ( ) Real (8 bajtów) Double (8 bajtów)
3 char (1 bajt) Wyrazenia Volume := 4.0/3.0 * Pi * Radius*Radius*Radius; TablicaA := Obliczono objetosc ; Operatory Arytmetyczne *, /, div,+, -, Przypisania := Logiczne: and, or Relacyjne: = <> < > <= >= Instrukcja sterujaca if then if Radius > Limit then Volume := 4.0/3.0* PI * Radius * Radius * Radius; Wynik := Volume/2; Instrukcja while... do... const con1 = 10; var suma: Real; suma := 0.0; while suma < MAX do suma := suma + con1;
4 CWICZENIA Napisac algorytm znajdowania wartosci N po K. function Silnia (N:integer):integer; var N,ST, Ind: integer; if (N <> 0) then ST := 1; Ind :=1; while Ind <= Silnia do ST := ST * nd; Ind := Ind + 1; else ST := 1; Silnia := ST; ======================= Rekurencja ============================== function Silnia (N:integer):integer; var N: integer; if (N = 0) then Silnia := 1; else Silnia := N* Silnia (N-1); =============================================== var N,K, Kombin: Integer; Kombin := Silnia(N)/(Silnia(N-K) * Silnia (K));
5 ================Funkcja znajdujaca liczby pierwsze ============= function prime (N:integer): string; const NotPrime = not a prime number ; YesPrime = this is a prime number ; var N, Ns: integer; comm: string; if (N = 1) or (N div 2) = 0 then comm := NotPrime; else Ns := sqrt (N)+1; Ind := 3; while (N div Ind) <> 0 and Ind <= Ns do Ind := Ind + 2; if (Ind >= Ns) then comm := NotPrime; else comm := YesPrime; prime := comm;
6 ======================Rozwiazywanie rownania kwadratowego ============= function sqreqs (a,b,c:real, var x: array [1..2] of real): integer; delta := sqr (b) 4* a*c; if delta < 0 then sqreqs := 0; else if delta = 0 then x[1] := -b/(2*a); x[2] := x[1]; sqreqs := 1; else x[1] := (-b+sqrt(delta))/(2*a); x[2] := (-b- sqrt(delta))/(2*a); sqreqs := 2;
7 =================Funkcja znajdujaca wartosc e**x ============== function exponent (x, Err:real): real; const Huge = 3.5E24; var error: real; if (x<1.0) then exponent := 1+x; error := Huge; id := 2; while error > Err do exponent := exponent + Power (x,id)/silnia(id); id := id + 1; error := 1.0/Silnia(id); else exponent = -1.0;
8 ZADANIE: 1. Napisz program znajdujacy wartosc funkcji sinus z zadana dokladnoscia (z szeregu Taylora) 2. Napisz program sumujacy nastepujacy ciag A0=Q0, A1=Q1, An = q*an-1 + q*an-2 3. Napisz program sumujacy odwrotnosci kwadratów elementów tablicy dwuwymiarowej 4. Napisz program znajdujacy macierz transponowana do danej macierzy dwuwymiarowej a[n,n] 5. Napisz program znajdujacy najwieksza wartosc w tablicy jednowymiarowej 6. Napisz kod w Pascalu sortujacy tablice dwuwymiarowa.
9 1. Instrukcja case Cwiczenia No.2 case PrzekroczeniePredkosci of 0 : Mandat := 0; 5: Mandat := 50; 10: Mandat := 75; 15: Mandat := 100; 20, 25, 30: Mandat := Przekroczenie Predkosci * 20; else Mandat := MaksymalnyMandat; 2. Rekordy Rekord jest to zbiór powiazanych danych zgrupowanych w jednej strukturze. Po zadeklarowaniu typu rekordowego, trzeba zadeklarowac zmienna tego typu, aby umieszczac w niej dane. Skladniki rekordu nosza nazwe pól. type TKartaAdresowA = record imie: string; nazwisko: string; ulica: string; miasto: string; kodpocztowy: integer; const MAX = 10000; var Karta001= array [1..MAX] of TKartaAdresowa; // Wielkosc tego rekordu moze byc rózna ze wzgledu na string (nie jest to dobre // w zapisie na plik Karta001[1].imie := waldus ; Karta001[1].nazwisko := kiepski ; Karta001[1].ulica := Polna ; Karta001[1].kodpocztowy := ;
10 with Karta001[1] do imie := waldus ; nazwisko := kiepski ; ulica := Polna ; kodpocztowy := ; Zadania na cwiczenia Skonstruuj typ rekordowy kartoteka, posortuj babelkowo ludzi wzgledem wieku. Dla osob mlodszych niz 65 lat wpisz w polu rekordu StosunekDoSluzby zmobilizowany. Dla osób mlodszych niz 40 lat drugalinia Dla osob mlodszych niz 25 lat pierwsza linia Posortowana tablice rekordów KARTOTEKA uzupelnij rekordami z tablicy wejsciowej INSERT function insert (n:integer, x:array [1..n] of real, var a:real, var k:integer):integer; var i: integer; if k<=0 then insert := 1; for i:=n downto k+1 do x[i] := x[i-1]; x[k] := a; else insert := 0;
11 function MatrixMult (k,m,n:integer, a:array [1..N, 1..M] of real, b:array [1..M, 1..K] of real, var c:array [1..N,1..K] of real) var n,m,k:integer; if N>=0 and K>=0 or M>=0 then MatrixMult := 1; for n :=1 to N do for k := 1 to K do c[n,k]:= 0; for m := 1 to M do c[n,k] := c[n,k] + a[n, m]*b[m,k] else MatrixMult := 0; function BubbleSort (M: integer, var a: array[1..m] of real): integer; var s: real; i,k,m: integer; m := 0; BubbleSort := 1; while k > 0 do k := 0; for i :=1 to M -1 do if a[i] > a[i+1] then k:=k+1; s := a[i]; a[i] := a[i+1]; a[i+1] := s; if k=0 and m =0 then BubbleSort := 0; m := m+1;
12 procedure NormalSort (M: integer, var a: array[1..m] of real); var s: real; i,k,l: integer; for k := 1 to M-1 do s := a[k ]; l := k; for i :=k+1 to M do if s < a[i] then s := a[i]; l := i; a[l] := a[k]; a[k] := s; PROJEKTY Na najblizsze cwiczenia: 1. Skonstruuj dowolny typ rekordowy 2. Zdefiniuj tablice rekordow w ktorej dokonywac bedziesz poszukiwania jej elementow zgodnie z zadanymi regulami dla pól. 1. Sortowanie babelkowe rekordow ksiazka cena 2. Sortowanie przez wstawianie, rekordow imie, nazwisko wzrost 3. Znajdowanie liczby pierwszej w zadanej tablicy liczb 4. Sumowanie procentow (suma wplacona, stale odsetki, coroczny podatek Belki, ile bede mial pieniedzy w zadanym miesiacu i roku) 5. Liczenie calki z zadanych funkcji metoda trapezow i Simpsona 6. Program na znajdowanie sumy elementów ciagu Fibonacciego 7. Program na liczenie wartosci funkcji sin(x) z rozwiniecia funkcji w szereg Tylora z zadana dokladnoscia 8. Program do znadowania prostej regresji 9. Metoda regula falsi w znajdowaniu zer zadanej funkcji 10. Program znajdujacy dokladne pierwiastki rownania 3ego stopnia 11. Napisz program ukladajacy rekordy (np. typu kartoteka) na stos (o ograniczonym rozmiarze), wyszukujacy na stosie zadane elementy sortujacy stos w zadanym porzadku. 12. Napisz program wstawiajacy napisany kawalek tekstu w zadane miejsce drugiego tekstu.
13 13. Napisz program kodujacy tekst w ktorym kluczem kodowym jest odleglosc znaku kodujacego w tablicy ASCII. 14. Napisz program wylawiajacy z tekstu zadany kawalek tekstu 15. Napisz program zamieniajacy w tekscie zadane znaki innymi zadanymi znakami.
14 Cwiczenia No.3 Kartkówka: 1. Mamy tablice A[100,100] wypelniona rekordami o dwóch polach jedno typu char a drugie typu real. a. zadeklaruj tablice rekordów b. napisz funkcje zwracajaca tablice transponowana do A c. oraz zwracajaca ilosc elementów tablicy dla których pole rzeczywiste posiada wartosc mniejsza od x i wiekszych od y 2. Mamy tablice B[100,10] wypelniona rekordami o dwóch polach jedno typu char a drugie typu integer. a. zadeklaruj tablice rekordów b. napisz funkcje zwracajaca tablice C[10,100] w której wiersze to odpowiednie kolumny macierzy B. c. funkcja zwraca liczbe elementów tablicy w których pole integer jest wieksze od 0. type rec record a1: char; a2: real; var A: array [1,100, ] of rec; b:rec; x,y:real; i,j,l, ilosc: integer; const M = 100; l := 0; for i := 1 to M do for j:= i+1 to M do b := A[i,j]; if b.a2 <y and b.a2>x then l:=l+1; A[i,j] := A[j,i]; if A[j,i].a2 <y and A[j,i].a2>x then l:=l+1; A[j,i] := b; ilosc := l;
15 Mamy dwa zbiory A i B. Znalezc C sume róznice i iloczyn zbiorów. SUMA ZBIORÓW (N>=M): for i := 1 to N do C[i] := A[i]; k := 0; for i:= 1 to M do b := B[i]; j := 1; while j < N - k do if b = C[j] then C[j] := C[N-k]; k := k +1; j : = j 1; Il[k] : = b; j := j + 1; // ILOCZYN for n := 1 to M do // SUMA C[j+ n-1] := B [n ]; for n := 1 to j-1 do // if j=1 RÓZNICA = zbiór pusty R [n] := C[n]; W DOMU Znajdz: liczbe elementów, ilosc powtórzen, iloczyn, sume i róznice stogów
16 Cwiczenia No.4 Masz N wygenerowanych losowo punktów w kwadracie a na b. Znajdz najblizszych sasiadów znajdujacych sie nie dalej niz Rcut. Zrób to za pomoca listy polaczonej. algorytm N 2 var X,Y: array [1..N] of real; Lmindis: array [1..N] of real; L:array[1..N] of integer; x, a, b, distx, disty, dist, Rcut, disi, disj: real; i,j:integer; x := iles; for i:=1 to N do X[i] := a*rand(x); Y[i] := b*rand(x); L[i] := 0; Lmindis[i] := Rcut; for i:=1 to N do for j:=i+1 to N do distx := X[i]-X[j]; disty := Y[i]-Y[j]; dist := distx*distx + disty*disty; if dist < Rcut then disi := Lmindis[i]; disj:= Lmindis[j]; if dist < disi then Lmindis[i]:=dist; L[i] := j; if dist < disj then Lmindis[j]:=dist; L[j] := i;
17 algorytm N var LL: array [1..N] of integer; LH: array [1..Nc] of integer; ncx, ncy, icell, ix, iy: integer; ncx := a/rcut; ncy := b/rcut; for i:=1 to N do LL[i] := 0; for i:=1 to Nc do LH[i] := 0; for i:=1 to N do iy := (Y[i]/b)*ncy; ix := (X[i]/a)*ncx icell := ix + iy*ncx + 1 ; LL[i] := LH[icell]; LH[ice ll] := i; for icell:=1 to Nc do icellx := (icell-1) div ncx; //reszta z dzielenia icelly := (icell-1) / ncx; i := LH[icell]; while i <> 0 do j := LL[i]; // dla innych komorek j:=k:=lh[icell1] while j <> 0 do distx := X[i]-X[j]; disty := Y[i]-Y[j]; dist := distx*distx + disty* disty; if dist < Rcut then disi := Lmindis[i]; disj:= Lmindis[j]; if dist < disi then Lmindis[i]:=dist; L[i] := j; if dist < disj then Lmindis[j]:=dist; L[j] := i; j := LL[j]; i := LL[i]; icellx1 := icellx 1; //sprawdzic war brzegowe icelly1 := icelly; icell 1:= icellx+icelly*ncx;
18 i := LH[icell1]; while i <> 0 do j := LH[icell]; while j <> 0 do distx := X[i]-X[j]; disty := Y[i]-Y[j]; dist := distx*distx + disty*disty; if dist < Rcut then disi := Lmindis[i]; disj:= Lmindis[j]; if dist < disi then Lmindis[i]:=dist; L[i] := j; if dist < disj then Lmindis[j]:=dist; L[j] := i; j := LL[j]; i := LL[i];
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
DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0
Uwaga: DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 1. Zostały pominięte diagramy: CYFRA, CYFRA SZESNASTKOWA, ZNAK i LITERA. Nie została uwzględniona możliwość posługiwania się komentarzami. 2. Brakuje
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Język programowania PASCAL
Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO
Wstęp do programowania. Różne różności
Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste
Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:
Instrukcje podsumowanie Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: - grupująca end - warunkowa if
Proste programy w C++ zadania
Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna
1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania
1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca
INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};
INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE
INSTRUKCJA ITERACYJNA REPEAT. repeat Instrukcja_1; Instrukcja_2; {... } Instrukcja_N; until wyr ; INSTRUKCJA ITERACYJNA WHILE
INSTRUKCJA ITERACYJNA REPEAT Instrukcja_1; Instrukcja_2; {... } Instrukcja_N; until wyr ; INSTRUKCJA ITERACYJNA WHILE while wyr do Instrukcja_1; Instrukcja_2; {... } Instrukcja_N; M.P. «PASCAL» (P04) 1
20. Pascal i łączenie podprogramów Pascala z programem napisanym w C
Opublikowano w: WEREWKA J..: Podstawy programowana dla automatyków. Skrypt AGH Nr 1515, Kraków 1998 20. i łączenie podprogramów a z programem napisanym w Ze względu na duże rozpowszechnienie języka, szczególnie
Pascal - wprowadzenie
Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego
Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego
Pascal 1. Pliki tekstowe Przykład 1.1. Zapis do pliku tekstowego {deklaracja zmiennej tekstowej 'plik'} plik: text; {skojarzenie zmiennej plikowej 'plik' z plikiem na dysku (podajemy lokalizacje)} {tworzenie
Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe
Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;
Informatyka 1. Przetwarzanie tekstów
Informatyka 1 Wykład IX Przetwarzanie tekstów Robert Muszyński ZPCiR ICT PWr Zagadnienia: reprezentacja napisów znakowych, zmienne napisowe w Sun Pascalu, zgodność typów, operowanie na napisach: testowanie
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word
Pascal - powtórka Alfabet, Nazwy W odróŝnieniu do C w Pascal nie odróŝnia małych i duŝych liter. Zapisy ALA i ala oznaczają tę samą nazwę. Podobnie np. słowo kluczowe for moŝe być zapisane: FOR. W Pascalu
Zasady Programowania Strukturalnego
Zasady Programowania Strukturalnego Rafał Jakubowski Zespół Teoretycznej Biofizyki Molekularnej rjakubowski@fizyka.umk.pl www.fizyka.umk.pl/~rjakubowski Tel: 33 46 Konsultacje w sem. letnim 11/12: środa,
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
Proste algorytmy w języku C
Proste algorytmy w języku C Michał Rad AGH Laboratorium Maszyn Elektrycznych 2016-12-01 Outline Język C Zadanie pierwsze - obliczanie miejsc zerowych wielomianu Zadanie drugie - znajdowanie największego
2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.
CZEŚĆ A. Przykłady, cd. 1.Obliczanie wartości pierwiastka kwadratowego - algorytm Newtona-Raphsona http://pl.wikipedia.org/wiki/metoda_newtona (pierwszy przykład na stronach Wiki) Dane: Liczba a (a>0)
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:
Informatyka A. Algorytmy
Informatyka A Algorytmy Spis algorytmów 1 Algorytm Euklidesa....................................... 2 2 Rozszerzony algorytm Euklidesa................................ 2 3 Wyszukiwanie min w tablicy..................................
Podstawy programowania w języku C
Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu
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
Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel
Wstęp do programowania Procedury i funkcje Piotr Chrząstowski-Wachtel Po co procedury i funkcje? Gdyby jakis tyran zabronił korzystać z procedur lub funkcji, to informatyka by upadła! Procedury i funkcje
Instrukcja warunkowa i wyboru
Instrukcja warunkowa i wyboru projektowanie algorytmów instrukcje sterujące języka Pascal instrukcja warunkowa operatory relacyjne i logiczne instrukcja wyboru echniki programowania I s.3-1 Projektowanie
Przykładowerozwiązania.
Przykładowerozwiązania. 1. Napisz program, w którym przy użyciu instrukcji case będzie możliwy następujący wybór: 1-wypelnia tablice jednowymiarową liczbami pseudolosowymi z zakresu od 0 do 100 2- wypisuje
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować
Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice
Podstawy programowania Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice 1 Podstawy programowania Iteracja 2 III. Iteracja Iteracja o nieznanej liczbie powtórzeń while warunek do instrukcja_do_wykonania;
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
Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)
Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest
1 Powtórzenie wiadomości
1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy
Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego
Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.
Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania
Analiza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą
Wymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:
5 Tablice Tablica jest zestawem obiektów (zmiennych) tego samego typu, do których można się odwołać za pomocą wspólnej nazwy. Obiekty składowe tablicy noszą nazwę elementów tablicy. Dostęp do nich jest
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,
Algorytmy i struktury danych
Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie
Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;
Programowanie C++ Zadanie 1 Napisz program do obliczenia sumy i iloczynu ciągu liczb zakooczonego liczbą zero. Zakładamy, że ciąg zawiera co najmniej jedną liczbę (założenie to jest konieczne przy obliczeniu
Programowanie Delphi obliczenia, schematy blokowe
Informatyka II MPZI2 ćw.2 Programowanie Delphi obliczenia, schematy blokowe Zastosowania obliczeń numerycznych Wyrażenia arytmetyczne służą do zapisu wykonywania operacji obliczeniowych w trakcie przebiegu
Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa
Informatyka 1 Wykład III Wyrażenia i instrukcje, złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: składnia wyrażeń, drzewa rozbioru gramatycznego i wyliczenia wartości wyrażeń, operatory
I. Podstawy języka C powtórka
I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.
Programowanie RAD Delphi
Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje
Rozdział 4. Algorytmy sortowania 73 Rozdział 5. Typy i struktury danych 89 Rozdział 6. Derekursywacja i optymalizacja algorytmów 147
Spis treści Przedmowa 9 Rozdział 1. Zanim wystartujemy 17 Jak to wcześniej bywało, czyli wyjątki z historii maszyn algorytmicznych 18 Jak to się niedawno odbyło, czyli o tym, kto wymyślił" metodologię
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
Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe
Podstawy programowania Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe 1 Podstawy programowania Część I Łańcuchy znaków 2 I. Zmienne łańcuchowe Klasyfikacja zmiennych statycznych
Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.
Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle. Sub Hasla1() Dim wzor_hasla As String Dim haslo As String Dim adres
PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka
PASCAL Kompendium Środowisko TURBO PASCAL Skróty klawiaturowe Edycja kodu F1 Pomoc spis treści CTRL + F1 Pomoc kontekstowa SHIFT + strzałki Zaznaczanie bloku CTRL + INSERT Skopiowanie zaznaczonego bloku
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41
Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje
Proste algorytmy w języku C
Proste algorytmy w języku C Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-10-17 Outline Język C i Matlab Zadanie pierwsze - obliczanie miejsc zerowych wielomianu Zadanie drugie - znajdywanie największego
Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.
Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane
C++ wprowadzanie zmiennych
C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym
Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL 1 Część 1 Pojęcie algorytmu 2 I. Pojęcie algorytmu Trochę historii Pierwsze
Programowanie w VB Proste algorytmy sortowania
Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich
Podprogramy. Procedury
Podprogramy Turbo Pascal oferuje metody ułatwiające tworzenie struktury programu, szczególnie dotyczy to większych programów. Przy tworzeniu większego programu stosuje się jego podział na kilka mniejszych
Algorytmy i struktury danych
Algorytmy i struktury danych Zmienne Proste typy danych Strukturalne typy danych Witold Marańda maranda@dmcs.p.lodz.pl 1 Zmienne Liczby (i struktury danych) występują w algorytmach i programach komputerowych
Laboratorium nr 1. i 2.
Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych
Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1
Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych; Begin
Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Algorytmy i struktury danych. wykład 1
Plan całego wykładu:. Pojęcie algorytmu, projektowanie wstępujące i zstępujące, rekurencja. Klasy algorytmów. Poprawność algorytmu, złożoność obliczeniowa. Wskaźniki, dynamiczne struktury danych: listy,
Wstęp do informatyki Ćwiczenia. Piotr Fulmański
Wstęp do informatyki Ćwiczenia Piotr Fulmański Piotr Fulmański 1 e-mail 1: fulmanp@math.uni.lodz.pl Wydział Matematyki i Informatyki, Uniwersytet Łódzki Banacha 22, 90-238, Łódź Polska Data ostaniej modyfikacji:
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
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,
typ y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury
typy złożone- tablice wielowymiarowe, struktury Wykład 6 Deklarowanie wskaźników nazwa_typu * nazwa_wskaznika; WSKAŹNIKI: PRZYPOMNIENIE Przypisywanie wskaźnikom wartości double * pn = &zmienna_typu_double;
Visual Basic for Application (VBA)
Visual Basic for Application (VBA) http://dzono4.w.interia.pl Książka Visual Basic dla aplikacji w Office XP PL, autorzy: Edward C. Willett i Steve Cummings, Wyd. Helion Typy zmiennych Różne dane różnie
Lekcja 6: Pascal. Procedura i funkcja
Lekcja 6: Pascal. Procedura i funkcja S. Hoa Nguyen 1 Materiał Książka: Programowanie w języku Pascal. Rozdział 9. Podprogramy Podprogramy - motywacja Skrócenie zapisu (wielokrotne powtórzenia tej samej
3. Podstawowe funkcje mamematyczne. ZAPOZNAĆ SIĘ!!!
Zajęcia 3 1. Instrukcja iteracyjna while while WARUNEK do Instrukcja; 2. Deklaracja funkcji function nazwa(x:real;i:integer;...): typ_funkcji; deklaracje zmiennych lokalnych; instrukcje (w tym podstawienie
Programowanie strukturalne i obiektowe. Funkcje
Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy
JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak
JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard
Programowanie - instrukcje sterujące
Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication
Informatyka 1. Dokumentacja programu, moduły programowe, typy tablicowe
Informatyka 1 Wykład VII Dokumentacja programu, moduły programowe, typy tablicowe Robert Muszyński ZPCiR ICT PWr Zagadnienia: reguły stylu programowania, komentarze marginesowe, blokowe, moduły programowe
Przykład programu Rozwiązanie równania postaci:
Przykład programu Rozwiązanie równania postaci: a x 2 + b x + c = 0 program trojmian; var a, b, c : real; var delta, x1, x2 : real; writeln('podaj wspolczynniki a, b, c równania kwadratowego: '); readln(a,
Programowanie, algorytmy i struktury danych
1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania
PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie
PASCAL Język programowania wysokiego poziomu Opracowany przez Mikołaja Wirtha na początku lat 70 XX wieku Prosty, z silną kontrolą poprawności Stosowany prawie wyłącznie na uczelniach do nauki programowania
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,
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
TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;
Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst
Algorytmika i pseudoprogramowanie
Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry
Programowanie strukturalne i obiektowe
Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie
Informatyka 1. Rekordy, przeszukiwanie i sortowanie tablic
Informatyka 1 Wykład VIII Rekordy, przeszukiwanie i sortowanie tablic Robert Muszyński ZPCiR ICT PWr Zagadnienia: rekordy, rekordy jako argumenty procedur i funkcji, operacje na plikach z rekordami, przeszukiwanie
Zmienne i struktury dynamiczne
Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest
Metody numeryczne Laboratorium 2
Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania
Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:
Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard
Wprowadzenie do programowania w VBA
Wprowadzenie do programowania w VBA Spis treści Struktura programu... 1 Typy danych... 2 Deklaracja zmiennych i stałych... 2 Deklaracja tablic... 3 Instrukcja przypisania... 3 Wprowadzanie danych... 3
Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++
Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.
Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania
Kiedy i czy konieczne?
Bazy Danych Kiedy i czy konieczne? Zastanów się: czy często wykonujesz te same czynności? czy wielokrotnie musisz tworzyć i wypełniać dokumenty do siebie podobne (faktury, oferty, raporty itp.) czy ciągle
OPERACJE NA PLIKACH. Podstawowe pojęcia:
OPERACJE NA PLIKACH Podstawowe pojęcia: plik fizyczny, zbiór informacji w pamięci zewnętrznej wykorzystywany do trwałego przechowywania danych lub jako przedłużenie pamięci operacyjnej w przypadku przetwarzania
Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.
Zadanie 1. Utworzyć klasę reprezentującą liczby wymierne. Obiekty klasy powinny przechowywać licznik i mianownik rozłożone na czynniki pierwsze. Klasa powinna mieć zdefiniowane operatory czterech podstawowych
Programowanie Proceduralne
Programowanie Proceduralne Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Bożena Woźna-Szcześniak (AJD) Programowanie Proceduralne Wykład 1 1 / 59 Cel wykładów z programowania
Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
APROKSYMACJA. Rys. 1. Funkcja aproksymująca zbiór punktów pomiarowych (1) (2) (3) (4) (5) (6) (7) ... Zmienna y
40 APROKSYMACJA Zmienna y 36 33 30 27 24 21 18 15 12 9 6 3 0 0,00 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08 Zmienna x Rys. 1. Funkcja aproksymująca zbiór punktów pomiarowych (1) (2) (3) (4) (5) (6) (7)...
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
2:8,7 3:9,4 / \ / \ / \ / \ 4:7,3 5:8 6:9,2 7:4
Wykład: Sortowanie III Drzewa Turniejowe 1:9,8 2:8,7 3:9,4 4:7,3 5:8 6:9,2 7:4 8: 3 9:7 12:9 13:2 Insert(x,S) 1) tworzymy dwa nowe liście na ostatnim poziomie, 2) do jednego wstawiamy x a do drugiego wartość
PLIKI TEKSTOWE F C E 30 0D 0A 42 6F 72 6C 61 6E 64 1A T U R B O _ P A S C A L _ 7. 0
PLIKI TEKSTOWE plik_liczb : file of integer; plik_znakow : file of char; plik_linii : text; deklaracja zmiennej plikowej Przykład sekwencji bajtów: 54 55 52 42 4F 20 50 41 53 43 41 4C 20 37 2E 30 0D 0A
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19. Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach. 1. Dynamiczna alokacja pamięci dla tablic wielowymiarowych - Przykładowa