5
VISOKA TEHNIČKA ŠKOLA U BJELOVARU STUDIJ MEHATRONIKE Osnove programiranja - Auditorne vježbe 01 1 Zadatak Odredite rezultat poziva sljedećih operatora u programskom jeziku C: a) !0.0 < 1.0 e) 1 << 2 * 4.0 b) 1 / 4 * 8.1 f) 1<<4/2 c) 8.1 * 1 / 4 g) 123456 >> 2 d) 1 % (4 + 2.0) h) 4&10+5 Rješenje a) 0 e) greška b) 0 f) 4 c) 2.025 g) 30864 d) greška h) 4 2 Zadatak Napišite program koji unosi pozitivan cijeli broj sa standardnog ulaza u heksadekadskom obliku. Program u binarnom prikazu unesenog broja treba postaviti 1. i 4. bit u jedinicu i dobiveni rezultat ispisati na standardni izlaz u heksadekadskom obliku (najmanje značajan bit je na 0. mjestu, a najviše značajan je na 31. mjestu). Rješenje: #include <stdio.h> int main() { unsigned int x, y; scanf( "%X" , &x); // A_16 == 10010_2 y = x | 0xA; printf( "%X" , y); return 0; } 3 Zadatak Napišite program koji unosi pozitivan cijeli broj sa standardnog ulaza u heksadekadskom obliku. Program u binarnom prikazu unesenog broja treba postaviti 16. bit u 0 i dobiveni rezultat ispisati na standardni izlaz. Rješenje: #include <stdio.h> int main() { 1

Prvi kolokvij

Embed Size (px)

DESCRIPTION

Prvi kolokvij

Citation preview

  • VISOKA TEHNIKA KOLA U BJELOVARUSTUDIJ MEHATRONIKE

    Osnove programiranja - Auditorne vjebe 01

    1 ZadatakOdredite rezultat poziva sljedeih operatora u programskom jeziku C:

    a) !0.0 < 1.0 e) 1 2d) 1 % (4 + 2.0) h) 4 & 10 + 5

    Rjeenje

    a) 0 e) grekab) 0 f) 4c) 2.025 g) 30864d) greka h) 4

    2 ZadatakNapiite program koji unosi pozitivan cijeli broj sa standardnog ulaza u heksadekadskom obliku. Programu binarnom prikazu unesenog broja treba postaviti 1. i 4. bit u jedinicu i dobiveni rezultat ispisati nastandardni izlaz u heksadekadskom obliku (najmanje znaajan bit je na 0. mjestu, a najvie znaajan je na31. mjestu).Rjeenje:#include

    int main(){

    unsigned int x, y;

    scanf("%X", &x);

    // A_16 == 10010_2y = x | 0xA;

    printf("%X", y);

    return 0;}

    3 ZadatakNapiite program koji unosi pozitivan cijeli broj sa standardnog ulaza u heksadekadskom obliku. Program ubinarnom prikazu unesenog broja treba postaviti 16. bit u 0 i dobiveni rezultat ispisati na standardni izlaz.Rjeenje:#include

    int main(){

    1

  • unsigned int x, y;

    scanf("%X", &x);

    // FFFEFFFF_16 == 1111 1111 1111 1110 1111 1111 1111 1111_2y = x & 0xFFFEFFFF;

    printf("%X", y);

    return 0;}

    4 ZadatakNapiite program koji sa standardnog ulaza unosi broj kolaa i broj ljudi na zabavi. Program na temeljuomjera broja kolaa i broja ljudi na zabavi treba ispisati poruku ima li dovoljno kolaa na zabavi. Porukesu navedene u sljedeoj tablici:

    omjer poruka [0, 2.5) Na zabavi je premalo kolaca. [2.5, 3.5) Na zabavi je dovoljno kolaca. [3.5,) Na zabavi je previse kolaca.

    Rjeenje:#include

    int main(){

    unsigned int broj_kolaca , broj_ljudi;float omjer;

    scanf("%u %u", &broj_kolaca , &broj_ljudi);

    omjer = (float )broj_kolaca / broj_ljudi;

    if (omjer < 2.5)printf("Na zabavi je premalo kolaca.");

    else if (omjer < 3.5)printf("Na zabavi je dovoljno kolaca.");

    elseprintf("Na zabavi je previse kolaca.");

    return 0;}

    5 ZadatakNapiite program koji unosi realne brojeve x, y i rauna rezultat sljedeeg izraza:

    f(x, y) = ex+y + sin1 y (1)

    ako su uneseni brojevi u domeni izraza. Program treba na standardni izlaz rezultat izraza ili poruku Greska!ovisno o tome moe se zadani izraz izraunati.Rjeenje:

    2

  • #include #include

    int main(){

    double x, y;double a, b, c, z;

    scanf("%lf %lf", &x, &y);

    if (y >= -1 && y 0){

    a = x + y;b = pow(a, 23);c = log10(x);z = b + c;

    printf("f(x,y) = %lf\n", z);}else{

    printf("Greska !\n");}

    return 0;}

    3

  • 7 ZadatakU CodeBlocks projektu nalazi se zaglavlje deklaracije.h, datoteke s programskim kodom main.c i defini-cije.c. U datoteci main.c zapisan je sljedei programski kod:/*** main.c**/#include #include "deklaracije.h"

    int main(){

    float x, y, z;unsigned int m, n;

    printf("Molim Vas , unesite dva realna broja:\n");printf("x = ");scanf("%f", &x);printf("y = ");scanf("%f", &y);

    z = izraz_neki(x, y);

    printf("z = %f\n", z);

    printf("Molim Vas , unesite pozitivan cijeli broj:\n");printf("m = ");scanf("%u", &m);

    n = zbroj_tri(m);

    printf("n = %u\n", n);

    return 0;}

    U prethodnom programskom kodu koriste se funkcije:

    izraz_neki - funkcija koja rauna i predaje izraz z = sin(x+ y) zbroj_tri - funkcija koja rauna i predaje izraz n = m+ 3

    Navedene funkcije definirane su u datoteci definicije.c", a deklarirane u datoteci deklaracije.h".

    a) Napiite sadraj datoteke deklaracije.h".

    b) Napiite sadraj datoteke definicije.c".

    Rjeenje:

    a) U zaglavlju deklaracije.h napisane su deklaracije funkcija:/*** deklaracije.h**/float izraz_neki(float x, float y);

    unsigned int zbroj_tri(unsigned int m);

    b) U programskoj datoteci definicije.c napisane su definicije funkcija:/*** definicije.c**/#include

    float izraz_neki(float x, float y)

    4

  • {float a, izlaz;

    a = x + y;izlaz = sin(a);

    return izlaz;}

    unsigned int zbroj_tri(unsigned int m){

    unsigned int izlaz;

    izlaz = m + 3;

    return izlaz;}

    5