student Zadanie 1


Polecenie 1
int n=5, p=9;
int q;
float x;
Jaki będzie rezultat poniższych działań:
q=nq=n==p; /* 0 */
q=p%n+p>n; /* 5 */
x=p/n; /* 1 */
x=(float) p/n; /* 1.8 */
x=(p+0.5)/n; /* 1.9 */
x=(int)(p+0.5)/n; /* 1 */
q=n*(p>n ? n : p); /* 25 */
q=n*(p Polecenie 2
#include
void main(void)
{
int n=10, p=5, q=10, r;
r = n==(p=q);
printf("A: n=%d p=%d q=%d r=%d\n", n,p,q,r);
n=p=q=r=5;
n+=p+=q;
printf("B: n=%d p=%d q=%d r=%d\n", n,p,q,r);
q = n

printf("C: n=%d p=%d q=%d r=%d\n", n,p,q,r);
q = n>p ? n++ : p++;
printf("D: n=%d p=%d q=%d r=%d\n", n,p,q,r);
}
A: n=10 p=10 q=10 r=1
B: n=15 p=10 q=5
C: n=15 p=11 q=10
D: n=16 p=11 q=15
Polecenie 3
#include
int main()
{
int n,p;
n=0;
while (n<=5) n++;
printf("A: n = %d\n", n); /* n=6 */
n=p=0;
while (n<=8) n+=p++;
printf("B: n = %d\n", n); /* n=10 */
n=p=0;
while (n<=8) n+=++p;
printf("C: n = %d\n", n); /* n=10 */
n=p=0;
while (p<=5) n+=p++;
printf("D: n = %d\n", n); /* n=15 */
n=p=0;
while (p<=5) n+=++p;
printf("E: n = %d\n", n); /* n=21 */
return 0;
}
Sample program results
A: 1234567890
B: 1234567890
#include
C: 000001234567890
void main(void)
D: 000001234567890
DD: 1234567890
{
Polecenie 4
E: 123456.123457
long int i=1234567890;
F: 123456.123457
double a=123456.123456789; G: 123456.123456789006000
G: 123456.123456789006000
char *s="informatyka ;
H: 1.234561234567890e+05
I: 1.234561234567890e+05
/* default rule */ J: 123456.123456789
printf("A: %ld\n", i);
K: 123456.123456789
/* Minimal size of the field 20 */
printf("B: %20ld\n", i);
L: 123456.123456789
/* Precision - minimal number of digits 15 */
printf("C: %20.15ld\n", i);
/* Printed result left-justified */
printf("D: %-20.15ld\n", i);
/* precision entered as a parameter; Printed result left-justified */
printf("DD:%-20.*ld\n", 10, i);
/* default rule */
printf("E: %f\n", a);
/* Minimal size of the field 20 */
printf("F: %20f\n", a);
/* Precision - number of decimal digits following decimal point */
printf("G: %20.15f\n", a);
/* Left-justified output */
printf("G: %-20.15f\n", a);
/* Decimal part and mantissa */
printf("H: %20.15e\n", a);
/* Switching format */
printf("I: %-20.15e\n", a);
/* double*/
printf("J: %20.15g\n", a);
printf("K: %-20.15g\n", a);
printf("L: %-*.*g\n", 20, 15, a);
printf("M: %10.5s\n", s);
}
Polecenie 5
#include
void main(void)
{
printf("znak nowy wiersz \n");
getch();
printf(" znak apostrof \'");
getch();
printf(" znak cofnij abc \b");
getch();
printf(" znak dzwonek \a \a \a \a ");
getch();
printf(" znak tab poziomej \t");
getch();
printf(" znak tab pionowej \v");
getch();
printf(" znak powrotu karetki \r");
getch();
}
Dekompozycja i abstrakcja
Zadanie 1
Napisz program obliczający pierwiastki równania kwadratowego.
Zadanie 2
Napisz program obliczający pole dowolnego trójkąta korzystając ze wzoru Herona.
Zadania cz.1
1. Napisać program zamieniający i wypisujący na ekranie wartości podane w KM na kW w
zakresie od 0 do 100 z krokiem co 10
 (1 KM = 0.73549875 [kW])
2. Zmodyfikować go tak aby służył jako kalkulator do przeliczania podanych jednostek mocy
silnika.
3. Napisz program obliczający największy wspólny dzielnik (NWD) dwóch liczb nieujemnych.
4. Napisz program obliczający największą wspólną wielokrotność (NWW) dwóch liczb
nieujemnych.
5. Wczytać z klawiatury 3 zmienne typu double. Wyznaczyć liczbę minimalną stosując:
1. tylko operator warunkowy (?).
2. tylko instrukcje warunkowe (if lub if-else).
6. Napisz program wyszukujący z pośród podawanych z klawiatury liczb MIN(a,b,& ) i
MAX(a,b,& ). Cyfra 0 oznacza zakończenie wprowadzania danych.
7. Napisz program obliczający silnię liczby dodatniej z wykorzystaniem własnej funkcji float
silnia(int a).
8. Napisz program obliczający potęgę liczby o podstawie a i wykładniku b z wykorzystaniem
własnej funkcji float power(int pod,wyk).(iteracyjnie i rekurencyjnie).
9. Napisz program obliczający sumę i średnią z podanych liczb.
10. Napisz program obliczający pierwiastki równania kwadratowego ax2 + bx + c = 0.
Zadania cz.2
1. Wprowadzić z klawiatury rok, miesiąc i dzień. Jeżeli data jest poprawna, tj. dzień < 32,
miesiąc < 13, styczeń < 32, luty < 30 w roku przestępnym oraz luty < 29 w roku
zwykłym, marzec < 32, itd., to wyprowadzić na ekran datę (miesiąc słownie).
Uwzględnić lata przestępne. Przyjąć, że rok nie jest przestępny (rok zwykły) jeśli: nie
dzieli się przez 4 lub dzieli się przez 100, ale nie przez 400 (np. lata zwykłe: 1700,
1800, 2100; lata przestępne: 4, 1600, 1996, 2000, 2400). W szczególności data 29-02-
1800 r. nie jest datą poprawną.
2. Zadeklarować zmienną dzien typu wyliczeniowego Tdni reprezentującą dni tygodnia
{pon, wt, sr, czw, pt, sob, niedz}. Zainicjować zmienną dzien w programie. Przyjmując,
że zmienna dzien jest selektorem instrukcji wyboru switch wyprowadzić pełną nazwę
dnia tygodnia.
3. Opracować program kalkulatora uwzględniającego działania (+, -, /, *) oraz funkcje:
sin, cos, tan, asin, acos, atan, log, log10, exp, pow, ldexp(x,n)=x"2n, sqrt, fabs, fmod,
ceil, floor, abs.


Wyszukiwarka