2/ ZADANIA FAJNE
Transkrypt
2/ ZADANIA FAJNE
1 2/ ZADANIA FAJNE Zad.1. Mamy liczby rzeczywiste w, x, y, z. Proszę obliczyć wartość wyrażenia w tabeli dla: w=1,x=2, y=3, z=4: Przykład: w+=++z*y--+2 Po podstawieniu: w=1+(++4)*(3--)+2=1+5*3+2=18 Wyrażenie Podstawienie i obliczenie wyniku w*=++z-(--y)+2*-z-………………………………………………………………………… ………………………………………………………………………… x/=++x*--y-z-………………………………………………………………………… ………………………………………………………………………… x*= …………………. x= 2*(0*5+1+2*3)=14 c) Przyjmijmy: int k; k=5; dlaczego to „nie zadziała”: k%=++x*--y jak poprawić: ……………………………………………………………………. „zrozumiały” zapis i wynik: …………………………………………………………………………………… …………………………………………………………………………………… Zad.2. Proszę uzupełnić: [b] – bit, podstawowa jednostka informacji [B] - …………………………………………………………………………………………… [KB] - …………………………………………………………………………………………. wartość zmiennej x Typ Ile zajmuje B a 0 … 255 char 1 kod formatujący dla printf() %c 0..65535 1,2*10-38 .. 3,4*1038 bool Jaki będzie wynik programu (dla unsigned short l): l=65535; l=65535; printf("\nWynik= %e",l); printf("\nWynik= %u",l); l=65535; printf("\nWynik= %c",l); //Wynik: ……………….. //Wynik: ……………………. //Wynik: ………………. Paweł Skrobanek, p.323 C-3. Podstawy programowania – ćwiczenia. 2 Zad.1. Jaka będzie różnica w działaniu pomiędzy programami: #include <stdio.h> #include <conio.h> #include <stdio.h> #include <conio.h> int main (void) { float x,w; char opcja; int main (void) { float x,w; char opcja; //Informacja o programie printf("Program zamienia km/h na m/s lub odwrotnie."); //rodzaj zamiany printf("\nCo chcesz zamienic (k-km/h, m-m/s): "); scanf("%c",&opcja); //wprowadzenie prędkości printf("\npodaj predkosc: "); scanf("%f", &x); //wykonanie obliczeń if (opcja=='k') w=x*10/36; else w=x*3.6; //podanie wyniku printf("\nPo przeliczeniu: %10.2lf",w); getch(); return 0; } //Informacja o programie printf("Program zamienia km/h na m/s lub odwrotnie."); //rodzaj zamiany printf("\nCo chcesz zamienic (k-km/h, m-m/s): "); scanf("%c",&opcja); fflush(stdin); //wprowadzenie prędkości printf("\npodaj predkosc: "); scanf("%f", &x); //wykonanie obliczeń if (opcja=='k') w=x*10/36; else w=x*3.6; //podanie wyniku printf("\nPo przeliczeniu: %10.2lf",w); getch(); return 0; } Uwaga: Dobrze byłoby użyć funkcji czyszczenia ekranu clrscr() w odpowiednich miejscach, w przykładach jej nie używam, gdyż biblioteka conio.h w Dev-C++ jest okrojona i tej funkcji nie zawiera. Zad.2. Przyjmijmy, że użytkownik będzie chciał kilka razy wykonać przeliczanie jednostek. Proszę uzupełnić poniższy schemat blokowy: POCZĄTEK Proszę spróbować napisać kod: int main (void) { float x,w; char opcja; Program z zadania 1 ……………………………………. { //------ program -------…………. // ------ koniec programu -------………………………………………………………… …..................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... KONIEC } while ……………………………………………; return 0; } Paweł Skrobanek, p.323 C-3. Podstawy programowania – ćwiczenia.