Translate

viernes, 17 de abril de 2015

EJERCICIOS CICLO MIENTRAS (SEMANA 8)

EJERCICIOS RESUELTOS

1. Un profesor desea registrar las notas obtenidas por 20 de sus estudiantes, discriminando si son hombres o mujeres.
Se requiere un programa que capture la nota y el sexo (1 para hombres y 2 para mujeres) y realice un promedio para cada uno de los tipos. Al final debe indicar cuál de los dos (hombres o mujeres) tuvo un mejor desempeño 

 Algoritmo notas

Variables
nota, promedioh, promediom, acumh, acumm: reales
sexo, numest, conth, contm: entero

INICIO
numest=20
i=1 
acumh=0
acumm=0
conth=0
contm=0
MIENTRAS i<=numest
ESCRIBA(“Ingrese la nota y el sexo”)
LEA(nota, sexo)
SI sexo==1
acumh= acumh+ nota
conth=conth+1
DE_LO_CONTRARIO
acumm= acumm+nota
contm=contm+1
Fin(SI)
Fin(MIENTRAS)
Promedioh=acumh/conth
Promediom=acumm/conth
SI promedio>promediom
ESCRIBA(“Los hombres son mejores”)
DE_LO_CONTRARIO
SI promedio > promedioh
ESCRIBA(“Tienen un desempeño igual”)
Fin (SI)
Fin (SI)
FIN
Fin (notas)


2. Un ama de casa requiere comprar 15 productos. Realizar un algoritmo que capture el precio  de cada producto y al final indique cuantos productos costaron menos de 10000 y 10000 o más. Además debe indicar el total de la compra.

Algoritmo precio

Variables
numprod, i, , contmenor, contmayigu: entero
total_compra, precio= reales

INICIO
numprod= 15
i= 1
precio=0
total_compra= 0
contmenor= 0
contmayor= 0
MIENTRAS i<= numprod
ESCRIBA (“ingrese el precio”)
LEA(precio)
total_compra=total_compra+precio
SI precio<10000
contmenor= contmenor +1
i=i+1
DE_LO_CONTRARIO
SI precio>=10000
contmayigu= contmayigu+1
Fin(SI)
Fin (MIENTRAS)
ESCRIBA(“El total de la compra fue de:”,total_compra)
ESCRIBA(“El numero de productos con precio mayor o igual a 10000 es de:”, contmayigu)
ESCRIBA(“El numero de productos con precio menor a 10000 es de:”, contmenor)
FIN
Fin(precio)


3. Elabore un programa que imprima la tabla de multiplicar de un numero  que se pida  y vaya desde el 1 hasta el 10.

Algoritmo tabla_multiplicar

Variables
i, numero, resultado, j: enteros

INICIO
ESCRIBA(“Ingrese el numero que desea saber”)
LEA(numero)
I=1
MIENTRAS i<=10
J=1
MIENTRAS j<=10
resultado= i * j
ESCRIBA(numero”x”,i,”=”resultado)
I=i+1
Fin (MIENTRAS)
FIN
Fin (tabla_multiplicar)


APLICACIÓN

Estos ejercicios resueltos bajo el ciclo mientras se pueden aplicar a cada una de las situaciones ya descritas o alguna que se asemeje, ademas es un claro ejemplo del manejo de este ciclo. Es de resaltar que es muy importante realizar después de desarrollar cada ejercicio una prueba de escritorio, con la cual se constate su  buen funcionamiento. 


REFERENCIAS

Estos ejercicios fueron tomados de la clase de algoritmos y programación dictados por la Universidad de Antioquia (facultad de ingenieria).
dis.unal.edu.co/~programacion/book/modulo2b.pd
www.virtual.unal.edu.co/cursos/ingenieria/2001839/.../leccion_5.htm

viernes, 10 de abril de 2015

CICLO MIENTRAS (SEMANA 7)

DEFINICIÓN


La estructura CICLO MIENTRAS  esta conformada por instrucciones que permiten al programador  instruir la maquina para que ejecute  un bloque de acciones ‘mientras’ que una condición dada se cumpla, es decir, cuando la condición evalúa a verdadero. La condición es evaluada antes de ejecutar el bloque de acciones y si la condición no se cumple, el bloque no se ejecuta. De esta manera es que el número de repeticiones del bloque de acciones sea cero, pues, si la condición la primera vez evalúa a falso, el bloque no será ejecutado alguna vez. 

La forma general del ciclo mientras es la siguiente: 
Resultado de imagen para forma general ciclo mientrasLa condición puede ser una expresión relacional o lógica. Por lo general se evalúa el valor de una variable que cambia durante cada iteracion. La llamada variable de control.

Pasos para la estructura MIENTRAS
1. Definir cual es la instruccion repetitiva.
2. Definir la condicion y variable de control que expresa hasta cuando se deben iterar las instrucciones.

Ejemplos de Condicion
Turno <= 10
dinero >10000 & usuarios > 30
intereses <= 1,1
i < 20

Variable contadora
Sirven para llevar control de una secuencia de numeros o contar eventos. Se adiciona por lo regular un numero constante.
La técnica es:
  1. Inicializar una variable a cero o uno antes del ciclo repetitivo.
  2. Dentro del ciclo repetitivo, incrementar en uno la variable.
            i= 0...
            i=i+1
            i=1+2

Variable acumuladora
Es similar al contador y sirven para acumular cantidades relacionadas con el resultado de una instrucción. Se inicializa en cero y en cada repetición se incrementa en diferentes valores. El resultado final es que la variable acumula la suma de los valores añadidos en cada repetición.

salario= horas*valor_hora
total_salarios= total_salarios+salario


Ejemplo:
Elabore un algoritmo que sume los numeros de 1 hasta n. Siendo n un numero que ingresa el usuario.

Algoritmo suma
variables:
         i: entero

         suma: entero
         n: entero

INICIO
         i := 1
         suma := 0

ESCRIBA("Ingrese el valor n")
LEA(n)
MIENTRAS (i <= n

         suma := suma + i 
         i := + 1Fin(MIENTRAS)

ESCRIBA( “La suma de los valores es:”, suma)
FIN

Fin( suma )


APLICACIONES 

El CICLO MIENTRAS permite ejecutar un bloque de instrucciones mientras que la evaluación de una expresión lógica de cómo resultado verdadero; lo que lo hace de utilidad en la ingeniería ambiental para casos como la realización de un algoritmo de secuencia fibonacci en donde se necesiten configuraciones biológicas, como por ejemplo en las ramas de los árboles, en la disposición de las hojas en el tallo, en la flora de la alcachofa, las inflorescencias del brécol romanesco y en el arreglo de un cono. Ademas en modelos de crecimiento poblacional de alguna especie animal en un ecositema o comunidad.


REFERENCIAS
http://www.edu4java.com/es/java/sentencia-while-variable-contador-acumulador.html
http://dis.unal.edu.co/~programacion/book/modulo2b.pdf
http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/modulo3/cap_04/leccion_1.html

lunes, 30 de marzo de 2015

EJERCICIOS ESTRUCTURA DESICION (SEMANA 6)

EJERCICIOS RESUELTOS


 1.      Un almacén de escritorios hace los siguientes descuentos:
Si el cliente compra menos de cinco unidades se le da un descuento del 10% sobre la compra, si el número de unidades es mayor o igual a cinco pero menos de 10 se le otorga un 20% y si son 10 o más se le da un 40%. Hacer un algoritmo que determine cuanto debe pagar un cliente si el valor de cada escritorio es de 800000.

Algoritmo escritorios
Variables:
Unidades_compradas: entero
Descuento: real
Total_a_pagar: real
Valor_escritorio: real
Valor_compra: real
INICIO
ESCRIBA(“Ingrese el numero de unidades compradas por el cliente”)
LEA(unidades _compradas)
Valor_escritorio=800000
Valor_compra=valor_escritorio*unidades_compradas
SI unidades_compradas < 10
Descuento=valor_compra*0.2
DE_LO_CONTRARIO
SI unidades_compradas >= 10
Descuento= valor_compra* 0.4
FIN (SI)
Fin (SI)
Fin(SI)
Total_a_pagar= valor_compra-descuento
ESCRIBA(“El cliente deber pagar:”, total_a_pagar)


  2.      Hacer un algoritmo que dados los datos a y b escriba un mensaje diciendo si a es mayor, menor o igual a b
ENTRADA
Dato_a: entero
 Dato_b: entero
SALIDA
Mayor, menor o igual


Algoritmo comparador
Variables
dato_a, dato_b: enteros
INICIO
LEA(dato_a, dato_b)
SI dato_a > dato-b
ESCRIBA(“El dato a es mayor que el dato b”)
DE_LO_CONTRARIO
SI dato_a==dato_b
ESCRIBA(“El dato a y el dato b son iguales”)
DE_LO_CONTRARIO
ESCRIBA(“El  dato a es menor que el dato b”)
Fin (SI)
Fin (SI)
FIN
Fin (SI)


3.       Una empresa con 3 departamentos  tiene establecido un de incentivos para sus vendedores. Al final del periodo cada departamento se le pide el informe global de las ventas. A los departamentos que excedan el 33% de las ventas totales se les adiciona al salario de los vendedores un 20% del salario mensual.  Las nominas de los 3 departamentos son iguales:
Se tienen los siguientes datos:
Ventas departamento 1
Ventas departamento 2
Ventas departamento 3
Hacer un algoritmo que determine cuanto recibiran los trabajadores al finalizar el periodo.

Algoritmo aumento_salario
Variables
ventas1, ventas2, ventas3, ventas4, ventas5: reales
nsalario1, nsalario2, nsalario3, nsalario4, nsalario5: reales
ventas_totales, basensalario, aumento: reales
INICIO
ESCRIBA (“Ingrese ventas1, ventas2, ventas3 y el salario de los departamentos”)
LEA (ventas1, ventas2, ventas3, salario)
ventas_totales: ventas1+ventas2+ventas3
basensalario: ventas_totales*0,33
aumento=salario*0,2
SI ventas1 >= basensalario
nsalario1 = salario +aumento
DE_LO_CONTRARIO
nsalario1= salario
Fin (SI)
SI ventas2 >= basensalario
nsalario2 = salario+aumento
DE_LO_CONTRARIO
Nsalario3 = salario
Fin(SI)
SI ventas3 >= basensalario
nsalario3 = salario+aumento
DE_LO _CONTRARIO
nsalario3 = salario+aumento
Fin (SI)
ESCRIBA (“El salario para el departamento1 es:”, nsalario1)
ESCRIBA (“El salario para el departamento2 es:”, nsalario2)
ESCRIBA (“El salario para el departamento3 es:”, nsalario3)
FIN
Fin (aumento_salario)



APLICACIÓN

Estos algoritmos tienen aplicabilidad en situaciones parecidas a las mencionadas en los enunciados de cada uno de ellos, además el desarrollo de los mismos ayuda a incentivar la capacidad lógica que requiere un programador, es decir sirven para practicar en algún programa (compilador), que  en el caso que nos atañe es Matlab.



REFERENCIAS
Los ejercicios resueltos de este blog son copia de lo visto en la clase de algoritmo y programación dictado en universidad de Antioquia.
http://www2.udearroba.co/pluginfile.php/142281/mod_resource/content/1/nuevo_salario.m
http://es.slideshare.net/guest55fd0/manual-scilab

domingo, 22 de marzo de 2015

ESTRUCTURA DECISIÒN (SEMANA 5)



DEFINICION

La unidad aritmética y lógica es un componente importantes de la computadora. Su propósito es el manejo de operaciones aritméticas; y dar a la computadora la capacidad de tomar decisiones. Esto forma la base de la construcción algorítmica  (SI; DE_LO_CONTRARIO), y permite instruir al computador para que ejecute ciertas acciones según sea la condición de verdadero o falso.

Por ejemplo:

Se tienen dos variables numéricas, cuyos datos son A y B, que tienen valores diferentes, y  se desea imprimir el valor de la mas grande. Si A es mayor que B, el resultado final sera el valor de A; pero, por otro lado, si B es mayor que A,  el resultado final sera el valor de B. La elección de que alternativa tomar depende de la decisión de si la variable A es o no mayor que B. 


Existen tres diferentes tipos de decisiones logicas: simples, dobles y multiples.
 La estructura alternativa simple SI ejecuta una determinada acción cuando se cumple una determinada condición. La selección SI evalúa la condición y si la condición es verdadera, entonces ejecuta la acción, pero si la condición es falsa, entonces no ejecuta ninguna acción.
Las dobles ejecutan un bloque de instrucciones cuando la condición es verdadera y un bloque diferente si es falsa.
Las múltiples son tomas de decisiones especializadas que permiten comparar unas variables con otros posibles resultados; ejecutando para cada caso unas instrucciones especificas.

Dentro de la estructura SI se puede incluir una decisión adicional para evitar la posibilidad de error en los datos de entrada. Requiriéndose un cotejo  adicional donde se demuestre que los datos de entrada son validos. Este proceso es un ejemplo de anidamiento (colocar una estructura de decisión dentro de otra).

Estas condiciones se obtienen a partir d
e las expresiones simples, utilizando los operadores lógicos  (y, o, no).

Resultado de imagen para Tablas de verdad

PASOS PARA LA ESTRUCTURA DECISION
1. Definir cual es la pregunta que se debe responder.
2. Definir la condición que expresa la pregunta que se debe responder.
3. Definir que se debe hacer si la condición es verdadera. 
4. Definir que hacer si la condicion es falsa.



Elabore un algoritmo que lea el nombre, el sexo y el estado civil de una persona e imprima su edad si es una mujer casada sino que imprima el nombre.
  • Datos de entrada: nombre, sexo, estado civil. - Condición: Si es una mujer casada  Salida: Nombre, edad.


APLICACIONES 

La estructura decisión dentro de la programación es una herramienta que ayuda a la ingeniería ambiental; un ejemplo es cuando es necesario obtener el resultado de la presencia de algún contaminante en especifico en determinado lugar o la actividad de un volcán que sea monitoreado por un lapso de tiempo. Esto se hace a través de unas variables que ingrese el usuario como: el aumento en la temperatura, la presencia de ceniza en el aire, la concentración de clorofila-a (una variable que describe la productividad biológica en sistemas acuáticos),  o el denominado ‘coeficiente de atenuación difusa’, un indicador de la turbidez del agua relacionado con la cantidad de materia disuelta, todo esto indica que el volcán esta o no próximo a una erupción  y se puede prevenir un desastre en la zona en que se encuentra geográficamente.

REFERENCIAS

https://www.google.com.co/search?http://correo.uan.edu.mx/~iavalos/Estructuras%20de%20desicion.html
https://kesquivel.files.wordpress.com/2013/08/estructura-decision-logica-iii_2013.pdf

viernes, 13 de marzo de 2015

MANIPULACION DE DATOS EN ALGORITMOS (SEMANA 4)

¿COMO SE ALMACENAN LOS DATOS EN LA MEMORIA DEL COMPUTADOR?

El computador actual tiene más funcionalidad que los computadores del pasado ya que puede almacenar gran cantidad de datos, un reflejo de esto es que en el instante en que se requiera examinar y/o modificar los datos guardados se puede hacer sin ningún problema.
Estos sistemas informáticos pueden almacenar los datos tanto interna en la memoria como externamente en los dispositivos de almacenamiento. Internamente, las instrucciones o datos pueden almacenarse por un tiempo en los chips de silicio de la RAM o memoria de acceso aleatorio, montados directamente en la placa de circuitos principal de la computadora, o bien en chips montados en tarjetas periféricas conectadas a la placa de circuitos principal del ordenador.
La memoria RAM está compuesta de un gran número de bits, que son agrupados en bytes y almacenan información en la forma de unos y ceros. Los  bytes están identificados en la memoria RAM por su ubicación, también conocida como dirección de memoria, un valor que se refiere a la posición que ocupan. El primer byte se asocia a la dirección 1 el segundo byte a la dirección 2 y así sucesivamente.  
Para hacer más simple el manejo de datos existe un  método alternativo de almacenamiento en la memoria RAM del computador  que  consiste en identificar los espacios de memoria por un nombre en lugar de hacerlo por una dirección, a estos nombres se les llama identificadores.
Los identificadores pueden ser variables o constantes;  los variables se relacionan con aquellos datos que cambian cuando se ejecuta de un algoritmo o programa y los constantes a aquellos en los que el dato guardado o almacenado no varía durante la ejecución del programa.
La mejor característica del uso de variables es que permite al programador poner un nombre que sea más fácil de recordar y de esta forma hace más factible la manipulación de los datos.
Es importante resaltar que al momento de nombrar los identificadores se deben tener  en cuenta  que: Los nombres de los identificadores no pueden comenzar con un número; ni incluir espacios, en caso de necesitar separar palabras se usan guiones bajos; solo se deben usar letras, dígitos o guiones bajos y no debe contener la letra ñ,  tildes o diéresis, etc.

LOGICA PROPORSIONAL
Una proposición es un enunciado lógico al que se le asigna un valor de verdad (1) o de falsedad (0).


TABLAS DE VERDAD
Representan todas las combinaciones de valores de verdad y su respectiva proposicion compuesta.

Resultado de imagen para logica proposicional tablas de verdad

APLICACIÓNES

Las herramientas informáticas desarrolladas mediante lenguajes de programación y bases de datos, se aplican a todas las situaciones que una persona requiera, por ejemplo en la creación de un programa que sea capaz de determinar cuál es el salario que se debe entregar a cada persona de un grupo de trabajadores según el número de horas trabajadas y el valor de cada una de esas horas.


REFERENCIAS
https://www.google.com.co/webhp?hl=es&tab=ww#hl=es&q=Las+herramientas+inform%
http://medioambiente.udistrital.edu.co/aulas/course/search.php?search=con&perpage=10&
http://www.ign.es/ign/resources/acercade/aig/b.pdf
http://www.monografias.com/trabajos88/bases-datos/bases-datos.shtml