Skip to content
Snippets Groups Projects
lab6.md 5.77 KiB

Laboratorium 6

Sprawozdaniem z tego laboratorium będą kody źródłowe programów, które na nich opracujesz. Po zakończeniu laboratorium wysyłasz na adres podany na końcu tej instrukcji. Instrukcja dla wszystkich jest taka sama.

Zadania wykonujesz w pojedynkę. Staraj się nie korzystać z pomocy kolegów.

Rzeczy oznaczone tak, jak poniżej, dotyczą tego, co masz zawrzeć w sprawozdaniu. Na przykład:

Zapisz swoje imię, nazwisko, adres e-mail, kierunek i rok studiów
oraz grupę laboratoryjną i numer albumu.

Podaj również numer zajęć laboratoryjnych (nr 6).

Ogłoszenia parafialne

  • Zaliczenie planowo 22 czerwca 2017 o 16:15 (tak, mamy wtedy tydzień A).
  • Na zaliczeniu nie będzie dopuszczalne korzystanie z żadnych materiałów pomocnicznych.
  • Zaliczenie będzie teoretyczno-praktyczne. Wynikiem pracy będzie kod komputerowy (należy pozostawić włączony komputer po zakończeniu pracy), oraz pisemna praca zaliczeniowa - odpowiedź na zadane pytania i rozwiązania zadań.
  • Za ściąganie od kolegów na zaliczeniu naprawdę się wkurzę.
  • 24 czerwca 2017 do 2 lipca 2017 nie ma mnie w kraju. Wręcz błagam o wysłanie sprawozdań dużo wcześniej - nie będę mógł Państwu dać inaczej zaliczenia, co może skutkować przegapieniem zerówki/pierwszego terminu, a jest to naprawdę zły pomysł.
  • Jeśli coś umknęło mi na rozpisce z ocenami, obecnościami, sprawozdaniami - proszę sprawdzić i pilnować mnie. Musicie Państwo sami sobie przypilnować porządku w papierach, a samodzielność i samosterowność to ważne cechy każdego inżyniera. Można to zrobić poprzez umieszczenie komentarza w arkuszu Google Sheets. Jeśli Państwo nie macie linka - proszę o kontakt mailowy na piotr.maslanka@henrietta.com.pl
  • W razie potrzeby można przyjść na konsultacje. Terminy są podane na stronie katedry. Pomagam nie tylko z Informatyką II. Jeśli to możliwe, proszę uprzednio uprzedzić mnie mailem o zamiarze skorzystania z konsultacji. Jeśli Państwo chcieliby skorzystać z konsultacji, ale nie pasowały terminy, proszę również o kontakt.

Szybka powtórka


Jeśli C daje ci dość liny, by się powiesić, to C++ daje ci dość liny by związać i zakneblować swojego sąsiada, postawić żagle na małym statku i mieć jeszcze dość liny by powiesić się na rei - anonimowe, The UNIX-HATERS Handbook


Na tych zajęciach utrwalisz swoje wiadomości z zakresu programowania w języku C++, pisząc kilka prostych programów. Pamiętaj, aby każdy program umieścić w osobnym pliku. Unikniesz w ten sposób zamętu.

Program 1: sortowanie bąbelkowe

Sortowanie bąbelkowe to najprostszy algorytm sortowania. Oczywiście, nie jest on stosowany w praktyce - posortowanie nim X elementów wymaga X-kwadrat operacji.

Polega ona na porównaniu ze sobą każdego elementu (każdy z każdym - stąd kwadratowa złożoność algorytmu). Jeśli algorytm ustali, że elementy nie są po kolei, po prostu zamieni je ze sobą.

Ponieważ będziesz musiał porównać każdy element z każdym, potrzebne będą ci dwie pętle for - każda z osobną zmienną iteracyjną. Wystartuj od takiego kodu:

#include <iostream>

using namespace std;

int main() {

    int items[] = {3,7,5,4,8,2,1};
    
    for (int i=0; i<7; i++) {
        for (int j=0; j<7; j++) {
        
            ...
        
        }
    }
    
    cout << "Posortowane elementy to" << endl;
    
    for (int i=0; i<7; i++) {
        cout << " " << items[i];
    }
    cout << endl;
 }

Postaraj się go uzupełnić tak, aby program wypisał liczby w odpowiedniej kolejności. Musisz posortować tablicę items. Uważaj na porównywanie elementu z samym sobą - sprawdź odpowiednio i oraz j - w razie czego użyj continue.

Program 2: równanie kwadratowe

Napisz program, wczytujący z cin klawiatury współczynniki A, B, C równania kwadratowego Ax*x + Bx + C = 0 a następnie wypisujące na cout rozwiązania w dziedzinie liczb rzeczywistych.

Program 3: statystyka

Napisz program, który najpierw wczyta liczbę całkowitą N z cin.

Następnie, program wczyta N liczb. Program musi wyświetlić ich sumę, średnią arytmetyczną, wariancję i odchylenie standardowe.

Najpewniej wymagane będzie użycie operatorów new oraz delete. Sprawdź w sieci Web, w jaki sposób one działają. Innymi słowy, musisz utworzyć dynamiczną tablicę (ang. dynamic array).

Dodatkowe operacje matematyczne sprawdź tu.

Wyślij sprawozdanie

Ze względu na ćwiczeniowy charakter tego sprawozdania,
wysłać proszę jedynie kompletny kod opracowanych programów.

Po godzinach - ewolucja programisty

Świeżak

#include <stdio.h>
int main (int argc, char **argv) {
    printf ("Hello World!\n");
}