Programacion Para Ingenieros - Algoritmos

19
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

description

DESARROLLO DE EJERCICIOS

Transcript of Programacion Para Ingenieros - Algoritmos

Page 1: Programacion Para Ingenieros - Algoritmos

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

Page 2: Programacion Para Ingenieros - Algoritmos

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

Page 3: Programacion Para Ingenieros - Algoritmos

ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015

3 PROGRAMACIÓN PARA INGENIEROS

DIAGRAMA DE FLUJO

DIAGRAMA NASSI SCHENEIDERMAN

Page 4: Programacion Para Ingenieros - Algoritmos

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;

Page 5: Programacion Para Ingenieros - Algoritmos

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

Page 6: Programacion Para Ingenieros - Algoritmos

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

Page 7: Programacion Para Ingenieros - Algoritmos

ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015

7 PROGRAMACIÓN PARA INGENIEROS

Page 8: Programacion Para Ingenieros - Algoritmos

ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015

8 PROGRAMACIÓN PARA INGENIEROS

DIAGRAMA NASSI SCHENEIDERMAN

Page 9: Programacion Para Ingenieros - Algoritmos

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;

Page 10: Programacion Para Ingenieros - Algoritmos

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

Page 11: Programacion Para Ingenieros - Algoritmos

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

Page 12: Programacion Para Ingenieros - Algoritmos

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

Page 13: Programacion Para Ingenieros - Algoritmos

ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015

13 PROGRAMACIÓN PARA INGENIEROS

Page 14: Programacion Para Ingenieros - Algoritmos

ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015

14 PROGRAMACIÓN PARA INGENIEROS

DIAGRAMA NASSI SCHENEIDERMAN

Page 15: Programacion Para Ingenieros - Algoritmos

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; }

Page 16: Programacion Para Ingenieros - Algoritmos

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; }

Page 17: Programacion Para Ingenieros - Algoritmos

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

Page 18: Programacion Para Ingenieros - Algoritmos

ALGORITMOS – EJERCICIOS PROPUESTOS 2 2015

18 PROGRAMACIÓN PARA INGENIEROS

DIAGRAMA NASSI SCHENEIDERMAN

Page 19: Programacion Para Ingenieros - Algoritmos

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;