• Nie Znaleziono Wyników

Zadanie domowe piąte do wykonania dla grup ćwiczeniowych (wtorek 15.15-16.55)

N/A
N/A
Protected

Academic year: 2021

Share "Zadanie domowe piąte do wykonania dla grup ćwiczeniowych (wtorek 15.15-16.55)"

Copied!
1
0
0

Pełen tekst

(1)

Zadanie domowe piąte do wykonania dla grup ćwiczeniowych (wtorek 15.15-16.55)

Wykonaj zad.1 albo zad. 2.

Uwaga: podobny typ zadania będzie na sprawdzianie, który odbędzie się na szóstych zajęciach.

Zad.1.

Zaprojektuj funkcje Abstrakcyjne typu danych o nazwie Max, który:

 Zawsze wstawia liczbę przed równą liczbą, jeśli ta jest już w ciągu.

W przeciwnym wypadku wstawia ją na początku ciągu.

 Usuwa dany element- jeśli jest wiecej tych elementów, usuwa wszystkie równe zadanej wartości

 Wyszukuje zadany element.

Należy zdefiniować nagłówki funkcji oraz wyspecyfikować je wg zadanego wzoru:

void Nazwa funkcji(parametry funkcji);

{działanie:

warunki wstępne:

warunki końcowe: } np.

void Inicjalizacja(stos & Stos);

{działanie: inicjuje stos

warunki wstępne: Stos wskazuje na pierwszy element warunki końcowe: stos zostaje zainicjowany jako pusty}

Aby otrzymać oceną 5.0, należy wykonać implementację zaprojektowanego typu danych w postaci funkcji działających na tablicy. Podczas wstawiania należy rozsuwać elementy, natomiast podczas usuwania należy zsuwać elementy tablicy.

Zad.2.

Zaprojektuj funkcje Abstrakcyjne typu danych o nazwie Max, który:

 Zawsze wstawia liczbę za równą liczbą, jeśli ta jest już w ciągu. W przeciwnym wypadku wstawia ją na końcu ciągu.

 Usuwa dany element- jeśli jest wiecej tych elementów, usuwa wszystkie równe zadanej wartości

 Wyszukuje zadany element.

Należy zdefiniować nagłówki funkcji oraz wyspecyfikować je wg zadanego wzoru:

void Nazwa funkcji(parametry funkcji);

{działanie:

warunki wstępne:

warunki końcowe: } np.

void Inicjalizacja(stos & Stos);

{działanie: inicjuje stos

warunki wstępne: Stos wskazuje na pierwszy element warunki końcowe: stos zostaje zainicjowany jako pusty}

Aby otrzymać oceną 5.0, należy wykonać implementację zaprojektowanego typu danych w postaci funkcji działających na tablicy. Podczas wstawiania należy rozsuwać elementy, natomiast podczas usuwania należy zsuwać elementy tablicy.

(2)

Zad.2.

Zakładajac, że pliki f1 zawiera N1 elementów I plik f2 zawiera N2 elementów i kazda seria zawiera średnio M1 elementów oszacuj czasochłonność funkcji polacz_serie, uwzględniając funkje kopiuj i kopiuj_serie

inline void kopiuj(FILE* f0, FILE* f, int& koniec_serii, int& pisz, obiekt& buf2)

{ obiekt buf1; int _eof;

if(ftell(f0)==0) {

fread(&buf1, sizeof(buf1),1,f0);

fwrite(&buf1, sizeof(buf1),1,f);

} else

{fwrite(&buf2, sizeof(buf2),1,f);

buf1=buf2;}

if(fread(&buf2,sizeof(buf2),1,f0)==1) pisz=_true;

else pisz=_false;

if (!pisz)

koniec_serii=_true;

else

koniec_serii= buf1.klucz > buf2.klucz;

}

void kopiuj_serie(FILE* f0, FILE* f, obiekt& buf, int& pisz) {int koniec_serii;

do

{ kopiuj(f0,f,koniec_serii,pisz,buf);

}while(!koniec_serii);

}

void polacz_serie(FILE* f0, FILE* f1, FILE* f2, obiekt& buf1, obiekt& buf2, int& pisz1, int& pisz2)

{int koniec_serii;

do

{ if (buf1.klucz < buf2.klucz)

{ kopiuj(f1,f0,koniec_serii,pisz1,buf1);

if (koniec_serii) kopiuj_serie(f2,f0,buf2,pisz2);}

else

{ kopiuj(f2,f0,koniec_serii,pisz2,buf2);

if (koniec_serii) kopiuj_serie(f1,f0,buf1,pisz1);}

} while(!koniec_serii);

}

Cytaty

Powiązane dokumenty

W pierwszym wierszu scal dwie kolumny – zaznacz je i na wstążce „Układ” kliknij opcję „Scal komórki”.. Wprowadź do pierwszego wiersza napis: „Podział urządzeń

Przygotowanie do egzaminu zawodowego kwalifikacji EE.08 w formie ćwiczenia, w postaci części egzaminu praktycznego objętego zakresem materiału kwalifikacji E.12.. DATA LEKCJI 04

Uwzględnić też trzeba, że w przypadku obróbki termicznej mięsa zmrożonego przy zbyt małej mocy urządzenia będzie następować zjawisko „topnienia” a nie będzie się

koronawirusa, proszę prezentację dotyczącą apteczki pierwszej pomocy

[r]

W celu uporządkowania wiadomości przeanalizuj jeszcze raz wszystkie metody równań i nierówności zaprezentowane w materiale z wcześniejszych lekcji (np. W przypadku

Możliwość wyjaśnienia i informacja zwrotna na zajęciach online. Uczeń, który nie ma dostępu do internetu i nie może uczestniczyć w zajęciach jest on

Jeśli nie masz możliwości uczestniczenia na zajęciach online, należy to zgłosić wychowawcy, a także wysłać wiadomość na mail nauczyciela