INFORMATYKA I
Ćwiczenie 4
Program ma wyświetlać dowolny tekst na ekranie, jeśli zmienne a i b spełniają pewne warunki. Załóżmy, że
i
. Sprawdź czy poniższy kod zadziała poprawnie, ewentualnie dokonaj niezbędnych zmian:
int a = -1;
int b = -1;
if( a < 0 || a > 10 && b > 0 )
{
printf(“napisz cokolwiek\n”);
}
Napisz program, który losuje punkty na płaszczyźnie. Punkty powinny mieścić się wewnątrz prostokąta pokazanego na rysunku. Wyświetlaj punkty dopóty, dopóki wewnątrz okręgu umieszczonego wewnątrz tego prostokąta nie znajdzie się ich dokładnie n. Współrzędne prostokąta i kuli wprowadź bezpośrednio w kodzie programu (nie wczytuj ich z klawiatury!). Z klawiatury wczytaj jedynie liczbę n.
Do losowania liczb użyj funkcji rand. Funkcja ta zwraca pseudolosowe liczby w zakresie od 0 do MAX_RAND. Tak przeskaluj zakres zwracanych wartości, aby losowane punkty mieściły się wewnątrz prostokąta. (Pseudolosowość polega na tym, że przy każdym uruchomieniu programu kolejne wywołania funkcji rand dadzą ten sam ciąg liczb. Aby zainicjować pełną losowość należy użyć funkcji srand. Należy ją wywołać jeden raz na początku programu:
srand( (unsigned) time( NULL ) );
Wykonaj obliczenia dla n = 7.
Zmień powyższy program tak, aby współrzędne wylosowanych punktów były zapisywane do pliku. Zapisz je w czterech kolumnach - rozdziel współrzędne punktów leżących na zewnątrz okręgu o tych, które leżą w jego wnętrzu. Zapis do pliku wykonaj według poniższego schematu:
FILE* f; // deklaracja wskaźnika na plik
f = fopen( ”dane.dat”, ”wt” ); // otwarcie pliku o nazwie „dane.dat”
// w - zapis do pliku
// r - odczyt z pliku
// a - dopisywanie do pliku
// t - tryb tekstowy
// b - tryb binarny
if( f == NULL ) // lub krócej: if( !f )
{
printf( ”blad otwarcia pliku\n” );
exit(-1); // zakończenie programu
}
fprintf( f, ”zapis do pliku” ); // tu wprowadź własny zapis do pliku
fclose( f ); // zamknięcie pliku
Pokaż wyniki w Excelu w postaci wykresu punktowego.
Tak wprowadź serie wartości x-ów i y-ów, aby można buło zaznaczyć oddzielnym kolorem punkty leżące wewnątrz okręgu. Wykonaj obliczenia dla n =7, 50 i 500.