Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD TÉCNICA DE COTOPAXI LA MANÁ FACULTAD DE CIENCIAS DE LA INGENIERÍA Y APLICADAS CIYA CARRERA DE INGENIERÍA EN SISTEMAS DE LA INFORMACIÓN NOMBRE: RODRÍGUEZ PÁRRAGA YANAHIT NATIVIDAD CICLO: TERCERO “A” ASIGNATURA: LÓGICA DE PROGRAMACIÓN DOCENTE: ING. DORIS KARINA CHICAIZA ANGAMARCA AÑO LECTIVO: 2021 - 2022 EJERCICIOS PROPUESTOS EVALUACIÓN FINAL 1. CREAR UNA MATRIZ DE 3X5 QUE ME PERMITA VISUALIZAR LA MATRIZ COMPLETA, VISUALIZAR LA PRIMERA FILA DE LA MATRIZ Y LA ÚLTIMA FILA DE LA MATRIZ. # include <stdio.h> #include<conio.h> int main (){ /*declarar mi variable*/ int f,c; /*declarar mi matriz*/ int matriz [3][5]; /*ingresar elementos de la matriz*/ for (f=0;f<3;f++){ for(c=0;c<5;c++){ printf("ingresar elemento: "); scanf("%i",&matriz[f][c]); } printf("\n"); } printf("matriz completa \n"); for(f=0;f<3;f++){ for(c=0;c<5;c++){ printf("%i",matriz[f][c]); } printf("\n"); } printf("imprima la primera fila de la matriz:"); for(c=0;c<5;c++){ printf("%i",matriz[0][c]); } printf("\n"); printf(" imprima la Ultima fila de la matriz:"); for(c=0;c<5;c++) { printf("%i",matriz[2][c]); } printf("\n"); } 2. CREAR UNA MATRIZ DE 3X5 QUE ME PERMITA VISUALIZAR LA MATRIZ COMPLETA, VISUALIZAR LA PRIMERA COLUMNA Y LA ÚLTIMA FILA DE LA MATRIZ. # include <stdio.h> #include<conio.h> int main (){ /*declarar mi variable*/ int f,c; /*declarar mi matriz*/ int matriz [3][5]; /*ingresar elementos de la matriz*/ for (f=0;f<3;f++){ for(c=0;c<5;c++){ printf("ingresar elemento: "); scanf("%i",&matriz[f][c]); } printf("\n"); } printf("matriz completa \n"); for(f=0;f<3;f++){ for(c=0;c<5;c++){ printf("%i",matriz[f][c]); } printf("\n"); } printf(" imprima la Primer columna:"); for(f=0;f<3;f++) { printf("%i ",matriz[f][0]); } printf("\n"); printf(" imprima la Ultima fila de la matriz:"); for(c=0;c<5;c++) { printf("%i",matriz[2][c]); } printf("\n"); } 3. PROGRAMA QUE DECLARE UN VECTOR DE DIEZ ELEMENTOS ENTEROS Y PIDA NÚMEROS PARA RELLENARLO HASTA QUE SE LLENE EL VECTOR O SE INTRODUZCA UN NÚMERO NEGATIVO. ENTONCES SE DEBE IMPRIMIR EL VECTOR (SÓLO LOS ELEMENTOS INTRODUCIDOS). #include<iostream> using namespace std; #define SIN_TIPO string int main() { int i; int indice; float valor; SIN_TIPO x[10]; indice = 1; do { cout << "ingrese un valor entero :"; cin >> valor; if (valor>=0) { x[indice] = valor; indice = indice+1; } } while (!(valor<0 || indice>10)); cout << "["; for (i=1;i<=(indice-1);i++) { cout << x[i] << ","; } cout << "]" << endl; return 0; } 4. HACER UN PROGRAMA QUE INICIALICE UN VECTOR DE NÚMEROS CON VALORES ALEATORIOS, Y POSTERIOR ORDENE LOS ELEMENTOS DE MENOR A MAYOR. #include<iostream> using namespace std; int main(){ int vector[50]; int tam, i,j,aux; cout<<"INGRESE EL TAMAÑO DEL VECTOR "; cin>> tam; for(i=0; i<tam;i++) { cout<<"X["<<(i+1)<< "]="; cin>> vector[i]; } for (i=0;i<tam; i++) { for ( j=i+1;j<tam;j++) { if(vector[i]>vector[j]) { aux=vector[i]; vector[i]=vector[j]; vector[j]=aux; } } } cout<<"\n vector ordenado de menor a mayor"; for(i=0;i<tam;i++) { cout<< vector[i]<<","; } } 5. CREAR UNA FUNCIÓN QUE PERMITA VERIFICAR CUÁL DE LOS TRES NÚMEROS INGRESADOS ES EL NÚMERO MAYOR Y MENOR. int menor(int, int, int); int mayor(int, int, int); #include<iostream> using namespace std; int main() { int a,b,c,m,n; cout<<"ingrese tres numeros\n"; cin>>a>>b>>c; m=menor(a,b,c); n=mayor(a,b,c); cout<<"el menor es:"<<m<<endl; cout<<"el mayor es:"<<n<<endl; cin.ignore();return 0; } int menor(int a,int b,int c) { int m; if(a<b) if(a<c) m=a; else m=c; else if(b<c) m=b; else m=c; return m; } int mayor(int a,int b,int c) { int n; if(a>b) if(a>c) n=a; else n=c; else if(b>c) n=b; else n=c; return n; } 6. CREAR UNA FUNCIÓN QUE PERMITA VERIFICAR EL NÚMERO DE CEDULA. #include <iostream> using namespace std; int main(int argc, char** argv) { int cedula,ced,pares,impares,total,dec=0; int a,b,c,d,e,f,g,h,i,j,k; cout<<"Ingrese su cedula: "<<endl; cin>>cedula; ced=cedula; a=cedula/1000000000; cedula=cedula-(a*1000000000); b=cedula/100000000; cedula=cedula-(b*100000000); c=cedula/10000000; cedula=cedula-(c*10000000); d=cedula/1000000; cedula=cedula-(d*1000000); e=cedula/100000; cedula=cedula-(e*100000); f=cedula/10000; cedula=cedula-(f*10000); g=cedula/1000; cedula=cedula-(g*1000); h=cedula/100; cedula=cedula-(h*100); i=cedula/10; cedula=cedula-(i*10); j=cedula/1; cedula=cedula-(j*1); if (cedula>2400000000){ cout<<"Numero de cedula invalido."<<endl; }else{ pares=b+d+f+h; a=a*2; if (a>9){ a=a%10+a/10; } c=c*2; if (c>9){ c=c%10+c/10; } e=e*2; if (e>9){ e=e%10+e/10; } g=g*2; if (g>9){ g=g%10+g/10; } i=i*2; if (i>9){ i=i%10+i/10; } impares=a+c+e+g+i; total=pares+impares; while (dec-total!=j && dec<total+10){ dec=dec+10; } if (dec-total==j){ cout<<"valido"<<endl; }else { cout<<"Cedula erronea"<<endl; } } return 0; } 7. CREAR UNA FUNCIÓN QUE CALCULE EL VALOR DE ELEVAR UN NÚMERO ENTERO A OTRO NÚMERO. USANDO LA ORDEN “FOR”. #include <stdio.h> #include<stdlib.h> int elevarNumero (int base , int exponente){ long resultado = 1; for(int i = 0; i< exponente; i++){ resultado *= base; } return resultado; } int main(){ int base, exponente; printf("ingrese un numero: "); scanf("%i",&base); printf("ingrese el exponente del numero %i: ", base); scanf("%i",&exponente); long exponencial = elevarNumero(base , exponente); printf("%i elevado al exponente%i %i \n ", base, exponente , exponencial); system("pause"); return 0; } 8. ESCRIBE UN PROGRAMA EN C QUE SIMULE UNA PEQUEÑA CALCULADORA QUE IMPLEMENTA LAS SIGUIENTES OPERACIONES: • MULTIPLICACIÓN • SUMA • RESTA • DIVISIÓN • POTENCIA • RAÍZ TODAS LAS OPERACIONES DEBEN SER IMPLEMENTADAS COMO FUNCIONES. LA SELECCIÓN DE LA OPERACIÓN SE REALIZARÁ MEDIANTE UN PEQUEÑO MENÚ DESPLEGADO POR PANTALLA. CADA OPERACIÓN UTILIZARÁ DOS OPERANDOS. #include <stdio.h> #include <stdlib.h> #include <math.h> int suma(int numero1 , int numero2){ return numero1 + numero2; } int resta(int numero1 , int numero2){ return numero1 - numero2; } int multiplicacion(int numero1 , int numero2){ return numero1 * numero2; } float division( float numero1 , float numero2){ return numero1 / numero2; } float potencia( int numero1 , int numero2){ long resultado = 1; for(int i = 0; i< numero2; i++){ resultado *= numero1; } return resultado; } double raiz(int numero1 ){ if(numero1 < 0){ printf("no se puede hallar la raiz de un numero negtivo \n"); } else{ return sqrt(numero1); } } int main(){ int numero1, numero2, opcion,resultado; float resultadoFloat; printf("1. suma \n2. resta \n3. multiplicacion \n4. division \n5. potencia \n6. raiz \n"); printf("opcion... "); scanf("%i",&opcion); switch (opcion) { case 1: printf("ingrese un numero.. "); scanf("%i",&numero1); printf("ingrese un numero.. "); scanf("%i",&numero2); resultado = suma (numero1 , numero2); printf(" %i + %i = %i \n", numero1 , numero2, resultado); break; case 2: printf("ingrese un numero.. "); scanf("%i",&numero1); printf("ingrese un numero.. "); scanf("%i",&numero2); resultado = resta (numero1 , numero2); printf(" %i - %i = %i \n", numero1 , numero2, resultado); break; case 3:printf("ingrese un numero.. "); scanf("%i",&numero1); printf("ingrese un numero.. "); scanf("%i",&numero2); resultado = multiplicacion (numero1 , numero2); printf(" %i x %i = %i \n", numero1 , numero2, resultado); break; case 4: printf("ingrese un numero.. "); scanf("%i",&numero1); printf("ingrese un numero.. "); scanf("%i",&numero2); resultadoFloat = division (numero1 , numero2); printf(" %i / %i = %i \n", numero1 , numero2, resultadoFloat); break; case 5: printf("ingrese un numero.. "); scanf("%i",&numero1); printf("ingrese un numero.. "); scanf("%i",&numero2); resultado = potencia (numero1 , numero2); printf(" %i ^ %i = %i \n", numero1 , numero2, resultado); break; case 6: printf("ingrese un numero.. "); scanf("%i",&numero1); resultado = raiz (numero1); printf(" la raiz de %i = %i \n", numero1 , resultado); break; default: printf("\nopcion incorrecta \n"); break; } system("pause"); return 0; } 9. CREAR UNA FUNCIÓN QUE PERMITA CONVERTIR UN DATO DE ASCCI A DECIMAL Y VICEVERSA. #include<iostream> #include<stdlib.h> using namespace std; int main (){ char a; int i; int op; do{ system("cls"); cout<<"elija una opcion \n:"; cout<<"1- codigo ASCII \n: "; cout<<"2 - ASCII a codigo \n:" ; cout<<"3 - salir \n:"; cin>> op; if (op == 1) { cout<<"introduce el codigo ASCII \n:"; cin>> i; a = i; cout<<"el caracter es:"<<a<<endl; } if (op == 2) { cout<<"introduce el caracter \n:"; cin>> a; i = a; cout <<"el Codigo ASCII es:"<< i <<endl; } system("pause"); }while(op !=3); return 0; } 10. CREAR UNA FUNCIÓN QUE RECIBA UN NÚMERO CUALQUIERA Y QUE DEVUELVA COMO RESULTADO LA SUMA DE SUS DÍGITOS. POR EJEMPLO, SI EL NÚMERO FUERA 123 LA SUMA SERÍA 6. #include <stdio.h> #include<conio.h> int sumaDeSusCifras (int numero) { int suma=0; if (numero < 10) return numero; else { while (numero >= 10) { suma += numero % 10; numero /= 10; } suma += numero; return suma; } } int main() { int num; printf("Escriba un numero entero positivo: \n"); scanf("%d", &num); printf("La suma de las cifras del numero %d es: %d", num, sumaDeSusCifras(num)); return 0; } 11. CREAR UNA MATRIZ DE 3X3. CALCULA LA SUMA DE LOS NÚMEROS DE CADA FILA Y MOSTRAR POR PANTALLA EL NÚMERO DE FILA CON MAYOR SUMA. #include <stdio.h> #include<conio.h> int main () { int m[3][3]; int f,c, sumafila=0, nfila=0, mayorfila=0; for (f=0;f<3;f++) { for (c=0;c<3;c++) { printf ("Introduce el valor de [%i][%i]",f,c); scanf ("%i",&m[f][c]); } printf ("\n## Fila [%i] completada\n",f+1); } printf("matriz completa \n"); for(f=0;f<3;f++){ for(c=0;c<3;c++){ printf("%i",m[f][c]); } printf("\n"); } for (f=0;f<3;f++) { sumafila=0; nfila=f+1; for (c=0;c<3;c++) { sumafila+=m[f][c]; if (sumafila > mayorfila) { mayorfila=sumafila; } } } printf ("\n-----------\n"); printf ("La fila con suma mayor es: %i con resultado %i",nfila,mayorfila); return 0; } 12. CREAR UN VECTOR DE 5 ELEMENTOS DE CADENAS DE CARACTERES, INICIALIZA EL VECTOR CON DATOS LEÍDOS POR EL TECLADO. COPIA LOS ELEMENTOS DEL VECTOR EN OTRO VECTOR PERO EN ORDEN INVERSO, Y MUÉSTRALO POR LA PANTALLA. #include <iostream> #include <string> using namespace std; int main() { string cadenas[5]; string nombre; cout << "\nNombres:\n"; for( int i = 0; i < 5; i++ ){ cout << "(" << i +1 << "/5): "; getline( cin, nombre ); cadenas[i] = nombre; } cout << "\nNombres en orden inverso:\n"; for( int i = 4; i >= 0; i-- ){ cout << cadenas[i] << "\n"; } return 0; } 13. CREAR UNA MATRIZ DE NÚMEROS ENTEROS DE N FILAS Y N COLUMNAS, Y OBTENER LA SUMA LA MATRIZ FORMANDO UNA TERCERA MATRIZ. #include<iostream> using namespace std; int main(){ int m,n; cout<<"Suma de matrices m filas y n colunnas"<<endl; cout<<"Ingrese m:"; cin>>m; cout<<"Ingrese n:"; cin>>n; cout<<"++++++++++++++++"<<endl; int mat1[m][n], mat2[m][n]; cout<<"numeros de filas y numeros de colunnas para la matriz 1"<<endl; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cout<<"Ingrese numero:"; cin>>mat1[i][j]; } } cout<<"\n"; cout<<"+++++++++++"<<endl; cout<<"numeros de filas y numeros de colunnas para la matriz 2"<<endl; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cout<<"Ingrese numero:"; cin>>mat2[i][j]; } } cout<<"\n"; cout<<"La matriz 1 es:"<<endl; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cout<<mat1[i][j]<<" "; } cout<<endl; } cout<<"\n"; cout<<"La matriz dos es:"<<endl; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cout<<mat2[i][j]<<" "; } cout<<endl; } cout<<"\n"; cout<<"La tercera matriz es:"<<endl; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cout<<mat1[i][j]+mat2[i][j]<<""; } cout<<endl; } return 0; } 14. REALIZAR UN PROGRAMA QUE DEFINA UN VECTOR LLAMADO “VECTOR_NUMEROS” DE 10 ENTEROS, A CONTINUACIÓN, LO INICIALICE CON VALORES ALEATORIOS (DEL 1 AL 10) Y POSTERIORMENTE MUESTRE EN PANTALLA CADA ELEMENTO DEL VECTOR JUNTO CON SU CUADRADO Y SU CUBO. #include<iostream> #include<conio.h> using namespace std; int main (){ int i,n[20]; for(i=1;i<=10;i++){ n[i]= i*i; cout<<"el cuadrado de "<<i<<" es:"<<n[i]<<endl; } cout<<"\n"; for(i=1;i<=10;i++){ n[i]= i*i*i; cout<<"el cubo de "<<i<<" es:"<<n[i]<<endl; } getch() ; } 15. SE QUIERE REALIZAR UN PROGRAMA QUE LEA POR TECLADO LAS 5 NOTAS OBTENIDAS POR UN ALUMNO (COMPRENDIDAS ENTRE 0 Y 10). A CONTINUACIÓN, DEBE MOSTRAR TODAS LAS NOTAS, LA NOTA MEDIA, LA NOTA MÁS ALTA QUE HA SACADO Y LA MENOR. #include <iostream> using namespace std; int main(int argc, char *argv[]) { int m,i,j,nota; int prom, mnota, bnota, acum; char codi; cout<<"Ingrese la cantidad de calificaciones: "; cin>>m; int notas[m]; acum = 0; for (i=0; i<m; i++) { cout<<"Ingrese las notas :"<<i+1<<": "; cin>>notas[i]; (acum = acum+notas[i]); } for(i=0; i<m; i++) { for(j=i+1; j<m; j++) { if(notas[j]<notas[i]) { nota=notas[j]; notas[j]=notas[i]; notas[i]=nota; } } } bnota = notas[0]; mnota = notas[m-1]; (prom = acum/m); cout<<"--------------------------"; cout<<endl; cout<<"El promedio total es de: "<<prom; cout<<endl; cout<<"La nota más alta es: "<<mnota; cout<<endl; cout<<"La nota más baja es: "<<bnota; cout<<endl; cout<<"--------------------------"; cout<<endl; return 0; } 16. CREAR UNA MATRIZ DE 2X5, E INTERCAMBIAR ELEMENTOS DE LA PRIMERA FILA Y LA SEGUNDA FILA. #include<stdio.h> #include<stdlib.h> using namespace std; int main(){ const int n=3; int i,j,f1,f2, aux; int A[2][5]; int f,c; for (f=0;f<2;f++){ for (c=0; c<5;c++){ printf("ingrese los valores de la matriz: "); scanf("%i",&A[f][c]); } printf("\n"); } for(f=0;f<2;f++){ for(c=0;c<5;c++){ printf("%i",A[f][c]); } printf("\n"); } printf("favor ingrsar la fila 1 a intercambiar:" ); scanf ("%d", &f1); printf("favor ingrsar la fila 2 a intercambiar:"); scanf ("%d", &f2); for(i=0; i<2; i++){ aux=A[f1-1][i]; A[f1-1][i]=A[f2-1][i]; A[f2-1][i]=aux; } for(i=0 ;i<2;i++){ for(j=0; j<5; j++) printf("%d\t", A[i][j]); printf("\n"); } system("pause"); return 0; } 17. CREAR UNA MATRIZ DE 2X2, E IMPRIMIR LOS VALORES EN DIAGONAL. #include <iostream> #include<conio.h> using namespace std; int main(){ int m[2][2]; int i,j; for(i = 0; i<2; i++){ for(j = 0; j<2; j++){ printf("ingrese los componentes de la matriz \n"); scanf("%i",&m[i][j]); } printf("\n"); } for(i = 0; i<2; i++){ for(j = 0; j<2; j++){ printf("%i",m[i][j]); } printf("\n"); } printf("imprimiendo la diagonal \n"); for( i = 0; i<2;i++){ for(j = 0; j<2; j++){ if(i == j){ printf("%i",m[i][j]); } } printf("\n"); } getch(); return 0; } 18. REALIZAR LA SUMA DE MATRICES CONSIDERANDO: #include<iostream> using namespace std; int main(){ int m,n; cout<<"Suma de matrices mxn"<<endl; cout<<"Ingrese m: "; cin>>m; cout<<"Ingrese n: "; cin>>n; cout<<"***********"<<endl; int mat1[m][n], mat2[m][n]; cout<<"Llenado de matriz 1"<<endl; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cout<<"Ingrese numero: "; cin>>mat1[i][j]; } } cout<<"\n"; cout<<"***********"<<endl; cout<<"Llenado de matriz 2"<<endl; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cout<<"Ingrese numero: "; cin>>mat2[i][j]; } } cout<<"\n"; cout<<"La matriz 1 es: "<<endl; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cout<<mat1[i][j]<<" "; } cout<<endl; } cout<<"\n"; cout<<"La matriz dos es: "<<endl; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cout<<mat2[i][j]<<" "; } cout<<endl; } cout<<"\n"; cout<<"La suma de las dos matrices es:"<<endl; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cout<<mat1[i][j]+mat2[i][j]<<" "; } cout<<endl; } return 0; } 19. REALIZAR LA MULTIPLICACIÓN DE MATRICES CONSIDERANDO: #include <stdio.h> int main() {int m,n,f,c,i,j,k; float A[100][100],B[100][100],C[100][100]; printf("\n"); printf("\n ingrese la fila y columna de la primera matriz\n"); scanf("%d",&m); scanf("%d",&n); printf("\n"); printf("\n ingrese la fila y columna de la segunda matriz\n"); scanf("%d",&f); scanf("%d",&c); printf("\n"); if (n==f) {printf("\n"); printf("ingrese el valor de la primera matriz\n\n"); for (i=1;i<=m;i++) for (j=1;j<=n;j++) { printf("A(%d,%d)= ",i,j); scanf ("%f",&A[i][j]); } printf("\n"); printf("\n"); printf("\n ingrese el valor de la segunda matriz\n\n"); for (i=1;i<=f;i++) for (j=1;j<=c;j++) { printf("B(%d,%d)= ",i,j); scanf ("%f",&B[i][j]); } for (i=1;i<=m;i++) {for (j=1;j<=c;j++) { C[i][j]=0; for (k=1;k<=n;k++) {C[i][j]=C[i][j]+A[i][k]*B[k][j]; } } } printf("\n"); printf("\n la multiplicacion de las matrices es:\n\n"); for (i=1;i<=m;i++) for (j=1;j<=c;j++) { printf("C(%d,%d)=\t%4.2f\n",i,j,C[i][j]); } } else {printf("\n"); printf("Estas matrices no se pueden multiplicar \n"); printf("debido a que el numero de columnas de la\n"); printf("matriz A es diferente al numero de filas\n"); printf("de la matriz B, !Vuelva a intentarlo! \n"); } getchar(); getchar(); }
Compartir