18
Programowanie w C++ II rok informatyka studia zaoczne lab2

Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

Programowanie w C++

II rok informatyka – studia zaoczne

lab2

Page 2: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

4. Równanie kwadratowe

Page 3: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

efekt

Page 4: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

Printf – formatowanie zapisów

http://www.cplusplus.com/reference/clibrary/cstdio/printf/

Page 5: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

5. Gra „za dużo za mało”

• Inicjalizacja generatora liczb pseudolosowych (stały zalążek o wartości 1000):

• Tak zainicjowany generator będzie działał powtarzalnie. Należy uzmiennić zalążek, przykładowo uzależniając go od bieżącego czasu:

• srand( ( unsigned )time( NULL ) );

• Funkcja rand() generuje liczby pseudolosowe z przedziału 0..RAND_MAX. My potrzebujemy liczby od 1..100.

• Ograniczamy zakres używając operatora modulo (reszta z dzielenia) oznaczonego w C/C++ symbolem % oraz przesuwamy przedział o jeden w lewo dodając +1.

Page 6: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

1 wersja, bez podpowiedzi…

Page 7: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

2 wersja, z podpowiedziami…

Page 8: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

3 wersja, z licznikiem prób…

Page 9: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

4 wersja….

A może by tak pytać…czy gracz chce grać od nowa…?

Page 10: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

Kolejne zadanie (1)

• Program wyznaczający sumaryczny i średni przychód jest szczególnym przypadkiem programu typu:

• Napisz program wyznaczający sumę i wartość średnią ciągu N liczb, gdzie N jest pewną stałą o określonej wartości, np. 20.

Page 11: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM
Page 12: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

Kolejne zadanie (2)

• Rowerzysta notuje dystanse przejechane w ramach każdego wypadu rowerowego.

• Po zakończeniu sezonu chce obliczyć, ile w sumie przejechał kilometrów oraz jaki

• był średni dystans wycieczki. Liczba dystansów nie jest z góry ustalona, wprowadzenie zerowej wartości dystansu kończy wczytywanie danych.

Page 13: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

Analiza

• Program powinien wczytać kolejno przejechane dystanse, na bieżąco dodawać je do dystansu sumarycznego.

• Ponieważ nie wiadomo ile będzie dystansów, zakładamy, że wprowadzenie dystansu zerowego jest sygnałem końca wprowadzania danych.

• Po tym następuje wyświetlenie dystansu sumarycznego i średniego.

• Wprowadzenie wartości ujemnej zostanie potraktowane jako mimowolny błąd, znak zostanie zignorowany.

Page 14: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM
Page 15: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM
Page 16: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

Zadania dla „for”

• Napisać program wyznaczający średni, dobowy kurs waluty EURO na podstawie kursów notowanych na początku każdej godziny.

• Pod koniec doby analityk wprowadza zanotowane liczby — program ma wyznaczyć na tej podstawie średnie kurs dobowy.

• Liczba wprowadzanych kursów jest znana, jest to zawsze 24.

Page 17: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM
Page 18: Programowanie w C++zsi.ii.us.edu.pl/~nowak/C_II_lab2a.pdf · Programowanie w C++ Author: ANB Created Date: 3/3/2012 7:46:26 AM

• Uzupełnić poprzedni program o wyznaczanie kursu minimalnego i maksymalnego.

• Wyznaczanie minimum i maksimum

• Jeżeli wczytany kurs jest mniejszy od minimalnego, to niech on się stanie minimalnym. Jeżeli wczytany kurs jest większy od maksymalnego, to niech on się stanie maksymalnym. Jak ustawić wartość startową minimum i maksimum?