programacion para ingenieros - algoritmos
DESCRIPTION
DESARROLLO DE EJERCICIOSTRANSCRIPT
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
1 PROGRAMACIÓN PARA INGENIEROS
ÍNDICE
SOLUCIÓN DE EJERCICIOS .................................................................................................................. 2
EJERCICIO 01: ......................................................................................................................... 2
VARIABLES UTILIZADAS ......................................................................................................... 2
PSEUDOCÓDIGO .................................................................................................................... 2
DIAGRAMA DE FLUJO ............................................................................................................ 3
DIAGRAMA NASSI SCHENEIDERMAN .................................................................................... 3
CODIGO C++ .......................................................................................................................... 4
EJERCICIO 02: ......................................................................................................................... 5
VARIABLES UTILIZADAS ......................................................................................................... 5
PSEUDOCÓDIGO .................................................................................................................... 5
DIAGRAMA DE FLUJO ............................................................................................................ 6
DIAGRAMA NASSI SCHENEIDERMAN .................................................................................... 8
CODIGO C++ .......................................................................................................................... 9
EJERCICIO 03: ....................................................................................................................... 10
VARIABLES UTILIZADAS ....................................................................................................... 10
PSEUDOCÓDIGO .................................................................................................................. 10
DIAGRAMA DE FLUJO .......................................................................................................... 12
DIAGRAMA NASSI SCHENEIDERMAN .................................................................................. 14
CODIGO C++ ........................................................................................................................ 15
EJERCICIO 04: ....................................................................................................................... 17
VARIABLES UTILIZADAS ....................................................................................................... 17
PSEUDOCÓDIGO .................................................................................................................. 17
DIAGRAMA DE FLUJO .......................................................................................................... 17
DIAGRAMA NASSI SCHENEIDERMAN .................................................................................. 18
CODIGO C++ ........................................................................................................................ 19
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
2 PROGRAMACIÓN PARA INGENIEROS
SOLUCIÓN DE EJERCICIOS
EJERCICIO 01:
Escribir un programa que diga si un número es primo o no.
VARIABLES UTILIZADAS
DATOS IDENTIFICADOR ENTRADA
Número ingresado. numero INTERMEDIA
Contador de residuos iguales a 0. m SALIDA
Frase si es un número primo o no. “Frase”
PSEUDOCÓDIGO Proceso Ejercicio01 Leer numero Si numero>0 Entonces Si numero=1 Entonces Escribir 'El numero ingresado es un numero primo' Sino m<-0 Para i<-1 Hasta numero Hacer Si numero MOD i=0 Entonces m<-m+1 FinSi FinPara Si m=2 Entonces Escribir 'El número ingresado es numero primo' Sino Escribir 'El numero ingresado no es un numero primo' FinSi FinSi Sino Escribir "El numero ingresado no es un número primo" FinSi FinProceso
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
3 PROGRAMACIÓN PARA INGENIEROS
DIAGRAMA DE FLUJO
DIAGRAMA NASSI SCHENEIDERMAN
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
4 PROGRAMACIÓN PARA INGENIEROS
CODIGO C++ #include<iostream> using namespace std; int main() { int numero; int m; int i; cout<<"PROGRAMA PARA DETERMINAR NUMEROS PRIMOS"<<endl; cout<<"Ingresar el numero: "; cin>>numero; if (numero>0) { if (numero==1) { cout<<"El numero ingresado es un numero primo"<<endl; } else { m=0; for (i=1;i<=numero;i++) { if (numero%i==0) { m=m+1; } } if (m==2) { cout<<"El número ingresado es numero primo"<<endl; } else { cout<<"El numero ingresado no es un numero primo"<<endl; } } } else { cout<<"El numero ingresado no es un número primo"<<endl; } return 0; } #include<iostream> #include<math.h> using namespace std;
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
5 PROGRAMACIÓN PARA INGENIEROS
EJERCICIO 02:
Escribir un programa que lea las edades de un grupo de personas hasta que se
introduce un número negativo y calcule:
La edad media.
La edad máxima.
La edad mínima.
El número de personas que están jubiladas.
Cuántos son menores de edad.
VARIABLES UTILIZADAS
DATOS IDENTIFICADOR ENTRADA
Edades de las personas. edad INTERMEDIAS
Suma de edades. sumaedad Contador del número de personas. contper
SALIDA Edad media. edadmed Edad mínima. edadmin Edad máxima. edadmax Número de jubilados. contjub Número de menores de edad. contmenedad
PSEUDOCÓDIGO Proceso Inicio sumaedad<-0 contper<-0 contmenedad=0 contjub=0 edadmax=0 edadmin=150 Leer edad Mientras edad>0 Hacer sumaedad<-sumaedad+edad contper<-contper+1 Si edad<18 Entonces contmenedad=contmenedad+1 FinSi
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
6 PROGRAMACIÓN PARA INGENIEROS
Si edad>=65 Entonces contjub=contjub+1 FinSi Si edad>edadmax Entonces edadmax=edad FinSi Si edad<edadmin Entonces edadmin=edad FinSi Leer edad FinMientras Si contper>0 Entonces edadmed<-sumaedad/contper Escribir edadmed Escribir edadmin Escribir edadmax Escribir contjub Escribir contmenedad Sino Escribir 'No hay ninguna persona' FinSi FinProceso
DIAGRAMA DE FLUJO
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
7 PROGRAMACIÓN PARA INGENIEROS
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
8 PROGRAMACIÓN PARA INGENIEROS
DIAGRAMA NASSI SCHENEIDERMAN
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
9 PROGRAMACIÓN PARA INGENIEROS
CODIGO C++
#include<iostream> using namespace std; int main() { int contjub; int contmenedad; int contper; int edad; int edadmax; float edadmed; int edadmin; int sumaedad; sumaedad=0; contper=0; contmenedad=0; contjub=0; edadmax=0; edadmin=150; cout<<"PROGRAMA PARA SACAR LA EDAD MEDIA DE PRESONAS, EDAD MAXIMA Y MINIMA, NUMERO DE JUBILADOS Y MENORES DE EDAD"<<endl; cout<<"Ingresar la edad de la persona 1: "; cin>>edad; while (edad>0) { sumaedad=sumaedad+edad; contper=contper+1; if (edad<18) { contmenedad=contmenedad+1; } if (edad>=65) { contjub=contjub+1; } if (edad>edadmax) { edadmax=edad; } if (edad<edadmin) { edadmin=edad; } cout<<"Ingresar la edad de la persona "<<contper+1<<": "; cin>>edad; } if (contper>0) { edadmed=sumaedad/contper; cout<<"La edad media es: "<<edadmed<<endl; cout<<"La edad minima es: "<<edadmin<<endl; cout<<"La edad maxima es: "<<edadmax<<endl; cout<<"El numero de jubilados es: "<<contjub<<endl;
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
10 PROGRAMACIÓN PARA INGENIEROS
cout<<"El numero de menores de edad es: "<<contmenedad<<endl; } else { cout<<"No hay ninguna persona"<<endl; } return 0; }
EJERCICIO 03:
Se dispone de los datos sobre las edades y coeficientes de inteligencia (CI) de los
hijos de varias familias. El siguiente programa debe lee el número de familias y para
cada familia lea el número de hijos así como la edad y el CI de cada hijo, y calcula:
El número máximo, mínimo y promedio de hijos por familia.
El CI máximo, mínimo y promedio de todos los hijos.
El CI promedio de los hijos menores de 6 años.
El CI promedio de los hijos mayores de 6 años.
VARIABLES UTILIZADAS
DATOS IDENTIFICADOR ENTRADA
Cantidad de familias, Número de hijos, Edad y CI de hijo numfam, numhij,
edad, coef SALIDA
El número máximo, mínimo y promedio de hijos por familia
max, min, cant/numfam
El CI máximo, mínimo y promedio de todos los hijos. cimax, cimin, cantcoef/cant
El CI promedio de los hijos menores de 6 años. cihijmay/chmay El CI promedio de los hijos mayores de 6 años. cihijmen/chmen
PSEUDOCÓDIGO Proceso Inicio Escribir 'Ingrese cantidad de familias' Leer numfam Escribir '_________________________________________________________________' f<-1 h<-1 max<-0 min<-10000 cant<-0
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
11 PROGRAMACIÓN PARA INGENIEROS
cimax<-0 cimin<-10000 cantcoef<-0 chmay<-0 cihijmay<-0 chmen<-0 cihijmen<-0 Mientras f<=numfam Hacer Escribir 'INGRESE CANTIDAD DE HIJOS DE FAMILIA ',f Leer numhij Escribir '_________________________________________________________________' cant<-cant+numhij Si numhij<min Entonces min<-numhij FinSi Si numhij>max Entonces max<-numhij FinSi Mientras h<=numhij Hacer Escribir 'Edad de hijo ',h,' de familia ',f Leer edad Escribir 'Coef Int de hijo ',h,' de familia ',f Leer coef cantcoef<-cantcoef+coef Si edad>=6 Entonces chmay<-chmay+1 cihijmay<-cihijmay+coef Sino chmen<-chmen+1 cihijmen<-cihijmen+coef FinSi Si coef>cimax Entonces cimax<-coef FinSi Si coef<cimin Entonces cimin<-coef FinSi Escribir '___________________________________________________________' h<-h+1 FinMientras h<-1 f<-f+1 FinMientras Escribir 'El numero máximo de hijos por familia es: ',max Escribir 'El numero mínimo de hijos por familia es: ',min Escribir 'El promedio de hijos por familia es: ',cant/numfam Escribir '_________________________________________________________________' Escribir 'El CI máximo de los hijos es: ',cimax Escribir 'El CI mínimo de los hijos es: ',cimin
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
12 PROGRAMACIÓN PARA INGENIEROS
Escribir 'El CI promedio de los hijos es: ',cantcoef/cant Escribir 'El CI promedio de los hijos mayores o iguales a 6 es: ',cihijmay/chmay Escribir 'El CI promedio de los hijos menores que 6 es: ',cihijmen/chmen FinProceso
DIAGRAMA DE FLUJO
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
13 PROGRAMACIÓN PARA INGENIEROS
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
14 PROGRAMACIÓN PARA INGENIEROS
DIAGRAMA NASSI SCHENEIDERMAN
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
15 PROGRAMACIÓN PARA INGENIEROS
CODIGO C++
#include<iostream> using namespace std; int main() { int cant; int cantcoef; int chmay; int chmen; int cihijmay; int cihijmen; int cimax; int cimin; int coef; int edad; int f; int h; int max; int min; int numfam; int numhij; cout<<"PROGRAMA PARA CALCULAR PARAMETROS SOBRE LAS EDADES Y COEFICIENTES INTELECTUALES DE LOS HIJOS DE LAS FAMILIAS"<<endl; cout<<"Ingrese cantidad de familias"<<endl; cin>>numfam; cout<<"_________________________________________________________________"<<endl; f=1; h=1; max=0; min=10000; cant=0; cimax=0; cimin=10000; cantcoef=0; chmay=0; cihijmay=0; chmen=0; cihijmen=0; while (f<=numfam) { cout<<"INGRESE CANTIDAD DE HIJOS DE FAMILIA "<<f<<endl; cin>>numhij; cout<<"_________________________________________________________________"<<endl; cant=cant+numhij; if (numhij<min) { min=numhij; }
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
16 PROGRAMACIÓN PARA INGENIEROS
if (numhij>max) { max=numhij; } while (h<=numhij) { cout<<"Edad de hijo "<<h<<" de familia "<<f<<endl; cin>>edad; cout<<"Coef Int de hijo "<<h<<" de familia "<<f<<endl; cin>>coef; cantcoef=cantcoef+coef; if (edad>=6) { chmay=chmay+1; cihijmay=cihijmay+coef; } else { chmen=chmen+1; cihijmen=cihijmen+coef; } if (coef>cimax) { cimax=coef; } if (coef<cimin) { cimin=coef; } cout<<"_________________________________________________________________"<<endl; h=h+1; } h=1; f=f+1; } cout<<"El numero máximo de hijos por familia es: "<<max<<endl; cout<<"El numero mínimo de hijos por familia es: "<<min<<endl; cout<<"El promedio de hijos por familia es: "<<cant/numfam<<endl; cout<<"_________________________________________________________________"<<endl; cout<<"El CI máximo de los hijos es: "<<cimax<<endl; cout<<"El CI mínimo de los hijos es: "<<cimin<<endl; cout<<"El CI promedio de los hijos es: "<<cantcoef/cant<<endl; cout<<"El CI promedio de los hijos mayores o iguales a 6 es: "<<cihijmay/chmay<<endl; cout<<"El CI promedio de los hijos menores que 6 es: "<<cihijmen/chmen<<endl; return 0; }
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
17 PROGRAMACIÓN PARA INGENIEROS
EJERCICIO 04:
Lea un número entero y presente la suma de los dígitos pares.
VARIABLES UTILIZADAS
DATOS IDENTIFICADOR ENTRADA
Numero entero num INTERMEDIAS
Residuos de dividir entre 10 dig SALIDA
Suma de dígitos pares. s
PSEUDOCÓDIGO Proceso Inicio Leer num Si num>=0 Entonces s<-0 Mientras num>0 Hacer dig<-num MOD 10 Si dig MOD 2 = 0 Entonces s<-s+dig FinSi num<-trunc(num/10) FinMientras Escribir s Sino Escribir 'El número ingresado no es entero' FinSi FinProceso
DIAGRAMA DE FLUJO
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
18 PROGRAMACIÓN PARA INGENIEROS
DIAGRAMA NASSI SCHENEIDERMAN
ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015
19 PROGRAMACIÓN PARA INGENIEROS
CODIGO C++
int main() { int dig; int num; int s; cout<<"Programa para calcular la suma de los digitos pares de un numero"<<endl; cout<<"Ingrese el numero: "; cin>>num; if (num>=0) { s=0; while (num>0) { dig=num%10; if (dig%2==0) { s=s+dig; } num=floor(num/10); } cout<<"La suma de sus digitos pares es: "<< s; } else { cout<<"El número ingresado no es entero"<<endl; } return 0; } #include<iostream> using namespace std;