X-Originating-IP: [212.160.52.92] From: "Ewa Sapiecha" To: alex@ibspan.waw.pl, uhrynows@ibspan.waw.pl, potrzeb@ibspan.waw.pl, kaluszko@ibspan.waw.pl, pnowak@ibspan.waw.pl, pcichosz@elka.pw.edu.pl, pstaniew@ibspan.waw.pl, bozena@ibspan.waw.pl, rawski@tele.pw.edu.pl Date: Wed, 22 Mar 2000 08:59:57 CET Szanowni Panstwo; Oto moje uwagi na temat metod oceny klasówki: Suma punktów z calego testu = 4 punktów, Zadanie 1 = 2 punkty, Zadania 2 = 2 punkty, Ocena kazdego zadania: 1 punkt = rozwiazanie z malymi bledami 2 punkty = rozwiazanie poprawne Ocena dotyczy tylko ciala funkcji. //////////////////////////////////////////////////////////////////////////////////// Prosze o zwrócenie uwagi na : Zadanie 1 (wersja a/b) 1. czy poprawnie obliczane sa odleglosci , funkcje sqrt, 2. czy poprawnie sa posortowane, 3. czy przy dzieleniu sprawdzony zostal warunek – mianownik!=0 ///////////////////////////////////////////////////////////////////////////////////////// #include #include main() { float ax,ay,bx,by,cx,cy,ab,ac,bc,temp; // wejscie printf("\npodaj wspolrzedne "); scanf("%f %f %f %f %f %f",&ax,&ay,&bx,&by,&cx,&cy); // obliczamy dlugosci ab=sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by)); ac=sqrt((ax-cx)*(ax-cx)+(ay-cy)*(ay-cy)); bc=sqrt((bx-cx)*(bx-cx)+(by-cy)*(by-cy)); // sortujemy if (ab>ac) { temp=ab; ab=ac; ac=temp; } if (ab>bc) { temp=ab; ab=bc; bc=temp; } if (ac>bc) { temp=ac; ac=bc; bc=temp; } // wynik koncowy // badamy dzielenie przez zero if (bc!=0) printf("\nproporcja ta wynosi %f",ab/bc); else printf("\nTrojkat jest zdegenerowany"); return 0; } ///////////////////////////////////////////////////////////////////////////// Zadanie 2 (wersja a/b) Uwaga: 1. bledy zakresów – sieganie poza tablice, 2. warunki stopu w while(), 3. test czy suma byla parzysta, czy nie, 4. czy wszystko zostalo wykonane w czasie liniowym od rozmiaru tablicy, ////////////////////////////////////////////////////////////////////////////////// // wersja a #include #include int fun2(int tab[],int n); main() { const int n=10; // n > 1 int tab[n]={1,1,1,1,1,1,1,3,1,1}; int wynik; wynik=fun2(tab,n); if (wynik==-1) printf("\nNie ma takiego fragmentu\n"); else { printf("\nFragment tablicy spelniajacy warunki zadania to 0.."); printf("%d", wynik); } getch(); return 0; } int fun2(int tab[],int n) { int i, suma=0, sumacz=0; for(i=0;i #include int fun2(int tab[],int n); main() { int tab[]={3,4,1,3,4,1,4,2,4,2},wynik,n; n=sizeof(tab)/sizeof(int); wynik=fun2(tab,n); if (wynik==-1) printf("\nNie ma takiego fragmentu\n"); else { printf("\nFragment tablicy spelniajacy warunki zadania to "); printf("%d..%d\n ",wynik, wynik+n/2-1); } getch(); return 0; } int fun2(int tab[],int n) { int i, suma=0, sumacz=0; for(i=0;i