Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

Laboratorium Wstęp do programowania

Nr 4 11.12.23
Zad 1
Proszę napisać program, który dla trójkąta, a, b i c, wprowadzonych z
klawiatury sprawdza, czy tworzą trójkąt prostokątny. Warunek a, b, c > 0
#include <stdio.h>

int main() {
int a, b, c;
printf("Podaj długości boków trójkąta: ");
scanf("%d %d %d", &a, &b, &c);
if (a <= 0 || b <= 0 || c <= 0) {
printf("Długości boków muszą być dodatnie.\n");
return 1;
}
if (a * a + b * b == c * c) {
printf("Trójkąt jest prostokątny.\n");
} else {
printf("Trójkąt nie jest prostokątny.\n");
}
return 0;
}

Zad 2
Proszę napisać program, który z wykorzystaniem instrukcji warunkowej if obliczy
miejsca przecięcia paraboli z osią OX dla ax2 + bx + c = 0, zmienne a, b, c - liczby
rzeczywiste. Dane mają być wprowadzane z klawiatury.
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
printf("Podaj a, b i c: ");
scanf("%lf %lf %lf", &a, &b, &c);
double delta = b * b - 4 * a * c;
if (delta < 0) {
printf("Parabola nie przecina osi OX.\n");
} else {
double x1 = (-b - sqrt(delta)) / (2 * a);
double x2 = (-b + sqrt(delta)) / (2 * a);
printf("Miejsca przecięcia paraboli z osią OX: x1 = %lf, x2 = %lf\n", x1, x2);
}
return 0;
}

Zad 3
Proszę napisać program, który z wykorzystaniem instrukcji warunkowej
switch obliczy miejsca przecięcia paraboli z osią OX dla ax2 + bx + c = 0,
zmienne a, b, c - liczby rzeczywiste. Dane mają być wprowadzane z
klawiatury.
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
printf("Podaj a, b i c: ");
scanf("%lf %lf %lf", &a, &b, &c);
double delta = b * b - 4 * a * c;
if (delta == 0) {
printf("Parabola ma jedno miejsce przecięcia z osią OX.\n");
} else if (delta > 0) {
printf("Parabola przecina oś OX w dwóch punktach.\n");
double x1 = (-b - sqrt(delta)) / (2 * a);
double x2 = (-b + sqrt(delta)) / (2 * a);
printf("Miejsca przecięcia paraboli z osią OX: x1 = %lf, x2 = %lf\n", x1, x2);
} else {
printf("Parabola nie przecina osi OX.\n");
}
return 0;
}

Zad 4
Proszę napisać program, który za pomocą pętli for dla wartości x się od 0 do
30 oblicza wartość funkcji y = 5x
#include <stdio.h>
int main() {
int x;
for (x = 0; x <= 30; x++) {
double y = 5 * x;
printf("x = %d, y = %lf\n", x, y);

}
return 0;
}

Zad 5
#include <stdio.h>
int main() {
int x = 0;
while (x <= 30) {
double y = 5 * x;
printf("x = %d, y = %lf\n", x, y);
x++;
}
return 0;
}

Zad 6
Proszę przerobić program z zad 4 ale wykorzystać pętle do .. while
#include <stdio.h>
int main() {
int x = 0;
do {
double y = 5 * x;
printf("x = %d, y = %lf\n", x, y);
x++;
} while (x <= 30);
return 0;
}

Zad 7
Napisz program, który wczytuje ze standardowego wejścia nieujemną
liczbęcałkowitą n i drukuje na standardowym wyjściu element ciągu
Fibonacciego o indeksie n.
#include <stdio.h>
int main() {
int n;
printf("Podaj nieujemną liczbę całkowitą n: ");
scanf("%d", &n);
if (n == 0) {
printf("0");
return 0;
} else if (n == 1) {
printf("1");
return 0;
} else {
int f1 = 0;
int f2 = 1;
int i;
for (i = 2; i <= n; i++) {
int f = f1 + f2;
f1 = f2;
f2 = f;
}
printf("%d", f2);
return 0;
}
}

a
Zad 8
Napisz program, który sumuje liczby całkowite z zakresu 0 do
50.•Wykorzystaj pętle for•Wykorzystaj pętle while•Wykorzystaj pętlę do ..
while

Program który sumuje liczby całkowite z zakresu 0 do 50, wykorzystując pętlę for:
#include <stdio.h>
int main() {
int suma = 0;
for (int i = 0; i <= 50; i++) {
suma += i;
}
printf("Suma liczb całkowitych z zakresu 0 do 50 wynosi %d\n", suma);
return 0;
}

Program który sumuje liczby całkowite z zakresu 0 do 50, wykorzystując pętlę while:
#include <stdio.h>
int main() {
int suma = 0;
int i = 0;
while (i <= 50) {
suma += i;
i++;
}
printf("Suma liczb całkowitych z zakresu 0 do 50 wynosi %d\n", suma);
return 0;
}

Program który sumuje liczby całkowite z zakresu 0 do 50, wykorzystując pętlę


do...while:
#include <stdio.h>
int main() {
int suma = 0;
int i = 0;
do {
suma += i;
i++;
} while (i <= 50);
printf("Suma liczb całkowitych z zakresu 0 do 50 wynosi %d\n", suma);
return 0;
}

Zad 9
Napisz program, który za pomocą instrukcji for, while i do ... while oblicza
średniąze zbioru 10 liczb losowych z przedziału od 0 do 70 oraz oblicza ich
średnią
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// Inicjalizacja generatora liczb pseudolosowych
srand(time(NULL));
// Zmienne do przechowywania sumy i średniej
int suma = 0;
double srednia;
// Instrukcja for
printf("Instrukcja for:\n");
for (int i = 0; i < 10; i++) {
int liczba = rand() % 71;
printf("%d ", liczba);
suma += liczba;
}
srednia = (double)suma / 10;
printf("\nŚrednia: %.2f\n\n", srednia);
// Instrukcja while
printf("Instrukcja while:\n");
int j = 0;
suma = 0;
while (j < 10) {
int liczba = rand() % 71;
printf("%d ", liczba);
suma += liczba;
j++;
}
srednia = (double)suma / 10;
printf("\nŚrednia: %.2f\n\n", srednia);
// Instrukcja do...while
printf("Instrukcja do...while:\n");
int k = 0;
suma = 0;
do {
int liczba = rand() % 71;
printf("%d ", liczba);
suma += liczba;
k++;
} while (k < 10);
srednia = (double)suma / 10;
printf("\nŚrednia: %.2f\n", srednia);

return 0;
}

Zad 10
Napisz program zliczający ilość liczb parzystych z zakresu 0 do 50.
#include <stdio.h>
int main() {
int i = 0;
int ilosc = 0;

while (i <= 50) {


if (i % 2 == 0) {
ilosc++;
}
i++;
}
printf("Ilość liczb parzystych z zakresu 0 do 50 wynosi %d\n", ilosc);
return 0;
}

Zad 11
Napisz program zliczający ilość liczb nieparzystych z zakresu 0 do 80.
#include <stdio.h>
int main() {
int i;
int ilosc = 0;
for (i = 1; i <= 80; i++) {
if (i % 2 == 1) {
ilosc++;
}
}

printf("Ilość liczb nieparzystych z zakresu 0 do 80 wynosi %d\n", ilosc);


return 0;
}

Wniosek:
Napisanie programu nie było trudne ale na początku nie zrozumiałem zadania
2

You might also like