egazmin grupa a

background image

Egzamin z Inżynierii Oprogramowania, rok II

grupa A

EGZAMIN Z INŻYNIERII OPROGRAMOWANIA, GRUPA A

Rok II, kierunek Informatyka, studia dzienne inżynierskie

CZĘŚĆ PIERWSZA – ZADANIA

Imię i nazwisko …..............................................................................

Nr albumu …..................

Zadanie 1. (3 punkty)

Poniżej podano graf PERT dla pewnego projektu. Wylicz czas oczekiwany realizacji całości.
Pod rysunkiem, w tabeli, podano czasy realizacji poszczególnych etapów.

Etap A

Etap B

Etap C

O

M

P

O

M

P

O

M

P

3

4

5

3

5

8

1

2

3

Zadanie 2. (1 punkt)

Znajdź błąd w poniższym programie i napisz, na czym on polega.

/*

------------------------plik ListaSortuj ca.cs

----------------*/

using

System;

namespace

zadanie_2

{

public

class

ListaSortująca

{

public

double

Wartość;

public

ListaSortująca Następny;

public

ListaSortująca (

double

Liczba, ListaSortująca Następnik)

{

Wartość = Liczba;

Następny = Następnik;

}

//

Koniec konstruktora

public

void

DopiszDoListy(

double

Liczba)

//

Dopisywanie do listy

{

ListaSortująca Pomocniczy;

Pomocniczy =

null

;

if

(Liczba >= Wartość)

//

Wtedy dopisujemy do końca listy

{

if

(Następny ==

null

)

{

-1/5-

A

B

C

background image

Egzamin z Inżynierii Oprogramowania, rok II

grupa A

Następny =

new

ListaSortująca(Liczba,

null

);

}

else

{

Następny.DopiszDoListy(Liczba);

}

}

else

//

W innym przypadku na początku listy.

{

Pomocniczy =

new

ListaSortująca(Wartość,Następny);

Wartość = Liczba;

Następny =

new

ListaSortująca(Pomocniczy.Wartość,Pomocniczy.Następny);

Pomocniczy =

null

;

}

//

Na początek listy

}

//

Koniec dopisywania

public

void

PrzepiszDoTablicy(

double

[] Tablica,

int

Indeks)

//

Przepisywanie do

tablicy

{

if

(Indeks < Tablica.Length)

{

Tablica[Indeks] = Wartość;

}
Indeks++;

if

(Następny !=

null

) Następny.PrzepiszDoTablicy(Tablica,Indeks);

}

//

Koniec przepisywania

}

//

Koniec klasy

}

/*

------------------------plik Main.cs

--------------------------*/

using

System;

namespace

zadanie_2

{

class

MainClass

{

public

static

void

Main (

string

[] args)

{

Random Generator;

ListaSortująca Lista;

double

[] Tablica;

double

[] TablicaS;

int

i;

int

N;

i =

0

;

N =

20

;

Generator =

new

Random();

Tablica =

new

double

[N];

TablicaS =

new

double

[N];

Lista =

null

;

for

(i=

0

;i<N;i++)

{

Tablica[i] =

100

* Generator.NextDouble();

Console.WriteLine(

"Tablica["

+ i.ToString() +

"] = "

+

Tablica[i].ToString());

}

Lista =

new

ListaSortująca(Tablica[

0

],

null

);

for

(i=

1

;i<N;i++) Lista.DopiszDoListy(Tablica[i]);

Lista.PrzepiszDoTablicy(TablicaS,

0

);

Console.WriteLine(

"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

);

for

(i=

0

;i<N;i++)

{

Console.WriteLine(

"TablicaS["

+ i.ToString() +

"] = "

+

TablicaS[i].ToString());

}

-2/5-

background image

Egzamin z Inżynierii Oprogramowania, rok II

grupa A

Lista =

null

;

//

Usunięcie listy po użyciu!

}

//

Koniec Main

}

//

Koniec klasy

}

Zadanie 3. (1 punkt)

Na podstawie podanego diagramu UML napisz kod szkieletowy w języku C#.

Zadanie 4. (3 punkty)

Dana jest metoda obliczająca powierzchnię prostokąta metodą Monte Carlo. Napisz test
jednostkowy dla tego fragmentu kodu.

using

System;

namespace

zadanie_4

{

public

class

prostokątMC

{

public

double

ObliczPowierzchnię(

double

a,

double

b)

{

double

PomocniczeA;

double

PomocniczeB;

Random Generator;

double

x;

double

y;

int

LiczbaRzutów;

int

LiczbaTrafień;

int

i;

double

wynik;

-3/5-

background image

Egzamin z Inżynierii Oprogramowania, rok II

grupa A

PomocniczeA =

2

* a;

PomocniczeB =

2

* b;

Generator =

new

Random();

x =

0

;

y =

0

;

wynik =

0

;

LiczbaRzutów =

100000

;

LiczbaTrafień =

0

;

i =

0

;

for

(i=

0

;i<LiczbaRzutów;i++)

{

x = PomocniczeA * Generator.NextDouble();
y = PomocniczeB * Generator.NextDouble();

if

((x < a) && (y < b)) LiczbaTrafień++;

}

//

Koniec rzucania

wynik = ((

double

)LiczbaTrafień/(

double

)LiczbaRzutów) * PomocniczeA *

PomocniczeB;

return

wynik;

}

//

Koniec obliczania powierzchni

}

}

Zadanie 5. (1 punkt)

Na podstawie kodu zamieszczonego poniżej, narysuj diagram klas UML.

using

System;

namespace

zadanie_5

{

public

class

Noga{

public

float

Długość;

public

string

Styl;

private

string

Materiał;

}

}

using

System;

namespace

zadanie_5

{

public

class

siedzisko{

public

float

szerokość;

public

float

długość;

}

}

using

System;

namespace

zadanie_5

{

public

class

Oparcie{

public

float

Wysokość;

public

float

szerokość;

public

string

Styl;

}

}

using

System;

namespace

zadanie_5

{

public

class

Krzesło{

public

Oparcie OparcieKrzesła;

public

siedzisko SiedziskoKrzesła;

public

Noga[] NogiKrzesła;

}

}

-4/5-

background image

Egzamin z Inżynierii Oprogramowania, rok II

grupa A

Zadanie 6. (1 punkt)

Oszacuj czas pisania kodu złożonego z 5000 linii, gdy programista pisze ze średnią
szybkością 8 linii na minutę z prawdopodobieństwem popełnienia błędu wynoszącym 0,1.
Czas podaj w dniach roboczych.

CZĘŚĆ DRUGA – TEORIA

Zadanie 1. (2 punkty)

Jakie jest przeznaczenie grafów PERT? Podaj krótki opis wierzchołka grafu i jego parametrów.

Zadanie 2. (2 punkty)

Co to jest diagram przypadków użycia? Podaj dwa główne symbole związane z tym diagramem
i krótko je opisz.

Zadanie 3. (2 punkty)

Na czym polega test akceptacyjny? Krótko opisz dwa z najczęściej stosowanych typów testu
akceptacyjnego, stosowanych dla dużych aplikacji.

Zadanie 4. (2 punkty)

Na czym polega metryka pokrycia bloków instrukcji? Napisz krótko, jakie wady i zalety posiada ta
metryka.

Zadanie 5. (2 punkty)

Co oznacza pojęcie niejednoznacznej specyfikacji? Podaj conajmniej jeden przykład.

Punktacja i ocena (część zadaniowa i teoretyczna jest oceniana oddzielnie). Ocena końcowa jest
średnią arytmetyczną z obydwu części, przy czym konieczne jest uzyskanie pozytywnej oceny
z części zadaniowej do zaliczenia egzaminu.

Punkty

Ocena

0 – 4,9

2.0

5 – 5,9

3,0

6 – 6,9

3,5

7 – 7,9

4,0

8 – 8,9

4,5

9 – 10

5,0

-5/5-


Wyszukiwarka

Podobne podstrony:
egazmin poprawkowy grupa b
egazmin poprawkowy grupa a
egazmin poprawkowy grupa b
egazmin poprawkowy grupa b
test poprawkowy grupa 1
19 183 Samobójstwo Grupa EE1 Pedagogikaid 18250 ppt
Grupa 171, Podstawy zarządzania
Grupa XVI
hatala,januszyk grupa 2a prez 1
pilot a grupa
Wykład 6 Rodzina jako grupa społeczna
Projekt grupa 3 2
Grupa rówieśnicza jako środowisko wychowawcze ptt(1)
Grupa przestrzenna id 196528 Nieznany
GRUPA 01 ZADANIA

więcej podobnych podstron