Rip 1

Embed Size (px)

Citation preview

Univerzitet u Tuzli Mainski fakultet

RAUNARI I PROGRAMIRANJE- UVOD -

Dr. Salko osi

Tuzla, februar 20121

Nastava predavanja: vjebe: ECTS: 4

2 asa sedmino 2 as sedmino

Provjera znanja: Pismeni ispit - programski zadaci, (50 %) Usmeni ispit - TESTOVI (2x) u pisanoj formi (50 %) Seminarski rad - uz saglasnost nastavnika, max. 2x (50%)

Obaveze studenata: prisustvo na predavanjima i vjebama usmeni ispit: TEST u pisanoj formi seminarski rad iz prezentaciju ili klasini usmeni ispit - javno, pismeni ispit, min 50%

2

Nastavni planweek 1 2 NASTAVNA JEDINICA - TEMA

3 4 5 6

Uvod, raunarski sistem, razvoj i primjena, operativni sistemi, brojni sistemi, programski jezici, algoritmi, osnove programiranja, programski koncepti, MS Visual Studio IDE, Programski jezik FORTRAN 90, uvod, opte karakteristike Linija, naredba,label, tipovi podataka, globalni, lokalni, nedeklarisani, INTEGER, REAL, CHARACTER, LOGICAL, KOMPLEX, izrazi, aritmetiki, logiki i relacioni, Seminarski radovi prezentacije, TEST 1 Programske jedinice SUBROUTINE, MODUL, BLOCK DATA, FUNCTION, programske biblioteke, C-string, karakter string, nizovi, manipulacije vektorima i matricama dll projekti, INPUT-OUTPUT tipovi file-ova, strukture, Windows projekti OOP, Programski jezici viih nivoa, C#, osnove CAS sistemi: Maple, MatCad, Matlab osnove TEST 2 Seminarski radovi - prezentacije

7 8 9 10 11 12 13 14 15

3

UVOD, osnovni pojmovi i definicije Raunarski sistem je elektroniki sistem koji obrauje ulazne podatke ili informacije (INPUT) i proizvodi iz njih nove ili izlazne podatke (OUTPUT) po prethodno definisanoj proceduri - programu.

Program: Skup naredbi (instrukcija) raunaru za rjeavanje odreenog problema. Program mora za vrijeme izvravanja biti unesen u radnu (RAM) memoriju raunara.

OPERATIVNI SISTEMAn operating system is the software that controls the overall operation of a computer. It provides the means by which a user can store and retrieve files, provides the interface by which a user can request the execution of programs, and provides the environment necessary to execute the programs

Kolekcija programa koji omoguavaju rad, komunikaciju i upravljanje hardverskim komponentama, fajlovima i korisnikim aplikacijama. Obezbjeuje user interface za korisnike programe. Windows, Linux, Unix,..., Sun, HP, IBM...requested. 4

Hijerarhija organizacije raunarskog sistema: Nivoski koncept (struktura sa vie nivoa) Funkcionalna dekompozicijaNIVOSKI koncept (raunar je organizacija koja ima 6 nivoa hijerarhije) 6- Aplikacioni nivo (korisnika aplikacija = program za konkretan problem) 5- Nivo viih programskih jezika (programiranje, razvoj aplikacija) 4- Nivo asemblerskog jezika (prevoenje programskih instrukcija na nii nivo) 3- operativno-sistemski mainski nivo (sistemski pozivi i instrukcije niem nivou) 2- Klasini mainski nivo (arhitektura, organizacija i skup instrukcija procesora i drugih komponenti) 1- Nivo mikroarhitekture (ALU, sloenija logika kola) 0- Digitalno-logiki nivo (hardver, elektronika komponenta, osnovna logika kola) -1 Nivo elektronskih komponenata (pojedinani tranzistori)

Prvi raunari imali su samo dva nivoa (mainski i digitalno-logiki nivo).5

Funkcionalna dekompozicija:Raunarski sistem se predstavlja kao sistem komponenti (modula) koje obavljaju specifine funkcije i svaka ima svoju strukturu tj. hijerarhiju. Tri glavna podsistema savremenog raunarskog sistema su: Centralna procesorska jedinica (CPU Central Processor Unit). Sastoji od upravljake jedinice, koja upravlja radom cjelokupnog raunara i magistrale podataka koja sadri registre, aritmetiko-logiku jedinicu (ALU) i druge funkcijske jedinice specijalizovane za pojedine tipove obrade podataka (matematiki koprocesori, akceleratori i sl.).CPU ima dvije osnovne f-je: vri elementarne aritmetike i logike operacije na podacima i koordinira rad ostalih komponenti sistema. I pored velike sloenosti, CPU obavlja samo ELEMENTARNE OPERACIJE (sabiranje ili premijetanje podataka sa jedne na drugu lokaciju). Snaga CPU potie iz ogromne brzine tj. kratkog vremena obavljanja instrukcija.

6

Memorijski podsistem. Sainjen je od specijalizovanih kola sa mogunou memorisanja informacije. U memoriji raunara uvaju se program i podaci. Memoriju je u stvari skup elementarnih memorijskih lokacija od kojih svaka sadri 8/16/32/64 bita. Svakoj memorijskoj lokaciji pridruena je jedinstvena adresa.

Ulazno-izlazni podsistem. Skup specijalizovanih kola koja slue za spregu CPU saU/I ureajima, kao to su tastatura, mi i displej. Ovo su integrisana kola koja imaju svoju upravljaku jedinicu i magistralu podataka. CPU vidi U/I ureaj kao skup od nekoliko memorijskih lokacija (tzv. registara ili portova). Upisom/itanjem u/iz ovih lokacija mogue je upravljati radom U/I ureaja, tj. pokrenuti aktivnosti perifernog ureaja, postavi ureaj u eljeni reim rada, pribavi informaciju o trenutnom stanju ureaja, prenijeti/prihvatiti podatke u/od ureaja.7

Kratak pregled razvoja raunarskih sistema: I generacija: kasne 40-te, elektronske lampe, ENIAC (18000 k. cijevi, 150kW, 30 tona)

II generacija: 50-60 te, poluprovodnika tehnologija, tranzistori, Neumann-organizacija III generacija: sredina 60-tih, prva integrisana kola (IC), SSI (Small Scale Integration), IBM IV generacija: krajem 70-tih,IC kola sa 100.000 komponenti, LSI, mikroprocesora na jednom chip-u (INTEL, Apple, Motorola)... V generacija: VLSI : 1989 INTEL 0486, 1.2 M tranzistora, 1993 Pentium (3.1 M), P4 (2000, 42 M tran.) (multiprocesorski sistemi...), VI-generacija...8

Podjela raunarskih sistema prema paralelnosti u obradi podataka (Flynn) SISD Single Instruction Single Data (klasini raunari) SIMD Single Instruction Multiple Data (vektorski procesori, specijalizovani za grafiku i numerike proraune) MISD- Multiple Instruction Single Data MIMD Multiple Instruction Multiple Data(standardne multiprocesorske maine)

9

BROJNI SISTEMIBrojni sistemi predstavljaju nain prikazivanja brojeva pomou niza simbola koji se nazivaju cifre brojnog sistema. Njime su definisana i pravila za osnovne operacije nad brojevima. Osnovne vrste brojnih sistema: Nepozicioni brojni sistem : Jedna cifra ima uvijek istu vrijednost bez obzira na poziciju u zapisu. (Npr. Rimski brojni sistem: I, V, X, L, C, D, M) Pozicioni brojni sistem: Vrijednost cifre zavisi od njene pozicije u broju.

An An 1 An 2 A... A3 A2 A1 A0 Ai bii 0

i n

Ai cifre, b baza brojnog sistemaU raunarstvu se iroko primjenjuju slijedee 4 brojna sisetma: DECIMALNI (DEC) HEKSADECIMALNI (HEX) OKTALNI (OCT) BINARNI (BIN)

10

Decimalni brojni sistem: b = 10 ; cifre: 0,1,2,3,4,5,6,7,8,9

1475 = 5100 + 7101 + 4102 + 1103Prvi raunar je razvijen na bazi decimalne aritmetike Binarni brojni sistem: baza: 2, cifre 0 i 1

Jednostavni za elektroniku implementaciju U irokoj primjeni od 1949 Pravila binarne aritmetike su ista kao i kod decimalnog sistema:SABIRANJE 0+0=0 0+1=1 1+0=1 1+1=1 prenos 1 ODUZIMANJE 0-0=0 1-1=1 1-0=1 0-1=1 pozajmica 1 MNOENJE 0x0=0 0x1=1 1x0=1 1x1=1 DIJELJENJE 0 / 0 greka 0/1=0 1 / 0 = greka 1/1=1

Primjer: x = 27, y= 21 odredi x + y 27 = 1 1 0 1 1 (24 + 23 + 21 + 20) 21 = 1 0 1 0 1 (24 + 22 + 20 ) 5 4 48= 1 1 0 0 0 0 (2 + 2 )11

Algoritam za pretvaranje (transformaciju) iz decimalnog sistema u neki drugi:

Predstavljanje brojeva: dekadni i binarni brojni sistem, integer, real, double precision ...

Normalizirano floating-point predstavljanje (dekadno):

12

POSTUPAK RJEAVANJE PROBLEMA PRIMJENOM RAUNARA Formulacija problema, Analiza problema, Izbor metoda za reavanje, algoritam Razvoj programa pisanje izvornog koda, Kompajliranje izvornog koda Ispitivanje korektnosti programa-testiranje, Izrada dokumentacije, Odravanje i nadogradnja programa Tipovi programskih jezika:

13

Svaki programski jezik se sastoji od: Skupa znakova, Kljunih rijei (key words) Sintakse (pravila gramatike), Semantike (znaenja naredbe). Mainski jezik (binarni) direktno razumljiv hardverskim komponentama Asemblerski jezik simboliki jezik zavisan od arhitekture sistema, skraceni (simboliki) zapis

14

PITANJA 1. Definicija i sastavni dijelovi raunarskog sistema 2. Hijerarhija raunarskog sistema, nivoi, podsistemi 3. Podjela raunarskih sistema prema paralelnosti obrade 4. Brojni sistemi, definicija, osnovne vrste, transformacije iz jednog u drugi 5. Postupak rjeavanja problema primjenon raunara 6. Kompajler, asembler, mainski jezik definicije pojmova 7. Osnovni programski jezici vieg nivoa

Literatura: 1. V. Manojlovi: Osnovi raunarske tehnike, Akademska misao Beograd, 2003 2. M. Avdi: FORTRAN, Programiranje za Windows-e, Tuzla 2004

15