-
Piotr Maślanka authored0b29a683
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");
}