/* 2011.11.30 ZH A csoport megoldasa: 1. a., ! logikai tagadas a !a 0 1 1 0 && logikai es a b a&&b 0 0 0 0 1 0 1 0 0 1 1 1 || logikai vagy a b a||b 0 0 0 0 1 1 1 0 1 1 1 1 b., #define
#define "sajat header file" A header file tartalmat ismertte es elerhetove teszi a program szamara. pl.: #include az alapveto (bemeneti, kimeneti, hiba) csatornakezelest tamogato C nyelvu definiciok elerhetove valnak, pl.: printf, scanf fuggvenyek stb. c., felt_fif ? fif1 : fif2 Ha a felt_kif logikai erteke igaz, kiertekelodik a kif1 es annak eredmenye lesz a vegeredmeny, ha a felt_kif logikai erteke hamis, kiertekelodik a kif2 es annak eredmenye lesz a vegeredmeny. pelda: a = 3; b = 2; k = a > b ? a+b : a-b; A k valtozo erteke 5 lesz, es a kifejezes eredmenye is 5. A felteteles operator logikai kifejezese igaz, mert 3 nagyobb 2-nel, vegrahajtja a ? es : kozotti reszt, amely 3+2 azaz 5 erteket ad eredmenyul. d. 7 / 2 kifejezes eredmenye 3 mert a / osztas operator mindket operandusa egesz, igy egesz eredmnyt ad. 7 / 2.0 fifejezes eredmenye 3.5 mert a / osztes operator egyik operandusa valos, igy az eredmeny is valos. e., az implicit (automatikus) tipuskonverzio informaciovesztes nelkul automatikusan vegrehajtodik kompatibilis tipusok kovott. pl. int tipusu ertek konverzioja long int tipusura vagy float, double tipusura valtozonak ertekadaskor int e=2; double v; v = e; // Az explicit (porgramozott) tipuskonverzio a programozo altal eloirt esetben a (tipus) kifejezes konverzios operator eloirasanak megfeleloen valosulhat meg (az eloirastol fuggoen informaciovesztessel is jarhat). pl. printf("\n egesz ertek konvertalasa valosra: %f", (float) 2+3); f., break; utasitas hatasara az utasitast kozvetlenul tartalmazo ciklus befejezi a mukodeset (kilep a ciklusbol). 2. a., 5-9%7 eloszor 9%7 maradek kepzes eredmenye 2, majd 5-2 egyenlo 3, vegeredmeny: 3 b., (v1=1, v1+=8, v1=7) lista (1,9,7) hatasa v1=1, majd v1=1+8 igv v1=9, vegul v1=7 es a lista vegeredmenye: 7 c., (g=5, k=4, g/=k) lista (5, 4, 1) hatasa k=5 majd k=4 vegul g=5/4 egeszosztas miatt igy g=1 es a lista vegeredmenye: 1 d., A=19; B=23; C=6; D=11; ( A<=B && !(C #include void main(void) { long int osszeg; //long int tipus mert az osszeg nagy szam is lehet int i, ah, fh, szam; clrscr(); //kepernyotorles printf("\n Paros szamok osszegzese ciklusban 20 es felso hatar kozott."); printf("\n Adja meg a felso hatar erteket:"); scanf("%d", &fh); if ( fh < 20 ) { ah = fh; fh = 20; } else ah = 20; for(i=ah, osszeg=0; i<=fh; i++) { if (i%2 == 0) //ha a szam paros akkor kettovel valo osztasi maradeka nulla osszeg+=i; //noveli a reszosszeget az aktualis szamertekkel } printf("\n A paros szamok osszege: %ld", osszeg); //eredmeny kiirasa a kepernyore getch(); //billentyu lenyomasaig varakozik } //main fuggveny torzsenek a vege */ //4., /* #include #include #define DARAB 150 void main(void) { char szoveg[DARAB]; int i, kisbetukszama; clrscr(); printf("\n Pelda program zh f4-re"); printf("\n Kerek egy karaktersorozatot:\n"); gets(szoveg); //vektor neve konstans pointer igy kulon nem kell & i=kisbetukszama=0; while ( szoveg[i]!='\0') { if (szoveg[i]>='a' && szoveg[i]<='z') kisbetukszama++; i++; //vektorelem sorszama } printf("\n A szovegben %d kisbetu szerepelt.", kisbetukszama); getch(); return 0; } */ //5., #include #include #include #define DARAB 100 //makro void main(void) { double x[DARAB], y[DARAB], r[DARAB]; int i, n, belulvan; double dx, dy, dr, teruletosszeg; clrscr(); printf("\n ZH 5. feldat pelda"); printf("\n Kerem a korok darabszamat:"); scanf("%d", &n); //darabszam for (i=0; i r[i]) //a korkozeppont tavolsag es a sugarkulonbseg alapjan nem erintik egymast es a 0. kor sugara a nagyobb { belulvan++; teruletosszeg+=r[i]*r[i]*M_PI; } } printf("\n A listaban %d darab kor helyezkedett el az elsonek megadott koron belul erintes nelkul.", belulvan); if (belulvan>0) printf("\n Az ilyen korok keruletenek atlaga: %lf", teruletosszeg/belulvan); getch();//bill. lenyomasara var } // FIGYELEM! A gyakorlaton hasznalt BorlandC szoftver hasznalatakor jelentkezo: // floating point format not linked // futasi hiba a telepitett rendszer tulzott "lebutitasanak" kovetkezmenye, ez a program jól működik. //---------------------------------------------------------------------------