1. Realizar un programa que simule una calculadora que haga las siguientes operaciones: a. b. c. d. e. f. g. Sumar 2 números. Restar 2 números. Multiplicar 2 números. Dividir 2 números. Se debe comprobar que el segundo número sea distinto de 0. Hallar la raíz cuadrada de un número. Se debe comprobar que el número es positivo o 0. Hallar el seno de un número. Hallar la tangente del número. Utiliza funciones y la librería math.h para las funciones matemáticas. Inicio Ej1 Real num_a, num_b, resultado Entero operacion, kk operacion=Pedir_Operacion() Si (operacion>5) Entonces num_a=Pedir() sino num_a=Pedir() num_b=Pedir() Fin si Segun Operacion Hacer 1:resultado=Sumar(num_a, num_b) 2:resultado=Restar(num_a, num_b) 3:resultado=Multiplicar(num_a, num_b) 4:resultado=Dividir(num_a, num_b) 5:resultado=Raiz(num_a) 6:resultado=Seno(num_a) 7:resultado=Tangente(num_a) Fin segun kk=Mostrar(resultado) Fin Ej1 Funcion Real Pedir() Real valor Escribir "Introduzca un valor : " Leer valor Devolver valor Fin Funcion Pedir Funcion Entero Pedir_Operacion() Entero kk Escribir "Que Quiere hacer? " Escribir "1. Sumar" Escribir "2. Restar" Escribir "3. Multiplicar" Escribir "4. Dividir" Escribir "5. Raiz" Escribir "6. Seno" Escribir "7. Tangente Escribir" Elija opción : " Leer kk Devolver kk Fin Funcion Pedir_Operacion Funcion Real Sumar(Real num_a, Real num_b) Devolver num_a+num_b Fin Funcion Sumar Funcion Real Restar(Real num_a, Real num_b) Devolver num_a-num_b Fin Funcion Restar Funcion Real Multiplicar(Real num_a, Real num_b) Devolver num_a*num_b Fin Funcion Multiplicar Funcion Real Dividir(Real num_a, Real num_b) Si (num_b=0) Entonces Escribir "No se puede dividir por ser el dividendo 0" Devolver 0 Sino Devolver num_a/num_b Fin si Fin Funcion Dividir Funcion Real Raiz(Real num_a) /* Funcion en C que devuelve la raiz. */ Si (num_a<0) Entonces Escribir "No se puede dividir por ser el dividendo 0" Devolver 0 sino Devolver RaizCuadrada(num_a) Fin Funcion Raiz Funcion Real Seno(Real num_a) /* Funcion en C que devuelve el seno. */ Devolver Sin(num_a) Fin Funcion Seno Funcion Real Tangente(Real num_a) /* Funcion en C que devuelve la tangente. */ Devolver Tan(num_a) Fin Funcion Tangente Funcion Entero Mostrar(real numero) Escribir "El resultado es : ", numero Fin Entero Mostrar ---------------------------------------------------------------------------------------------- #include <stdio.h> #include <conio.h> #include <math.h> float Pedir(); int Pedir_Operacion(); float Sumar(float num_a, float num_b); float Restar(float num_a, float num_b); float Multiplicar(float num_a, float num_b); float Dividir(float num_a, float num_b); float Raiz(float num_a); float Seno (float num_a); float Tangente (float num_a); int Mostrar(float numero); void main() { float num_a, num_b, resultado; int operacion, kk; operacion=Pedir_Operacion(); if (operacion>5) num_a=Pedir(); else { num_a=Pedir(); num_b=Pedir(); } switch (operacion) { case 1:resultado=Sumar(num_a, num_b);break; case 2:resultado=Restar(num_a, num_b);break; case 3:resultado=Multiplicar(num_a, num_b);break; case 4:resultado=Dividir(num_a, num_b);break; case 5:resultado=Raiz(num_a);break; case 6:resultado=Seno(num_a);break; case 7:resultado=Tangente(num_a);break; default:break; } kk=Mostrar(resultado); getch(); } float Pedir() { float valor; printf("Introduzca un valor : "); scanf("%f",&valor); return valor; } int Pedir_Operacion() { int kk; printf("Que quiere hacer?\n\n"); printf("1. Sumar\n"); printf("2. Restar\n"); printf("3. Multiplicar\n"); printf("4. Dividir\n"); printf("5. Raiz\n"); printf("6. Seno\n"); printf("7. Tangente\n\n"); printf("Elija opcion : "); scanf("%d",&kk); return kk; } float Sumar(float num_a, float num_b) { return num_a+num_b; } float Restar(float num_a, float num_b) { return num_a-num_b; } float Multiplicar(float num_a, float num_b) { return num_a*num_b; } float Dividir(float num_a, float num_b) { if (num_b==0) { printf("No se puede dividir por ser el dividendo 0"); return 0; } else return num_a/num_b; } float Raiz(float num_a) { if (num_a<0) { printf("No se puede hallar la raiz de un numero negativo."); return 0; } else return sqrt(num_a); } float Seno (float num_a) { return sin(num_a); } float Tangente (float num_a) { return tan(num_a); } int Mostrar(float numero) { printf("El resultado es : %2.f", numero); return 0; } 2. Realiza un programa que pida una palabra y determine cuantas vocales tiene. Utiliza funciones. Inicio Ej2 Ristra palabra Entero num_vocales, kk palabra=Pide_Palabra() num_vocales=CuentaVocales(palabra) kk=Mostrar(num_vocales, palabra) Fin Ej2 Funcion Ristra Pide_Palabra() Ristra Pal Escribir "Introduzca una palabra : " Leer Pal Devolver Pal Fin Funcion Pide_Palabra() Funcion Entero CuentaVocales(Ristra palabra) Entero kk, i, num, vocal vocal=0 // numeroletras es una funcion en C que devuelve la longitud de palabra. num=numeroletras(palabra) Para i desde 1 hasta num hacer // AMinuscula es la funcion tolower de C que pasa a minusculas el caracter. // La funcion Caracter es de C que devuelve la letra que ocupa la posición i. Si ((AMinuscula(Caracter(palabra, i,1))='a') o (AMinuscula(Caracter(palabra, i,1))='e') o (AMinuscula(Caracter(palabra, i,1))='i') o (AMinuscula(Caracter(palabra, i,1))='o') o (AMinuscula(Caracter(palabra, i,1))='u')) vocal=vocal+1 Fin si Fin Para Devolver vocal Fin Funcion CuentaVocales Funcion Entero Mostrar(Entero num_Vocales, Ristra palabra) Escribir "La palabra "+palabra+" tiene "+num_vocales+" vocales." Devolver 1 Fin Funcion Mostrar --------------------------------------------------------------------------------------------- #include <stdio.h> #include <conio.h> #include <ctype.h> #include <string.h> int Pide_Palabra(char palabra[30]); int CuentaVocales(char palabra[30]); int Mostrar(int num_Vocales, char palabra[30]); void main() { char palabra[30]; int num_vocales, kk; kk=Pide_Palabra(palabra); num_vocales=CuentaVocales(palabra); kk=Mostrar(num_vocales, palabra); getch(); } int Pide_Palabra(char palabra[30]) { printf("Introduzca una palabra : "); scanf("%s",palabra); return 1; } int CuentaVocales(char palabra[30]) { int kk, i, num, vocal; vocal=0; num=strlen(palabra); for (i=1;i<num+1;i++) { if ((tolower(palabra[i-1])=='a') || (tolower(palabra[i-1])=='e') || (tolower(palabra[i-1])=='i') || (tolower(palabra[i-1])=='o') || (tolower(palabra[i-1])=='u')) vocal++; } return vocal; } int Mostrar(int num_Vocales, char palabra[30]) { printf("\nLa palabra %s tiene %d vocales.\n",palabra, num_Vocales); return 1; } 3. Pide 5 palabras, almacénalas en un vector y determina cuántas de ellas acaban en consonante. Inicio Ej3 Ristra v[5], palabra Entero i, kk, Cont Cont=0 kk=InicializarVectordeRistras(v) kk=PedirPalabrasaRistras(v) Para i desde 0 hasta 4 hacer Si UltimaLetraEsConsonante(v[i]) Entonces Cont=Cont+1 Fin Si Fin Para kk=Mostrar(Cont) Fin Ej3 Funcion Entero InicializarVectordeRistras(Ristra v[]) Entero i Para i desde 0 hasta 4 hacer v[i]=' ' Fin Para Fin Funcion InicializarVectordeRistras Funcion Entero PedirPalabrasaRistras(Ristra v[]) Entero i Ristra palabra Para i desde 0 hasta 4 hacer Leer palabra v[i]=palabra Fin Funcion PedirPalabrasaRistras Funcion Logica UltimaLetraEsConsonante(Ristra a) Entero long // Longitud es la funcion strlen de C que determina la longitud de una palabra. long=Longitud(a) // AMinuscula es la funcion tolower de C que pasa a minusculas el caracter. // La funcion Caracter es de C que devuelve la letra que ocupa la posición i. Si ((AMinusculas(Caracter(a,long,1)<>'a')) Y (AMinusculas(Caracter(a,long,1)<>'e')) Y (AMinusculas(Caracter(a,long,1)<>'i')) Y (AMinusculas(Caracter(a,long,1)<>'o')) Y (AMinusculas(Caracter(a,long,1)<>'u'))) Entonces Devolver Verdadero Sino Devolver Falso Finsi Fin Funcion UltimaLetraEsConsonante Funcion Entero Mostrar(Entero Cont) Escribir "Hay "+Cont+" palabras que acaban en consonante" Fin Funcion Mostrar -------------------------------------------------------------------------------------------- #include <stdio.h> #include <ctype.h> #include <conio.h> #include <string.h> int InicializarVectordeRistras(char v[5][30]); int PedirPalabrasaRistras(char v[5][30]); int UltimaLetraEsConsonante(char a[30]); int Mostrar(int cont); void main() { char v[5][30], palabra[30]; int i, kk, Cont; Cont=0; kk=InicializarVectordeRistras(v); kk=PedirPalabrasaRistras(v); for (i=0;i<5;i++) { if (UltimaLetraEsConsonante(v[i])) { Cont++; } } kk=Mostrar(Cont); getch(); } int InicializarVectordeRistras(char v[5][30]) { int i; for (i=0;i<5;i++) { v[i][0]='\0'; } return 1; } int PedirPalabrasaRistras(char v[5][30]) { int i; char palabra[30]; for (i=0;i<5;i++) { printf("\nIntroduzca la palabra %d : ",i+1); scanf("%s",v[i]); } return 1; } int UltimaLetraEsConsonante(char a[30]) { int lon, i; lon=strlen(a); i=0; while (a[i]!='\0') i++; printf("\n");printf("%c ",tolower(a[i-1])); if ((tolower(a[i-1])!='a') && (tolower(a[i-1])!='e') && (tolower(a[i-1])!='i') && (tolower(a[i-1])!='o') && (tolower(a[i-1])!='u')) { return 1; } else { return 0; } } int Mostrar(int cont) { printf("\n\nHay %d palabras que acaban en consonante", cont); return 1; }