User Tools

Site Tools


dydaktyka:cprog:2016:conditionals-solutions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dydaktyka:cprog:2016:conditionals-solutions [2016/10/13 10:18]
pkleczek
— (current)
Line 1: Line 1:
-====== Pętla "​for",​ instrukcje warunkowe, operatory relacyjne i logiczne - rozwiązania i odpowiedzi ====== 
  
-Laboratorium:​ [[dydaktyka:​cprog:​2015:​conditionals|Pętla "​for",​ instrukcje warunkowe, operatory relacyjne i logiczne]] 
- 
-===== Zadanie FOR-1 ===== 
- 
-<code c for-1.c> 
-/* Program oblicza sume liczb naturalnych 1,2,...,10. */ 
- 
-#include <​stdio.h>​ 
-#include <​stdlib.h>​ 
- 
-int main() 
-{ 
-    int i = 0; 
-    int suma = 0; 
- 
-    for (i = 1; i <= 10; i = i + 1) { 
-        suma = suma + i; 
-    } 
-    ​ 
-    printf("​suma = %d\n", suma); 
- 
-    return 0; 
-} 
-</​code>​ 
- 
-===== Zadanie FOR-2 ===== 
- 
- 
-<code c for-2.c> 
-/* Program oblicza sume liczb calkowitych z przedzialu <​a,​b>​. */ 
- 
-#include <​stdio.h>​ 
-#include <​stdlib.h>​ 
- 
-int main() 
-{ 
-    int a = 0; 
-    int b = 0; 
-    int suma = 0; 
- 
-    int i; 
- 
-    printf("​Podaj liczby `a` i `b`: "); 
-    scanf("​%d %d", &a, &b); 
- 
-    for (i = a; i <= b; i = i + 1) { 
-        suma = suma + i; 
-    } 
- 
-    printf("​suma = %d\n", suma); 
- 
-    return 0; 
-} 
-</​code>​ 
- 
-===== Zadanie SQEQ ===== 
- 
-Uwagi: 
-  * W języku C operator ''​^''​ oznacza nie tyle potęgowanie,​ co operację [[https://​pl.wikipedia.org/​wiki/​Alternatywa_wykluczaj%C4%85ca|XOR]] na bitach operandów :-) \\ Czyli nie piszemy ''​delta = b ^ 2 + 4 * a * c'',​ tylko ''​delta = b * b + 4 * a * c''​ 
- 
-<code c sqeq.c> 
-#include <​stdio.h>​ 
-#include <​stdlib.h>​ 
- 
-int main() 
-{ 
-    double a, b, c; 
-    double delta; 
- 
-    printf("​Podaj wspolczynniki a, b i c: "); 
-    scanf("​%lf %lf %lf", &a, &b, &c); 
- 
-    delta = b * b - 4 * a * c; 
- 
-    printf("​delta = %.4f : ", delta); 
- 
-    if (delta < 0) { 
-        printf("​brak pierwiastkow"​);​ 
-    } else if (delta == 0) { 
-        printf("​jeden pierwiastek"​);​ 
-    } else { 
-        printf("​dwa pierwiastki"​);​ 
-    } 
- 
-    printf("​\n"​);​ 
- 
-    return 0; 
-} 
-</​code>​ 
- 
-===== Zadanie EVEN ===== 
- 
-<code c even.c> 
-#include <​stdio.h>​ 
-#include <​stdlib.h>​ 
- 
-int main() 
-{ 
-    int n; 
- 
-    printf("​Podaj liczbe calkowita: "); 
-    scanf("​%d",​ &n); 
- 
-    if (n % 2 == 0) { 
-        printf("​Liczba %d jest parzysta.\n",​ n); 
-    } else { 
-        // reszta z dzielenia wynosi 1 
-        printf("​Liczba %d jest nieparzysta.\n",​ n); 
-    } 
- 
-    return 0; 
-} 
-</​code>​ 
- 
-===== Zadanie PRIME ===== 
- 
-Krótkie przypomnienie z gimnazjum: [[http://​www.math.edu.pl/​czy-pierwsza|Jak rozpoznać czy liczba naturalna jest pierwsza?]] \\ 
-(W poniższym programie nie bawię się w warunek $i < \sqrt{n}$, czyli równoważnie $i^2 < n$, tylko po prostu sprawdzam wszystkie liczby naturalne z przedziału $[2,n-1]$.) 
- 
-<code c prime.c> 
-#include <​stdio.h>​ 
-#include <​stdlib.h>​ 
- 
-int main() 
-{ 
-    int n; 
-    int i; 
- 
-    printf("​Podaj liczbe calkowita: "); 
-    scanf("​%d",​ &n); 
- 
-    for (i = 2; (i < n) && (n % i != 0); i = i + 1) 
-        ; /* po prostu sprawdz kolejna liczbe... */ 
- 
-    if (i == n) { 
-        // Cala petla zostala wykonana, wiec liczba N nie byla podzielna 
-        // przez zadna z liczb 2, 3, ..., N-1. 
-        printf("​Liczba %d jest pierwsza.\n",​ n); 
-    } else { 
-        printf("​Liczba %d NIE jest pierwsza.\n",​ n); 
-    } 
- 
-    return 0; 
-} 
-</​code>​ 
dydaktyka/cprog/2016/conditionals-solutions.1476346699.txt.gz · Last modified: 2020/03/25 11:46 (external edit)