Tu będą pojawiać sie zadania do rozwiązania na zajęciach lub w domu. Za kazde rozwiązanie zaprezentowane na zajęciach można otrzymać 5 pkt. Nie można otrzymac więcej niż 10 pkt za jedne ćwiczenia.
Omawianie regulaminu ćwiczeń, wstęp do Schema
Zadania: zadanie T1 i T2 z testerki, za dwa poprawne 5 pkt, za jedno 3 pkt.
Scheme, wbudowane funkcje, definiowanie własnych funkcji, funkcja if, funkcje rekurencyjne, operacje na listach.
Zadania:
Przy pisaniu powyższych funkcji można (a nawet czasem trzeba) definiować funkcje pomocnicze!
Scheme, przekazywanie funkcji jako argumentów do funkcji, przydatna konstrukcja: map, zwracanie funkcji przez funkcję, funktory.
Zadania:
C++: typy danych, zmienne, stałe, operatory, tablice, tablice a wskaźniki, preprocesor
Zadania:
int i, n = 20; for (i = 0; i < n; i--) { printf("X"); }
void foo(short* a, short* b, int c){ register short *d = a, *e = b; register int f = c; { register int n=(f+7)/8; switch(f%8){ case 0: do{ *a++ = *b++; case 7: *a++ = *b++; case 6: *a++ = *b++; case 5: *a++ = *b++; case 4: *a++ = *b++; case 3: *a++ = *b++; case 2: *a++ = *b++; case 1: *a++ = *b++; }while(--n>0); } } }
Jedna osoba możne otrzymać tylko dwa z powyższych bonusów (w sumie 10 punktów).
C++: wskaźniki, referancje, dynamiczny przydział pamięci.
Zadania:
struct wektor{ int* elementy; //tutaj trzymamy dane int pojemnosc; //ile miejsca mamy zarezerwowane int zajete; //ile elementów jest wstawionych };
void dodaj_na_koniec(wektor &docelowy, int element){ ... } void usun_z_konca(wektor &docelowy){ ... } void wypisz(wektor &do_wypisania){ ... }
A a; a.b = new B(); a.b->c = new C(); a.b->c->a = a;
//1. int& foo(){ int a = 200; return a; }
//2. int& foo(int a){ return &a; }
//3. int& foo(int &a){ return a; } int a = 200; foo(++a)++;
//4. int foo(int &a){ return a; } int a = 200; foo(++a)++;
//5. int* foo(){ int a = 200; return &a; }
//6. int* foo(){ int a = 200; return (int*)a; }
C++: wiązane struktury danych, operacje na plikach stylu C
Zadania:
C++: Klasy i obiekty: enkapsulacja, konstruktory, destruktory, metody.
Zadania:
C++: Klasy i obiekty: enkapsulacja, konstruktory, destruktory, metody cd.
Zadania:
C++: przeładowanie operatorów i operatory konwersji.
Zadania: