Problem 1
Realizati un program ce afiseaza bitul de pe o pozitie data a unui numar intreg.
#pragma once
// converteste un numar in binar
void toBinary(int n);
void toBinary(int n) {
if (n / 2 != 0) {
toBinary(n / 2);
}
printf("%d", n % 2);
}
#include <stdio.h>
#include <conio.h>
#include "chapter2-problem1.h"
void main() {
// declarare si initializare variabile
int numar = 0, pozitie = 0, mask = 1, bit = 0;
// citire numar
printf("Nr: ");
scanf("%d", &numar);
// citire pozitie
printf("Poz: ");
scanf("%d", &pozitie);
// calculare bit
bit = (numar >> pozitie) & mask;
printf("Reprezentarea in binar: ");
toBinary(numar);
// afisare bit
printf("\nBitul de pe pozitia %d din numarul %d este: %d\n", pozitie, numar, bit);
_getch();
}
Problem 2
Realizati un program ce afiseaza caracterul ASCII pentru un cod introdus de la tastatura.
#include <stdio.h>
#include <conio.h>
void main() {
// declarare si initializare variabile
int cod = 0;
// citire cod ASCII
printf("Cod ASCII: ");
scanf("%d", &cod);
// afisare
printf("Caracterul corespunzator codului %d este: %c\n", cod, cod);
_getch();
}
Problem 3
Scrieti un program in C pentru rezolvarea ecuatiei de gradul 1 cu coeficienti reali. Valorile coeficientilor se citesc de la tastatura. Solutia va fi afisata pe ecran, aliniata la dreapta, cu exact 2 zecimale.
#include <stdio.h>
#include <conio.h>
void main() {
// declarere si initializare variabile
float a = 0, b = 0, solutie = 0;
// citire coeficienti
printf("Introduceti coeficientii separati printr-un spatiu: ");
scanf("%f %f", &a, &b);
// calculare solutie
solutie = -((float)b / a);
// afisare solutie in formatul cerut
printf("Solutia este: %8.2f\n", solutie);
_getch();
}
Problem 4
Scrieti un program in C pentru rezolvarea ecuatiei de gradul 2 cu coeficienti reali. Valorile coeficientilor se citesc de la tastatura. Solutiile vor fi afisata pe ecran, aliniate la dreapta, cu exact 2 zecimale.
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main() {
// declarare si initializare variabile
float a = 0, b = 0, c = 0;
double determinant = 0, x1 = 0, x2 = 0;
// citire coeficienti
printf("Introduceti coeficientii separati printr-un spatiu: ");
scanf("%f %f %f", &a, &b, &c);
// calculare determinant
determinant = pow(b, 2) - 4 * a * c;
// afisare determinant
printf("Determinantul este: %g\n", determinant);
// calculare solutie 1
x1 = (-b + sqrtl(determinant)) / (2 * a);
// calculare solutie 2
x2 = (-b - sqrtl(determinant)) / (2 * a);
// afisare solutii
printf("Solutiile ecuatiei sunt: %8.2f si %8.2f\n", x1, x2);
_getch();
}
Problem 5
Scrieti un program in C pentru conversia unui unghi din grade in radiani. Solutia va fi afisata pe ecran, aliniata la dreapta, cu exact 2 zecimale.
#include <stdio.h>
#include <conio.h>
// definirea valorii lui pi
#define PI 3.141592653589793238
void main() {
// declararea si initializarea variabilelor
float grade = 0;
double radiani = 0;
// citire unchi in grade
printf("Dati unghiul in grade: ");
scanf("%f", &grade);
// calculare echivalent in radiani
radiani = (PI / 180.0) * grade;
// afisare valori
printf("Grade:\t%8.2f\nRadiani:%8.2f\n", grade, radiani);
_getch();
}
Problem 6
Realizarea de programe pentru a ilustra tipurile de date precum si operatiunile care se pot face cu acestea.
#pragma once
// afiseaza tabela ASCII a caracterelor printabile
void afisareTabelaASCII();
// converteste un numar in binar
void toBinary(int numar);
void afisareTabelaASCII() {
int i = 0;
printf("\n\tPrintable ASCII Table\n\n");
for (i = 32; i < 127; i++) {
printf("\t%c\t%d\n", i, i);
}
}
void toBinary(int numar) {
if (numar / 2 != 0) {
toBinary(numar / 2);
}
printf("%d", numar % 2);
}
#include <stdio.h>
#include <conio.h>
#include "chapter2-problem6.h"
void main() {
afisareTabelaASCII();
printf("\n\nNumarul 25 in binar este: ");
toBinary(25);
_getch();
}