230 likes | 374 Views
P O D S T A W Y P R O G R A M O W A N I A · komputer · program – obliczenia – decyzje – przetwarzanie dan ych – wizualizacja – sterowanie · program zapis algorytmu · algorytm – obliczeniowy – decyzyjny – przetwarzania danych
E N D
P O D S T A W Y P R O G R A M O W A N I A ·komputer ·program – obliczenia – decyzje – przetwarzanie danych – wizualizacja – sterowanie ·program zapis algorytmu ·algorytm – obliczeniowy – decyzyjny – przetwarzania danych – sterowania
Problem Rozwiązanie Algorytm Dane Komputer Program Problem Sygnały Sterujące Algorytm Dane Pomiarowe Komputer Program Raporty
Problem Algorytm Rezultaty Dane Komputer Program Użytkownik
·dane i struktury danych –rodzaje danych : liczbowe, tekstowe, graficzne, dźwiękowe, ... –typy danych : • sposób reprezentacji •rola w programie
·zmienne { nazwa , wartość } i j x y x1 k125 Alfa Cena CenaMleka Imie_Ojca x := 1 x 1 x = 1 x = x + 1 xt+1 = xt + 1 x = 7 y = -12 x = y + 5 x = y – x + 1 –wartość jest zapisywana w pewnym obszarze pamięci komputera
0 1 2 n d0 d1 d2 . . . dn W • struktury danych • –tablice jednowymiarowe jednowymiarowe : W [ 4 ] W [ i ]
D00 D01 . . . D0k D10 D11 . . . D1k Dw0 Dw1 . . . Dwk . . . –tablice wielowymiarowe D 0 1 k 0 1 w dwuwymiarowe : D[ wie ] [ kol ] D[ 5 ] [ 2 ] D[ a ] [ b ] trójwymiarowe : T [ mat ] [ wie ] [ kol ] T [ 2 ] [ 5 ] [ 12 ] . . . .
D0 Dn D1 jednokierunkowa D0 D1 Dm dwukierunkowa •listy
• stos, kolejka •rekord Podatnik Kowalski Stanisław 88311201234 42547,54 Nazwisko Imię Pesel DochódRoczny PodatnikAktualny . NazwiskoPodatnikAktualny . DochódRoczny •tablice rekordów Podatnicy [ 12435 ] . Nazwisko Podatnicy [ 32343 ] . Pesel
k k TAK Warunek NIE Start Stop ·zapisywanie algorytmów pisanie programów – język naturalny – notacja graficzna schematy, diagramy – języki programowania ·schematy blokowe ( sieci działań ) (PN-75/E-01226) Operacja
Wykonaj wszystkie operacje programu Stop Start
x - 5 x2 + 1 y = Start Stop y = x y = y – 5 wczytaj wartość x z = x z = z * x wyprowadź wartość y z = z + 1 y = y / z –program liniowy : y =( x - 5 ) /( x * x + 1 )
Start Stop – program z rozgałęzieniami : MAX ( a, b, c ) wczytaj a, b, c N T a > b N N a > c b > c T T wyprowadź c wyprowadź b wyprowadź a
czy licznik powtórzeń N osiągnął wartość graniczną NIE – pętla ( iteracja ) • pętla wyliczeniowa ustalenie wartości początkowej licznika powtórzeń N TAK wykonanie treści pętli zmiana wartości licznika powtórzeń N
Stop Start n ai S = i = 1 S = 0 a1 + a2 + . . . + an wczytaj n NIE Kolejność danych: n, a1, a2, . . . an n > 0 TAK wczytaj a S = S + a n = n – 1 wyprowadź S
•pętla warunkowa ustalenie wartości początkowych czy warunek zakończenia jest spełniony T N wykonanie treści pętli
wyświetl tekst " Zgadnij liczbę od 1 do 10 : " K = K + 1 Start Stop wczytaj Z wyświetl K Zgadnij liczbę. X = losuj ( 1, 10 ) K = 0 , Z = 0 T X == Z N
W ·programowanie strukturalne struktury sterowania : –predykat ( blok decyzyjny, warunkowy ) – iteracja ( pętla ) War_Pocz Treść W
Start Stop ·modularyzacja programu wczytywanie danych wejściowych przetwarzanie danych wyprowadzanie wyników
Start Stop wczytaj polecenie wykonaj polecenie N czy polecenie zakończenia T
JĘZYKI PROGRAMOWANIA – język A = { a1 , a2 , . . . , an } alfabet W = A* zbiór ciągów L W zbiór słów języka – analiza leksykalna – analiza składniowa – analiza semantyczna – imperatywne języki programowania – deklaratywne języki programowania – język wewnętrzny, asembler – języki programowania wysokiego poziomu
program w języku wysokiego poziomu program w języku wysokiego poziomu translator ( kompilator ) interpreter przekład w języku wewnętrznym kompilacja interpretacja
–początki języków programowania : FORTRAN COBOL ALGOL –języki programowania strukturalnego : C Pascal Ada PL/1 –języki programowania obiektowego : C++ C# Object Pacal Java –języki opisu dokumentów i stron www : HTML XML PHP JAVA SCRIPT –języki specjalizowane LISP SIMULA Prolog Clipper