#include <stdio.h>
/* definicja funkcji */
int nwd(int a, int b)
{
int c;
while (b != 0)
{
c = a % b;
a = b;
b = c;
}
return a;
}
int main()
{
/* deklaracje zmiennych */
int a, b;
/* instrukjce programu */
printf("Podaj dwie liczby calkowite dodatnie: ");
scanf("%d %d", &a, &b);
if ( a >0 && b > 0)
printf("NWD(%d,%d) = %d\n", a, b, nwd(a,b));
else
printf("Niepoprawne dane\n");
return 0;
}
Specyfikatory formatu
#include <stdio.h>
/* program wczytuje i wyswietla wartosc podanej liczby rzeczywistej */
int main()
{
float x;
printf("Podaj liczbe: ");
scanf("%f", &x);
printf("Podales liczbe %.3f \n", x);
printf("Notacja naukowa %e \n", x);
return 0;
}
#include<math.h>
#include<stdio.h>
int main()
{
float x, y;
scanf("%f", &x);
y = sqrt(x);
printf("Pierwiastek z %f wynosi %f\n", x, y);
}
Co wyświetli poniższy kod?
#include <stdio.h>
int main ( )
{
float x = 0.1;
if ( x == 0.1 ) printf ( "OK" ) ;
else printf ( "Nie OK") ;
}
Błąd bezwzględny - różnica pomiędzy wartością zmierzoną $x$ a wartością rzeczywistą $x_{0}$
$$\Delta x = x - x_{0} $$
Błąd względny - iloraz błędu bezwzględnego i wartości dokładnej $x_{0}$
$$\delta_x = \frac{\Delta x}{x_{0}}$$
Treść zadania znajduje się w Moodle pod adresem Zadanie 1
Dodatkowe ćwiczenia nie podlegające ocenie.
Ćw. 1
Napisz program znajdujący pierwiastki równania kwadratowego $$y = ax^2 + bx + c$$ dla dowolnych $a, b, c$.
Przy wyznaczaniu pierwiastków tradycyjnym podejściem (z wyznaczeniem delty) może dojść do istotnego błędu zaokrągleń gdy delta $\sqrt{\Delta}$ jest bliska $b$. Spróbuj zniwelować wpływ tego błędu wykorzystując Wzory Viète’a
Ćw. 2
Napisz program wyznaczający $\sqrt{2}$ a następnie podnieś wynik do kwadratu. Wypisz wartość bledu względnego uzyskanego wyniku dla typu float
oraz osobno dla typu double
.
Ćw.3 Napisz program wyznaczający wartość wielomianu $f(x) = a_{n}x^n + \ldots + a_2x^2 +a_1x + a_0$ za pomocą schematu Hornera
Ćw. 4 Napisz program wyznaczający sumę szeregu $$\sum_{n=0}^{\infty} q^{n}=1+q+q^{2}+q^{3}+\ldots \qquad \text{dla}\quad |q| < 1$$
Dla podanych przez użytkownika wartości $q$ oraz $k$ program wypisuje:
Sprawdź wyniki programu dla $q=0.99$ i $k=10^6$. Dlaczego błędy obu przybliżeń się różnią?