upr w zadaci01

12
Uvod u programiranje :: Workshop http://dl.fit.ba/ 1 Fakultet informacijskih tehnologija [email protected] Datum:15.10.2009. Zadaci 1. dio Kratke napomene za Visual STUDIO .NET (2003 / 2005 / 2008) - u Visual Studio-u jedan program predstavlja jedan projekat - prije otvaranja novih ili postojećih projekata morate prvo zatvoriti trenutni projekat (ako je otvoren): File Close Solution (ili File Close Project) - novi projekat kreiramo sa opcijama File New Project - u okviru ovog predmeta kreirat ćemo samo projekte tipa Win32 Console Application da bi detaljno izučili sintaksu C++ jezika - prilikom kreiranja projekta tipa Win32 Console Application odaberite opciju Emty Project: - mi ćemo trenutno koristiti samo jedan .cpp fajl po projektu (programu), ako ipak pokušate kompajlirati jedan projekat u koji ste dodali više cpp-fajlova najvjerovatnije će se pojaviti greška jer niste povezali fajlove ili ste koristili više main funkcija - novi prazni cpp-fajl dodajte u vaš projekat naredbom Add Add New Item cpp Tek sada možete pisati vaš C++ program. Nakon što izvršite build vašeg programa, pokrenite ga na jedan dva moguća načina: 1. Debug Start Without Debugging ili Ctrl+F5. U tom slučaju ne morate dodavati naredbu system("PAUSE") na kraju programa. 2. Debug Start Debugging ili F5. U tom slučaju morate dodavati naredbu system("PAUSE") na kraju programa.

Upload: kristijan-ak

Post on 08-Sep-2015

236 views

Category:

Documents


2 download

DESCRIPTION

progr zadaci uvod

TRANSCRIPT

  • ProgramiranjeI_sylabus.doc

    Uvod u programiranje :: Workshop

    http://dl.fit.ba/

    1

    Fakultet informacijskih tehnologija

    [email protected]

    Datum:15.10.2009.

    Zadaci 1. dio

    Kratke napomene za Visual STUDIO .NET (2003 / 2005 / 2008)

    - u Visual Studio-u jedan program predstavlja jedan projekat

    - prije otvaranja novih ili postojeih projekata morate prvo zatvoriti trenutni projekat (ako je otvoren): File Close Solution (ili File Close Project)

    - novi projekat kreiramo sa opcijama File New Project

    - u okviru ovog predmeta kreirat

    emo samo projekte tipa Win32 Console Application da bi

    detaljno izuili sintaksu C++ jezika

    - prilikom kreiranja projekta tipa

    Win32 Console Application

    odaberite opciju Emty Project:

    - mi emo trenutno koristiti samo jedan .cpp fajl po projektu (programu), ako ipak pokuate kompajlirati jedan projekat u koji ste dodali vie cpp-fajlova najvjerovatnije e se pojaviti greka jer niste povezali fajlove ili ste koristili vie main funkcija

    - novi prazni cpp-fajl dodajte u va projekat naredbom Add Add New Item cpp

    Tek sada moete pisati va C++ program.

    Nakon to izvrite build vaeg programa, pokrenite ga na jedan dva mogua naina:

    1. Debug Start Without Debugging ili Ctrl+F5. U tom sluaju ne morate dodavati naredbu system("PAUSE") na kraju programa.

    2. Debug Start Debugging ili F5. U tom sluaju morate dodavati naredbu system("PAUSE") na kraju programa.

  • ProgramiranjeI_sylabus.doc

    Uvod u programiranje :: Workshop

    http://dl.fit.ba/

    2

    Fakultet informacijskih tehnologija

    [email protected]

    Ako vam se prilikom pokuaja kompajliranja javi sljedea

    poruka oznaite checkbox Do not show this dialog

    again i kliknite YES.

    Ako vam se prilikom kompajliranja javi poruka

    da imate greaka oznaite checkbox Do not

    show this dialog again i kliknite NO.

    Lista sintaksnih greaka koje ste napravili e vam biti prikazane u prozoru Error List:

    Ovaj prozor moete aktivirati sa opcijom View Error

    List.

    Duplim klikom na neku od greaka iz liste bit e vam oznaen red source kda u kojem

    se nalazi greka.

    Zapamtite: Jedan program predstavlja jedan projekat. To znai da ete morati praviti

    novi projekat za svaki novi zadatak ako elite da imate prethodne zadatke sauvane. Ako

    elite da imate prethodne zadatke sauvane, moete kd starog programa kopirati u

    Notepad i snimiti u svoju arhivu (Select All Copy Paste Save As). U ovom sluaju

    ete koristiti samo jedan projakat.

    Gdje nabaviti Visual Studio?

    Visual Studio 2008 Professional sa studentskom licencom moete dobiti na Fakultetu

    informacijskih tehnologija (ako ve niste dobili).

    Glavne komponente razvojnog okruenja Visual Studio Professional su:

    - Visual C++

    - Visual Basic.NET

    - Visual C#

    - Visual J# (samo za Visual Studio 2003 / 2005)

    - Visual Web Developer

    - MS SQL Server 2005 Express

    - MSDN Library za offline help

    - .NET Framework SDK - Microsoft Platform Software Development Kit (potrebno za

    izradu Windows aplikacija)

  • ProgramiranjeI_sylabus.doc

    Uvod u programiranje :: Workshop

    http://dl.fit.ba/

    3

    Fakultet informacijskih tehnologija

    [email protected]

    Za sve gore navedene komponente moete koristiti besplatne Express verzije sa skoro

    svim opcijama kao Professional verzija.

    Visual C++ Express i SDK moete preuzeti sa stranice:

    http://msdn.microsoft.com/vstudio/express/visualc/download (470MB + 420 MB)

    Uputstvo za runo konfigurisanje Visual C++ Express i SDK, koje je nuno vriti samo u

    Express verziji, moete takoe proitati na gore datoj web-stranici.

  • ProgramiranjeI_sylabus.doc

    Uvod u programiranje :: Workshop

    http://dl.fit.ba/

    4

    Fakultet informacijskih tehnologija

    [email protected]

    Zadatak 1:

    Napravite program 'Hello World' u Visual C++-u (2003/2005/2008):

    a) tako to ete koristiti void main()

    b) tako to ete koristiti int main()

    Rjeenje se nalazi na stranici br. 8.

    Pomo:

    - program 'Hello World' predstavlja kratki program koji samo ispisuje neku poruku

    - ako koristite void main() onda ne smijete na kraju programa dodati return 0

    - ako koristite int main() onda morate na kraju programa return 0

    - naredba return 0 se stavlja poslije naredbe system("PAUSE")

    - sa system("pause") pozivamo DOS-ovu naredbu "PAUSE" koja e konzolni (DOS-ov)

    prozor pauzirati dok ne pritisnemo neku tipku

    - ako ne elimo da nam se ispisuje poruka press any key to continue onda emo

    koristiti naredbu system("PAUSE > nul")

    Zadatak 2:

    Napravite program 'Hello World' bez koritenja system("PAUSE")

    a) tako to ete koristiti void main()

    b) tako to ete koristiti int main()

    Kako ete ovakav program pokrenuti u vaem kompajleru?

    Rjeenje se nalazi na stranici br. 8.

    Zadatak 3 (nije obavezan):

    ta morate izmijeniti da bi programi iz zadatka br. 2 radili i u starom kompajleru Borland C++? Prepravite kd!

    Rjeenje se nalazi na stranici br. 9.

    Zadatak 4:

    Napravite program, slijedei navedene zahtjeve:

    a) deklariite varijablu a tipa int i dodjelite joj vrijednost 10 (u jednoj liniji kda)

    b) deklariite varijablu b tipa int, tako da joj ne dodijelite nikakvu vrijednost

    c) uitajte neku vrijednost sa tastature u varijablu b

    (za unos vrijednosti sa tastature korisite naredbu cin;

    prije uitavanje vrijednost sa tasture sa naredbom cin potrebno je krajnijem korisniku

    ispisati neku uputnu poruku kao npr: Pozdrav, unesite neki broj!' , koristei naredbu cout )

    d) deklariite varijablu c tipa int i dodijelite joj vrijednost 15

    (u dvije odvojene linije kda)

    e) deklariite varijablu d tipa int i dodijelite joj vrijednost a+b+c

    f) ispiite (na ekran) vrijednost varijable d

    Rjeenje se nalazi na stranici br. 9.

  • ProgramiranjeI_sylabus.doc

    Uvod u programiranje :: Workshop

    http://dl.fit.ba/

    5

    Fakultet informacijskih tehnologija

    [email protected]

    Zadatak 5:

    Napravite program, slijedei navedene zahtjeve:

    a) deklariite varijablu a1 tipa int i dodjelite joj vrijednost 10 (u dvije odvojene linije

    kda)

    b) deklariite varijablu a2 tipa int i uitajte joj vrijednost sa tastature

    c) deklariite varijablu a3 tipa int i uitajte joj vrijednost sa tastature

    d) deklariite varijablu a4 tipa int i dodjelite joj vrijednost (a1 + a2 + a3) * 3 + 4

    e) deklariite varijablu b1 tipa int i dodjelite joj vrijednost 104 22

    1 aa

    f) ispiite vrijednost varijable a4 i varijable b

    Rjeenje se nalazi na stranici br. 10.

    Zadatak 6:

    Kratka napomena:

    - u C++-u moete vie uzastopnih linija cout-ispisa spojiti u jedan cout-ispis, i

    obrnuto, npr.:

    cout

  • ProgramiranjeI_sylabus.doc

    Uvod u programiranje :: Workshop

    http://dl.fit.ba/

    6

    Fakultet informacijskih tehnologija

    [email protected]

    Zadatak 7:

    Prepravite prethodni program, koristei dalje ve deklarisanu varijablu pi iz prethodnog

    zadataka:

    - tako da se krajnjem korisniku ispie poruka 'Vrijednost za pi je 3.14' sa ispisom u jedom redu konzolnog programa, a sa dvije cout-naredbe.

    - tako da se krajnjem korisniku ispie poruka 'Vrijednost kvadrata od pi je 9.85' sa ispisom u jedom redu konzolnog programa, a sa dvije cout-naredbe.

    Rjeenje se nalazi na stranici br. 10.

    Zadatak 8:

    Prepravite prethodni program iz zadatka 7:

    a) tako da za ispis poruke 'Vrijednost za pi je 3.14' u jedom redu koristite samo

    jednu cout-naredbu umjesto dvije

    b) tako da za ispis poruke 'Vrijednost kvadrata od pi je 9.85' u jedom redu koristite

    samo jednu cout-naredbu umjesto dvije

    Rjeenje se nalazi na stranici br. 10.

    Zadatak 9:

    Prepravite prethodni program iz zadatka 6:

    a) tako da za ispis prve poruke koja se nalazi u dva reda koristite samo jedan cout

    b) tako da za ispis druge poruke koja se nalazi u dva reda koristite samo jedan cout

    Rjeenje se nalazi na stranici br. 10.

    Zadatak 10:

    Napravite program, slijedei navedene zahtjeve:

    a) deklariite varijablu poetna tipa int i dodijelite joj vrijednost 15

    b) deklariite varijablu d i uitajte joj vrijednost sa tastature

    c) deklariite varijablu e i dodijelite joj vrijednost pocetna * d

    d) ispiite vrijednost varijabe e

    e) uveajte varijablu e za 1 (drugim rijeima: nova vrijednost e neka bude jednaka staroj vrijednosti e + 1)

    f) ispiite vrijednost varijable e

    g) kvadrirajte varijablu e

    (drugim rijeima: novo e neka bude jedno staro e * staro e)

    h) ispiite vrijednost varijable e

    Rjeenje se nalazi na stranici br. 10.

  • ProgramiranjeI_sylabus.doc

    Uvod u programiranje :: Workshop

    http://dl.fit.ba/

    7

    Fakultet informacijskih tehnologija

    [email protected]

    Zadatak 11:

    Kratka napomena:

    - umjesto endl moete koristiti i \n

    - \n mora biti pod navodnicima, dok endl mora biti izvan navodnika

    - slijedee dvije linije kda rade istu istvar cout

  • ProgramiranjeI_sylabus.doc

    Uvod u programiranje :: Workshop

    http://dl.fit.ba/

    8

    Fakultet informacijskih tehnologija

    [email protected]

    Rjeenja

    Rjeenje zadatka br. 1:

    a)

    1:

    2:

    3:

    4:

    5:

    6:

    7:

    8:

    9:

    #include

    using namespace std;

    void main()

    {

    cout

  • ProgramiranjeI_sylabus.doc

    Uvod u programiranje :: Workshop

    http://dl.fit.ba/

    9

    Fakultet informacijskih tehnologija

    [email protected]

    U nastavku su prikazana rjeenja sa funkcijom main ija je povratna vrijednost tipa void,

    jer ne moramo koristiti naredbe return 0.

    Rjeenje zadatka br. 3:

    Potrebno je samo umjesto linija br. 1 i br. 2 staviti liniju #include

    a)

    1:

    2:

    3:

    4:

    5:

    6:

    #include

    void main()

    {

    cout

  • ProgramiranjeI_sylabus.doc

    Uvod u programiranje :: Workshop

    http://dl.fit.ba/

    10

    Fakultet informacijskih tehnologija

    [email protected]

    Rjeenje zadatka br. 5:

    1:

    2:

    3:

    4:

    5:

    6:

    7:

    8:

    9:

    10:

    11:

    12:

    13:

    14:

    15:

    16:

    17:

    18:

    19:

    20:

    21:

    22:

    23:

    24:

    25:

    26:

    27:

    28:

    29:

    30:

    31:

    32:

    33:

    #include

    using namespace std;

    void main()

    {

    // a) deklariite varijablu a1 tipa int i dodjelite joj vrijednost 10 (u dvije odvojene linije kda) int a1;

    a1 = 10;

    // b) deklariite varijablu a2 tipa int i uitajte joj vrijednost sa tastature int a2;

    cout a2;

    // c) deklariite varijablu a3 tipa int i uitajte joj vrijednost sa tastature int a3;

    cout a3;

    // d) deklariite varijablu a4 tipa int i dodjelite joj vrijednost (a1 + a2 + a3) * 3 + 4 // nije bitno, da li emo u jednoj liniji kda ili dvije linije kda to uiniti, jer nije naglaeno int a4;

    a4 = (a1 + a2 + a3) * 3 + 4;

    // e) deklariite varijablu b1 tipa int i dodjelite joj vrijednost a12 + 4*a2 - 10; int b1;

    b1 = a1 * a1 + 4 * a2 - 10;

    // f) ispiite vrijednost varijable a4 i varijable b cout

  • ProgramiranjeI_sylabus.doc

    Uvod u programiranje :: Workshop

    http://dl.fit.ba/

    11

    Fakultet informacijskih tehnologija

    [email protected]

    Rjeenje zadatka br. 8:

    1:

    2:

    3:

    4:

    5:

    6:

    7:

    8:

    9:

    10:

    #include

    using namespace std;

    void main()

    {

    float pi = 3.14;

    cout

  • ProgramiranjeI_sylabus.doc

    Uvod u programiranje :: Workshop

    http://dl.fit.ba/

    12

    Fakultet informacijskih tehnologija

    [email protected]

    Rjeenje zadatka br. 11:

    Ispravljeni kd:

    1:

    2:

    3:

    4:

    5:

    6:

    7:

    8:

    9:

    10:

    11:

    12:

    #include

    using namespace std;

    void main() // ovjde treba void umjesto int ili treba dodati return 0

    {

    float pi = 3.14; // ovjde treba tacka umjesto zareza

    float r = 2;

    cout