Tutoring System for Distance Learning of Java Programming Language

Слични документи
Tutoring System for Distance Learning of Java Programming Language

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

Pojačavači

Tutoring System for Distance Learning of Java Programming Language

Microsoft Word - 02 Elementi programskog jezika Pascal

Tutoring System for Distance Learning of Java Programming Language

Slide 1

PowerPoint Presentation

UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o

Microsoft Word - Java_introduction_NEW_SYLLABUS.doc

Microsoft PowerPoint - C-4-1

PowerPoint Presentation

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr

PROMENLJIVE, TIPOVI PROMENLJIVIH

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

Microsoft PowerPoint - Bitovi [Compatibility Mode]

Microsoft Word - SYLLABUS -Dinamicki

PowerPoint Presentation

Funkcije predavač: Nadežda Jakšić

RAČUNARSKI SISTEM Ne postoji jedinstvena definicija pojma računarski sistem. Računarski sistem predstavlja skup mašina i pridruženih metoda (realizova

1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred Bodovna vrijednost

Datum: 20

Podela ra~unarskih sredtava

PASCAL UVOD 2 II razred gimnazije

Grananje u programu predavač: Nadežda Jakšić

P1.0 Uvod

070-ALIP2-udzbenik.indb

Uvod u računarstvo 2+2

P11.3 Analiza zivotnog veka, Graf smetnji

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4

Fakultet tehničkih nauka, Novi Sad Predmet: ISIBP

PowerPoint Presentation

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

Microsoft PowerPoint - JavaP9_2019

Algoritmi i arhitekture DSP I

PowerPoint Presentation

P1.2 Projektovanje asemblera

3.Kontrlne (upravlja~ke) strukture u Javi

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

Microsoft Word - vodicitm.doc

Primenjeno programiranje - vezbe GUI i baze podataka

Microsoft Word - 11 Pokazivaci

UNIVERZITET UKSHIN HOTI PRIZREN FAKULTET RAČUNARSKIH NAUKA PROGRAM: TIT - BOS NASTAVNI PLAN-PROGRAM SYLLABUS Nivo studija Bachelor Program TIT-Bos Aka

Softversko inženjerstvo

ZADACI ZA VEŽBU 1. Realizovati konzolnu aplikaciju koja će računati površinu kvadrata, pravougaonika ili trougla. 2. Preko konzole se unosi ocena od 1

Satnica.xlsx

Inženjering informacionih sistema

Primenjeno programiranje - Vežbe

Funkcije predavač: Nadežda Jakšić

Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата

Uvod u računarstvo 2+2

Principi softverskog inženjerstva O predmetu

Microsoft Word - CAD sistemi

Microsoft PowerPoint - 11_JavaScript_1.ppt [Compatibility Mode]

Uvod u PHP

Microsoft PowerPoint - 6. CMS [Compatibility Mode]

Programski jezik C

I година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике

I година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике

I година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике

AR2019

Sveucilište u Zagrebu

Fortran

I година Назив предмета I термин Вријеме Сала Математика :00 све Основи електротехнике :00 све Програмирање

Microsoft Word - 1.Operacije i zakoni operacija

COMARC/A Format

Upitni jezik SQL

P1.3 Projektovanje makroasemblera

Slide 1

Programski jezik C

АНКЕТА О ИЗБОРУ СТУДИЈСКИХ ГРУПА И МОДУЛА СТУДИЈСКИ ПРОГРАМИ МАСТЕР АКАДЕМСКИХ СТУДИЈА (МАС): А) РАЧУНАРСТВО И АУТОМАТИКА (РиА) и Б) СОФТВЕРСКО ИНЖЕЊЕ

PowerPoint Presentation

PRIS 00 Projektovanje informacionih sistema

P2.1 Formalne gramatike

Microsoft Word - 1. REALNI BROJEVI- formulice

Apache Maven Bojan Tomić

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

Državna matura iz informatike

PowerPoint Presentation

Microsoft PowerPoint - Topic04-Serbian.ppt

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

PowerPoint Presentation

Microsoft Word - eg_plan_mart2007.doc

Школа Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР Школска 2018 /2019. Назив предмета: Информатика и рачунарство Разред: 5. Недељни број часова

Microsoft PowerPoint - Datoteke [Compatibility Mode]

Konverzije, operatori, matematičke funkcije predavač: Nadežda Jakšić

Uvod u računarstvo 2+2

PowerPoint Presentation

Рачунарска интелигенција

Programiranje 1 IEEE prikaz brojeva sažetak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, IEEE p

Programiranje 1

Uvod u računarstvo 2+2

РАСПОРЕД ИСПИТА У ИСПИТНОМ РОКУ ЈАНУАР 1 ШКОЛСКЕ 2016/2017. ГОДИНЕ (последња измена ) Прва година: ПРВА ГОДИНА - сви сем информатике Име пр

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime

Računarski praktikum I - Vježbe 01 - Uvod

Транскрипт:

Uvod u programiranje dr Ninoslava Savić Predavanja (3) sreda: 11:15 13:50 Učionica 16 Konsultacije sreda: 15 17 h Kabinet 43 Uvod u programiranje Fond časova: 3+3 Broj ESPB: 7 Ocena znanja (max. broj poena je 100) Predispitne obaveze (min 33) 65 poena Prisustvo na predavanjima i vežbama 5 Provera znanja u toku nastave 40 Aktivnost studenata na predavanjima i vežbama 10 Praktičan rad 10 Završni ispit (min 18) 35 poena Pismeni ispit (sa usmenim delom) 35 Minimum bodova za prolaz: 33 + 18 = 51 2 Sadržaj predmeta Literatura Razvoj i podela programskih jezika Metode projektovanja programa Klasifikacija tipova podataka Osnovni koncepti sintakse programskog jezika Tipovi podataka programskog jezika Kontrola programskog toka Objektni koncepti programskog jezika Programiranje klasičnih algoritama Programiranje klasa i potklasa Kreiranje poslovnih aplikacija prvi nivo 3 Materijali sa predavanja i vežbi za predmet Uvod u programiranje - na sajtu Škole Lemay L., Cadenhead R., Java - Naučite za 21 dan, Kompjuter biblioteka, 1999. - prvih 7 poglavlja (kao i novija izdanja ove knjige) Eckel B., Misliti na Javi, Mikro knjiga Free alati i dokumentacija sa službenog sajta https://www.oracle.com/ https://netbeans.org/downloads/8.0.2/ 4 1

Tehnologije Programski jezik Java Razvojno okruženje JDK (Java Development Kit) NetBeans IDE Sistem za upravljanje bazama podataka MySql Metode programiranja (projektovanja programa) Klasično programiranje (sa upotrebom goto instrukcije, tkz. špageti programi ) Cobol, Fortran Struktuirano programiranje Pascal, C,.. Objektno programiranje Java, C++, C# 5 6 Klasifikacija tipova podataka Prosti tipovi podataka ugrađeni u programski jezik (celobrojni, realni, logički, karakter tip, ) Složeni (struktuirani) tipovi podataka neka struktura nad prostim tipom podatka (niz, skup, lista, stek, ) definiše ih programer 7 Logičke kontrolne strukture (LKS) LKS su sredstvo kontrole programskog toka Važi sledeće tvrđenje: Svaki algoritam može se predstaviti kombinacijom tri osnovne logičke kontrolne strukture: Sekvencija (niz naredbi koje se izvršavaju tačno jednom, redoledom kojim su napisane) Selekcija (grananje) Iteracija (petlja) Na ovom tvrđenju počiva metoda struktuiranog programiranja programiranja `bez goto instrukcije` 8 2

Algoritam, program Programski jezik Algoritam je konačan, uređen skup, nedvosmislenih izvršnih koraka za rešavanje određenog problema: u konačnom vremenskom periodu, sa konačnom količinom podataka. Program predstavlja: sekvencu instrukcija napisanih u nekom programskom jeziku koje se mogu prevesti u instrukcije koje računar može direktno izvršiti (mašinske Programskim jezikom definiše se: skup znakova, skup službenih reči, skup instrukcija, sintaksa skup pravila za građenje složenih konstrukcija jezika (reči, iskaza, instrukcija) i njihovo kombinovanje u programu, semantika (značenje instrukcija u programu) instrukcije) 9 10 Generacije programskih jezika Mašinski jezik (u binarnom obliku) Asemblerski i makroasemblerski jezici (simbolički jezici) Proceduralni programski jezici (jezici treće generacije jezici visokog nivoa): Basic, Fortran, Pascal, Cobol, C, C++, Java, C# Neproceduralni programski jezici (jezici 4. generacije, deklarativni programski jezici - jezici vrlo visokog nivoa): Prolog, SQL, generatori programa... Jezici veštačke inteligencije i prirodni programski jezici Podela programskih jezika Proceduralni programski jezici FORTRAN, COBOL, Basic, Pascal, Ada Objektno-orijentisani programski jezici SIMULA, Smaltalk, C++, Java, C# Deklarativni (logički) programski jezici Prolog, SQL,... Funkcionalni programski jezici LISP, Scheme,... 11 12 3

Programski jezik Java Programski jezik Java 1995. godine Sun Microsystems lansira programski jezik Java (James Gosling) Java nastaje kao jezik Internet programiranja Java je u potpunosti objektno-orijentisan jezik Osobine: objektno-orijentisani jezik, nezavistan od računarske platforme, prenosiv, bezbedan Objektno-orijentisano programiranje (OOP) je metodologija razvoja softvera u kojoj se program: realizuje pomoću objekata koji međusobno komuniciraju objekti se kreiraju korišćenjem šablona koji se nazivaju klase 13 Platformska nezavisnost je osobina programa da se izvršava bez modifikacija u različitim radnim okruženjima. Kako Java realizuje ovo svojstvo? Java programi se prevode u format koji se naziva bajtkod (još uvek nije mašinski kod) bajtkod se izvršava u okviru bilo kog operativnog sistema koji sadrži interpreter programskog jezika Java Java Development Kit (JDK) besplatno dostupan na https://www.oracle.com Java integrisana razvojna okruženja: NetBeans IDE, Eclipse, JBuilder,... 14 Programski jezik Java Programski jezik Java Objektno-orijentisano programiranje je pristup razvoju programa pomoću modelovanja objekata iz realnog sveta. Java implementira principe objektno-orijentisanog programiranja na sledeći način: Svaki program se sastoji od elemenata koji se nazivaju klase i postupaka za kreiranje i manipulisanje objektima ovih klasa - metoda Definisanje klase podrazumeva: definisanje atributa klase i definisanje metoda (ponašanja klase) Međusobno povezivanje klasa vrši se: nasleđivanjem i Izvorni Java kod piše se u tekstualnim fajlovima sa ekstenizijom.java Izvorni fajlovi se kompajliranjem pretvaraju u fajlove sa extenzijom.class.class fajl sadrži bajtkod koji još uvek nije razumljiv procesoru (nije izvršni kod) Bajtkod se izvršava pokretanjem Java virtuelne mašine (Java Virtual Machine - JVM) Java programi se pokreću uz pomoć JVM korišćenjem paketa i interfejsa. 15 16 4

Opšta sintaksa Java aplikacije Primer Java programa Svaka Java aplikacija je klasa Main metod je polazna tačka - početak izvršnog dela svakog Java programa Svaka oznaka početka bloka ( { ) mora se zatvoriti ( } ) class <ime_klase> { Program koji ispisuje Zdravo! class ZdravoApp { public static void main(string[] args) { // deklaracije atributa // definicije metoda System.out.println( Zdravo!");... // ispis stringa komentar // zaglavlje main metoda } public static void main(string args[]){ ; } ;... Tekst programa se zapisuje u fajl sa imenom } ZdravoApp.java } 17 18 Pravila sintakse Java programa i konvencije za imenovanja Java pokretanje programa Primer programa za ispis zbira dva cela broja: public class Zbir { public static void main(string[] args) { int zbir = 35 + 257; System.out.println( 35 + 257 = " + zbir); } } // ime fajla u kome je ovaj program - Zbir.java naziv fajla = nazivu klase.java programski kod se smešta unutar klase izvršavanje počinje od metoda main sve naredbe se završavaju tačka-zarezom ; 1. Editovanje ----> ZdravoApp.java 2. Kompajliranje: javac ZdravoApp.java Kompajler generiše fajl: ----> ZdravoApp.class 3. Pokretanje programa: java ZdravoApp blokovi koda su ograničeni sa { } 19 20 5

Osnovni elementi Java jezika Osnovni skup znakova Osnovni elementi Java jezika pomoću kojih se grade složenije konstrukcije jezika su: Osnovni skup znakova Identifikatori (imena) Literali (konstante) Specijalni simboli Rezervisane reči 21 Slova A-Z, a-z Cifre 0,1,2,...,9 Specijalni simboli,, $, _, simboli operatora (sledeći slajd) Sintaksa Java jezika pravi razliku između malih i velikih slova (case sensitive)! Primer: Ime i ime su dva različita identifikatora 22 Spisak Java operatora Grupe operatora aritmetički (+, -, *, /, %, ++, --) poređenja (==,!=, <, >, <=, >=) logički (&&,, ^,!) uslovni operator (? :) nad bitovima (&,, ^, <<, >>) dodele (=, +=, -=, *=, /=, %=) nad objektima (instanceof ) > veće disjunkcija i disjunkcija nad bitovima < manje ^ eksluzivna disjunkcija! negacija % ostatak pri deljenju ( mod ) ~ negacija nad bitovima << pomeranje bitova u levo? uslovni operator >> pomeranje bitova u desno == jednako kao relacioni operator >>> pomeranje bitova u desno <= manje ili jednako = jednako kao operator dodele >= veće ili jednako += dodela sa prethodnim sabiranjem!= nejednako -= dodela sa prethodnim oduzimanjem && uslovna konjukcija *= dodela sa prethodnim množenjem uslovna disjunkcija /= dodela sa prethodnim deljenjem ++ povećanje vrednosti za jedan &= dodela sa prethodnom primenom & -- smanjenje vrednosti za jedan = dodela sa prethodnom primenom + sabiranje ili predznak ^= dodela sa prethodnom primenom ^ - oduzimanje ili predznak %= dodela sa prethodnom primenom % * množenje <<= dodela sa prethodnom primenom << / deljenje >>= dodela sa prethodnom primenom >> & konjunkcija i konjunkcija nad >>> dodela sa prethodnom primenom 23 24 bitovima = >>> 6

Identifikatori (imena) Literali (konstante) Koriste se za imenovanje različitih elemenata programa: promenjivih, metoda, klasa, objekata, interfejsa,... Pravilo za građenje identifikatora: niz satavljen od: slova, cifara, znaka _ počinje slovom razlikuje se od svake rezervisane reči Primer: Ispravni identifikatori ime_i_prezime, temp, var2, upisibroj, Max Neispravni identifikatori Ime-i-prezime, licni dohodak, real, 11max 25 Literali u Javi mogu biti: numerički literali (brojevi) 234 (celobrojni) 3.14 (zapis u pokretnom zarezu) 4.0E-74 (eksponencijalni zapis) znakovne konstante između apostrofa - npr. h stringovne konstante između navodnika - npr. Novi Sad logičke konstante - true i false konstanta null 26 Rezervisane reči Pravila imenovanja - konvencije Koriste se za kreiranje naredbi Java programa i imaju tačno određeno značenje Ne mogu se koristiti kao identifikatori abstract default if package this boolean do implements private throw break double import protected throws byte else instanceof public transient case extends int return null try const for new switch strictfp continue while goto synchronized super catch final interface short void char finally long static volatile class float native assert 27 Nazivi promenjivih: počinju malim slovom, kod složenica - svaka naredna reč počinje velikim slovom ili se odvaja donjom crtom Nazivi metoda: obično su glagoli, počinju malim slovom, dok svaka naredna reč počinje velikim slovom primer: promenibojuokvira() Nazivi klasa i interfejsa: počinju velikim slovom primer: Student, Faktura Nazivi konstanti: počinju velikim slovom primer: Font.BOLD, Font.ITALIC 28 7

Komentari Delovi programa koji ne utiču na suštinu programa i zanemaruju se prilikom prevođenja (kompajler ih ignoriše, važni su za programera i za dokumentovanje programa) Simboli Upotreba // Komentar od simbola // do kraja reda /*... */ Komentar na proizvoljnom mestu u kodu /**... */ Komentar za automatsko generisanje dokumentacije programa 29 Prosti tipovi podataka Celobrojni int short long byte Realni brojevi float double Znakovni char Logički boolean 30 Prosti tipovi podataka Prosti tip Veličina Minimum Maximum boolean char 16-bit Unicode 0 Unicode 2 16-1 byte 8-bit -128 +127 short 16-bit -2 15 +2 15 1 int 32-bit - 2 31 +2 31 1 long 64-bit -2 63 +2 63 1 float 32-bit IEEE754 IEEE754 double 64-bit IEEE754 IEEE754 31 8