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.

Podobne dokumenty