PRÁCTICA 2 TIPOS DE DATOS SIMPLES E IDENTIFICADORES EJERCICIOS PROPUESTOS EN LAS PRÁCTICAS. 01 - Algebraicas a algorítmicas (I) 02 - Algebraicas a algorítmicas (II) 03 - Algebraicas a algorítmicas (III) 04 - Calcular porcentajes (I) 05 - Calcular porcentajes (II) 06 - Celsius a Fahrenheit 07 - Ecuación de segundo grado |
Caracter | char |
Numérico Entero | int short long ------- unsigned int unsigned short unsigned long |
Numérico Real | float double |
Booleano | bool |
Enumerado | |
Subrango |
Ejemplo
Edad | int |
Código postal | int (no se usa para operar aritméticamente) char |
Teléfono | int (no se usa para operar aritméticamente) char |
Sexo | Enumerado |
Meses del año | int o Subrango |
IVA | float |
Altura | float |
Nota de un alumno | float |
Matriculado o no matriculado | bool |
Precio de un objeto | float |
DNI | char |
Grupo de clase | Enumerado |
Comunidad Autónoma | Enumerado |
Hombre o mujer | Enumerado |
Peso de un objeto | float |
Expresiones algebraicas
Algorítmicas | Algebraicas |
( a ^ 2 ) + ( b ^ 2 ) | pow(a,2) + pow(b,2) |
( a + b ) ^ 2 | pow((a+b),2) |
( b ^ ( 1 / 3 ) ) + 34 | pow(b,(1/3))+34 |
( b + 34 ) ^ ( 1/3 ) | pow(b+34,(1/3)) |
( c + d ) / ( u + w/b ) | ((c+d)/(u+w/b)) |
( c + d/u + g/b) | (c+d/u+g/b) |
a/b * (z+w) | (a/b*(z+w)) |
¿Diferencia entre variable y constante?
Variable.
- El valor de una variable puede cambiar a lo largo del programa.
- Se representa en minúscula.
- Se utiliza en sentencias de entrada y salida de datos.
Constante.
- El valor de una constante nunca cambia en el programa.
- Se representa en mayúscula.
- Se utiliza en sentencias de salida de datos.
Se declaran, inicializan, utilizan y “destruirlas”
Una sentencia de entrada almacena en variables datos introducidos por el usuario por teclado.
% | Resto de la división |
== != | Igual que Distinto de |
&& | AND Lógico |
|| | OR Lógico |
! | NOT Lógico |
Os dejo mis soluciones sobre los ejercicios propuestos de este tema por si os veis muy perdidos.
Si encontráis algún fallo en el código comentadmelo por e-mail, tuenti o bien desde este blog.
También podéis participar en el foro del campus para que debatamos nuestras dudas.
Campus > Moodle > 2012-11 Programación 1 > Foro > Dudas
PRÁCTICA 2 TIPOS DE DATOS SIMPLES E IDENTIFICADORES EJERCICIOS PROPUESTOS EN LAS PRÁCTICAS. |
01)
/*
Tony Del Pino Gz
tonydelpinogz@gmail.com
PRÁCTICA 2. TIPOS DE DATOS SIMPLES E IDENTIFICADORES
**********************************************
Algebraicas a algorítmicas (I)
**********************************************
**********************************************
Algebraicas a algorítmicas (I)
**********************************************
Convertir expresiones algebraicas en expresiones algorítmicas.
*/
#include<iostream>
#include<cmath>
using namespace std;
int main(){
/*
Nota:
Al usar la función "pow" hay que declarar las variables como double
para evitar fallos.
*/
double a, b, c, d, u, w, g, z;
a=3.0;
b=2.0;
c=4.5;
d=3.25;
u=5.0;
w=7.3;
g=3.5;
z=6.2;
cout << " (a^2)+(b^2)= " << pow(a,2)+ pow(b,2) << endl;
cout << " (a + b) ^2 = " << pow((a+b),2) << endl;
cout << " (b^(1/3))+34 = " << pow(b,(1/3.0))+34 << endl;
cout << " (b+34)^(1/3) = " << pow(b+34,(1/3.0)) << endl;
cout << " (c+d) / (u+w/b) = " << ((c+d)/(u+w/b)) << endl;
cout << " (c + d/u + g/b) = " << (c + d/u + g/b) << endl;
cout << " a/b * (z+w) = " << (a/b * (z+w)) << endl;
cin >> a;
system("PAUSE");
}
02)
/*
Tony Del Pino Gz
tonydelpinogz@gmail.com
PRÁCTICA 2. TIPOS DE DATOS SIMPLES E IDENTIFICADORES
**********************************************
Algebraicas a algorítmicas (II)
**********************************************
**********************************************
Algebraicas a algorítmicas (II)
**********************************************
Convertir expresiones algebraicas en expresiones algorítmicas.
*/
#include<iostream>
#include<cmath>
using namespace std;
int main(){
/*
Ojo con el orden de los paréntesis, ejercicio corregido ; )
*/
double a,b,c,d,z;
a=3;
b=2;
c=-4;
d=9;
z=2.5;
cout << "a^3+b^-1 = " << pow(a,3)+pow(b,-1) << endl;
cout << "c* d/z/2 - d/c * z = " << (c*d/z/2)-(d/c*z) << endl;
cout << "2a+b/c*d = " << ((2*a)+b)/(c*d) << endl;
cout << "a+((2*b)/(c+d))+d/3 = " << a+((2*b)/(c+d))+d/3 << endl;
cout << "(b^1/3)+2*a^3 = " << pow(b,1/3)+(2*pow(a,3)) << endl;
cout << "(a+(b*c))^1/3 = " << pow((a+b*c),1/3) << endl;
system("PAUSE");
}
03)
/*
Tony Del Pino Gz
tonydelpinogz@gmail.com
PRÁCTICA 2. TIPOS DE DATOS SIMPLES E IDENTIFICADORES
**********************************************
Algebraicas a algorítmicas (III)
**********************************************
**********************************************
Algebraicas a algorítmicas (III)
**********************************************
Convertir expresiones algebraicas en expresiones algorítmicas.
*/
#include<iostream>
#include<cmath>
using namespace std;
int main(){
/*
Cuando la expresión contiene algún operador lógico, no se puede
realizar directamente en el "cout", se debe guardar en variable bool.
Booleanos condicionales, el resultado:
1 es equivalente a verdadero
0 es equivalente a falso.
OJO con las funciones pow tienen que estar rerpresentadas en decimal
*/
bool a,b,c,d,e;
a = (25*3-8)<(100-50/2);
b = ((3+5*8)<3) && ((-6/3-1)*2<2);
c = 3*5<7*2 && 15/3>=2;
d = pow(9.0,(1/3) + pow(4.0,2) >57 % 4 || 25*2-3<50);
e = !(15>2 || 7<4);
cout << "4+6/2+13*2-5 = " << 4+6/2+13*2-5 << endl;
cout << "(37-5)/(46/12) = " << (37-5)/(46/12) << endl;
cout << "5^2+12*(6/3) = " << pow(5.0,2)+12*(6/3) << endl;
cout << "(3*10 resto 3)+25 = " << (3*(10%3))+25 << endl;
cout << "25*3-8 < 100-50/2 = " << a << endl;
cout << "(3+5*8) < 3 y ((-6/3-1)*2 < 2) =" << b << endl;
cout << "3*5 < 7*2 y 15/3 >= 2 =" << c << endl;
cout << "(raíz de 9)+4^2 > 57 resto 4 ó 25*2-3 < 50 = " << d << endl;
cout << "no(15>2 ó 7 < 4) = " << e << endl;
system("PAUSE");
}
04)
/*
Tony Del Pino Gz
tonydelpinogz@gmail.com
PRÁCTICA 2. TIPOS DE DATOS SIMPLES E IDENTIFICADORES
**********************************************
Calcular porcentajes (I)
**********************************************
**********************************************
Calcular porcentajes (I)
**********************************************
En una asignatura de la carrera la práctica vale el 60% de la nota y la
teoría el 40%. Calcula la nota del alumno.
*/
#include<iostream>
using namespace std;
int main(){
float porcentajeTeoria;
float porcentajePractica;
float notaTeoria;
float notaPractica;
float resultado;
porcentajePractica = 0.60;
porcentajeTeoria = 0.40;
cout << "Introduce nota teórica: ";
cin >> notaTeoria;
cout << "Introduce nota práctica: ";
cin >> notaPractica;
resultado = notaTeoria*porcentajeTeoria + notaPractica*porcentajePractica;
cout << "Nota: " << resultado << endl;
system("PAUSE");
}
05)
/*
Tony Del Pino Gz
tonydelpinogz@gmail.com
PRÁCTICA 2. TIPOS DE DATOS SIMPLES E IDENTIFICADORES
**********************************************
Calcular porcentajes (II)
**********************************************
**********************************************
Calcular porcentajes (II)
**********************************************
Modifica el programa anterior (04.cpp): ahora en lugar de una sola nota de teoría hay
dos examenes que valen cada uno un 50% de la nota. Los exámenes son de 10
preguntas de tipo test y por tanto no tienen decimales. Y las prácticas ya
no se evalúan. Declara las variables que consideres oportunas, dándoles
nombres significativos (elimina o cambia las que ya no necesites).
*/
#include<iostream>
using namespace std;
int main(){
int primerNota,segundaNota,resultado;
cout << "Introduce tu primer nota teórica: ";
cin >> primerNota;
cout << endl;
cout << "Introduce tu segunda nota teórica: ";
cin >> segundaNota;
cout << endl;
resultado = 0.5*primerNota + 0.5*segundaNota;
cout << "Nota: " << resultado << endl;
system("PAUSE");
}
06)
/*
Tony Del Pino Gz
tonydelpinogz@gmail.com
PRÁCTICA 2. TIPOS DE DATOS SIMPLES E IDENTIFICADORES
**********************************************
Celsius a Fahrenheit
**********************************************
**********************************************
Celsius a Fahrenheit
**********************************************
Realiza un programa que convierta grados Celsius a Fahrenheit. El programa
debe solicitar la cantidad de grados Celsius y mostrar la conversión a
Fahrenheit. La conversión se realiza mediante la fórmula:
Fahrenheit=9/5*Celsius+32
*/
#include<iostream>
using namespace std;
int main(){
float celsius,fahrenheit;
cout << "Introduce la cantidad en grados Celsius:" << endl;
cin >> celsius;
fahrenheit = (9/5)*celsius+32;
cout << "En fahrenheit: " << fahrenheit << endl;
system("PAUSE");
}
07)
/*
Tony Del Pino Gz
tonydelpinogz@gmail.com
PRÁCTICA 2. TIPOS DE DATOS SIMPLES E IODENTIFICADORES
**********************************************
Ecuación de segundo grado
**********************************************
**********************************************
Ecuación de segundo grado
**********************************************
Realiza un programa en C que muestre el resultado de una ecuación de
segundo grado (ax^2+bx=c). Por tanto, debe pedir al usuario los valores
de a,b y c y mostrar las dos posibles soluciones.
x=-b+ raíz cuadrada de(b^2 - 4ac)/2a
x=-b- raíz cuadrada de(b^2 - 4ac)/2a
OBSERVACIÓN:
La potencia pow(...,1/2), donde 1/2 es entero y siempre se elevaría a 0
por lo tanto tiene que ser un número real, pow(...,1.0/2.0)
y float habrá que sustituirlo por double para evitar fallo de compilación
*/
#include<iostream>
#include<cmath>
using namespace std;
int main(){
double a,b,c,x1,x2;
cout << "Introduce el valor de A: ";
cin >> a;
cout << "Introduce el valor de B: ";
cin >> b;
cout << "Introduce el valor de C: ";
cin >> c;
x1= (-b+(pow(pow(b,2)-(-4*a*c),1.0/2.0)))/(2*a);
x2= (-b-(pow(pow(b,2)-(-4*a*c),1.0/2.0)))/(2*a);
cout << "X1= " << x1 << endl;
cout << "X2= " << x2 << endl;
system("PAUSE");
}
No hay comentarios:
Publicar un comentario