Upload
marko-casar
View
7
Download
4
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