Algoritmos y Estructura de Datos

10
ALGORITMOS FASE II ALGORITMOS Y ESTRUCTURAS DE DATOS ACTIVIDAD INDIVIDUAL VIANNEY FAVIAN MARIÑO JULIO PRESENTADO A: ERNESTO ORLANDO PARRA CAÑON TUTOR DEL CURSO GRUPO: 301303_151 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA BARRANQUILLA, 04 DE OCTUBRE DEL 2015

description

Cada uno de los integrantes de grupo deberá realizar por lo menos 10 de los siguientes ejercicios propuestos además de pasar en algoritmos los ejercicios realizados como diagramas den la fase anterior (20 en total) ,Estos ejercicios se deben desarrollar con la utilización del software Pseint, dispuesto en el material de la segunda unidad (entorno Conocimiento)NOTA: al inicio de cada ejercicio y como comentario debe incluir la siguiente información. En caso de no ser anexado el ejercicio no se revisa.

Transcript of Algoritmos y Estructura de Datos

Page 1: Algoritmos y Estructura de Datos

ALGORITMOS FASE II ALGORITMOS Y ESTRUCTURAS DE DATOS

ACTIVIDAD INDIVIDUAL

VIANNEY FAVIAN MARIÑO JULIO

PRESENTADO A:

ERNESTO ORLANDO PARRA CAÑON

TUTOR DEL CURSO

GRUPO: 301303_151

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

BARRANQUILLA, 04 DE OCTUBRE DEL 2015

Page 2: Algoritmos y Estructura de Datos

2. Es necesario realizar un algoritmo que funcione como una calculadora con las 4 funciones básicas (opcional puede incluir otra función). El algoritmo termia y entrega el resultado al presionar la tecla “=” Diagrama pseint

Pantalla de ejecución del programa

Page 3: Algoritmos y Estructura de Datos

Comentario o análisis de la ejecución del programa

Proceso CALCULADORA

Escribir 'calculadora con las 4 funciones básicas' ; mensaje para ambientar al usuario

Escribir 'Ingrese el primer número ; ingresa primera variable

Leer num1 ; guarda variable

Escribir 'Ingrese el segundo número' ; ingresa segunda variable

Leer num2 ; guarda variable

Repetir ; repite el mensaje hasta que se presione =

Escribir 'Presione = para conocer el resultado'

Leer igual

Hasta Que igual='='

Si num2=0 Entonces ; división por cero

Escribir 'La division es indeterminada !!no es posible dividir por cero'

Sino ; muestra el resultado de la división

Escribir 'La division es igual a ',num1/num2

FinSi

Escribir 'La Suma es igual a ',num1+num2 ; muestra los resultados

Escribir 'La resta es igual a ',num1-num2

Escribir 'La Multiplicación es igual a ',num1*num2

FinProceso ; fin

3. Se requiere que solo con la utilización de ciclos y condicionales, usted pueda convertir un número decimal < a 5000 a número Romano Diagrama pseint

Page 4: Algoritmos y Estructura de Datos
Page 5: Algoritmos y Estructura de Datos

Pantalla de ejecución del programa

Comentario o análisis de la ejecución del programa

Proceso conversor_Decimal_a_Romano Escribir 'Este programa convierte números decimales a romanos menores a 5000' ; mensaje para ambientar al usuario

Escribir 'ingrese el numero decimal que desea convertir' Leer numero ; guarda variable

sepuedeconvertir<-Verdadero Si numero=0 Entonces Escribir 'No existe ningún símbolo para representar el CERO en sistema numérico Romano' sepuedeconvertir<-Falso FinSi Si numero<>trunc(numero) Entonces Escribir 'Se convierte números enteros' sepuedeconvertir<-Falso FinSi Si numero>5000 Entonces Escribir 'El número es mayor a 5000' sepuedeconvertir<-Falso FinSi Si numero<0 Entonces Escribir 'El número entero debe ser positivo' sepuedeconvertir<-Falso FinS ; se garantiza que el número cumpla las condiciones para ser convertido Si sepuedeconvertir Entonces Si numero=5000 Entonces Escribir '_' Escribir 'V' Sino Dimension nu(10),nd(10),nc(10),num(10) nu(1)<-('') nu(2)<-('I') nu(3)<-('II')

Page 6: Algoritmos y Estructura de Datos

nu(4)<-('III') nu(5)<-('IV') nu(6)<-('V') nu(7)<-('VI') nu(8)<-('VII') nu(9)<-('VIII') nu(10)<-('IX') nd(1)<-('') nd(2)<-('X') nd(3)<-('XX') nd(4)<-('XXX') nd(5)<-('XL') nd(6)<-('L') nd(7)<-('LX') nd(8)<-('LXX') nd(9)<-('LXXX') nd(10)<-('XC') nc(1)<-('') nc(2)<-('C') nc(3)<-('CC') nc(4)<-('CCC') nc(5)<-('CD') nc(6)<-('D') nc(7)<-('DC') nc(8)<-('DCC') nc(9)<-('DCCC') nc(10)<-('CM') num(1)<-('') num(2)<-('M') num(3)<-('MM') num(4)<-('MMM') num(5)<-('IV') ; se realiza la equivalencia para cada número

unidadesdemil<-trunc(numero/1000) MOD 10 centenas<-trunc(numero/100) MOD 10 decenas<-trunc(numero/10) MOD 10 unidades<-numero MOD 10 ; se verifica si esté en decenas centenas o unidades Si numero>=4000 Entonces Escribir '__' num(1)<-('') num(2)<-('M') num(3)<-('MM') num(4)<-('MMM') num(5)<-('IV') ;para números mayores o iguales a 4000 FinSi Escribir num(unidadesdemil+1),nc(centenas+1),nd(decenas+1),nu(unidades+1) FinSi FinSi FinProceso

Page 7: Algoritmos y Estructura de Datos

4. Debe desarrollar un algoritmo que contenga el siguiente menú

(1) Convertir de Decimal a Binario

(2) Convertir de Decimal a Octal

(3) Convertir de Binario a Decimal

(4) Salir

Diagrama pseint

Pantalla de ejecución del programa

Page 8: Algoritmos y Estructura de Datos

Comentario o análisis de la ejecución del programa

Proceso Conversor_Sistema_numérico

Repetir

Escribir (1),' Convertir de Decimal a Binario'

Escribir (2),' Convertir de Decimal a Octal'

Escribir (3),' Convertir de Binario a Decimal'

Escribir (4),' Salir'

Leer Menu

Si Menu=1 Entonces

Escribir 'Ingrese número decimal para convertirlo a

binario'

Leer x

Si x>0 Entonces

c<-x

i<-1

bin<-0

Mientras c<>1 Hacer

bin<-bin+(c MOD 2)*i

c<-trunc(c/2)

i<-i*10

FinMientras

bin<-bin+(c MOD 2)*i

Escribir 'El número en binario es ',bin

Escribir

'*******************************************************'

Escribir 'ingrese la conversión que desea realizar'

FinSi

Sino

Si Menu=2 Entonces

Escribir 'Digite número decimal'

Leer dec

oct<-0

i<-0

Page 9: Algoritmos y Estructura de Datos

Repetir

r<-dec MOD 8

oct<-oct+10^i*r

i<-i+1

dec<-trunc(dec/8)

Hasta Que dec<8

res<-oct+10^i*dec

Escribir 'El número en Octal es ',res

Escribir

'*******************************************************'

Escribir 'ingrese la conversión que desea realizar'

Sino

Si Menu=3 Entonces

Escribir 'Ingrese Número Binario para

convertirlo en decimal'

Leer num

Mientras num>0 Hacer

Si num>0 Entonces

coci<-num

re<-1

decimal<-0

Mientras coci<>1 Hacer

decimal<-

decimal+(coci MOD 10)*re

coci<-trunc(coci/10)

re<-(re*2)

FinMientras

decimal<-decimal+((coci

MOD 10)*re)

Escribir 'el número en

decimal es ',decimal

Escribir

'*******************************************************'

Escribir 'ingrese la

conversión que desea realizar'

Page 10: Algoritmos y Estructura de Datos

FinSi

num<--1

FinMientras

FinSi

FinSi

FinSi

Hasta Que Menu=4

FinProceso