jueves, 13 de agosto de 2009




Autores : JORGE ARMANDO ALVAREZ BARAHONA

GERMAN UCHAMOCHA EUSCATEGUI


ANALISIS Y DESARROLO DE SISTEMAS DE INFORMACION
CODIGO: 94450

¿ Que es un algoritmo?
Es un serie de pasos organizados que describe el proceso que debe segui
r para dar una solucion a un problema .


TIPOS D
E ALGORITMOS

- CUALITA
TIVOS: son los que desribe los pasos utilizando palabras
- CUANTITATIVOS: Son los que utiliza
n calculo numerico para definir los pasos de un proceso


LENGUAJ
ES ALGORITMICOS

- Permiten describir los pasos con mayor a m
enor detalle.

Clasificacion:
- Lenguaje natural:e
s el que utilza el lenguaje cotidiano.

- lenguaje de diagrama de flujo:se vale de simbolos para presentar ideas a desarrollar.

Caracteristicas:
- Se deben usar lineas de flujo horizontales y verticales
- Se de
be evitar el cruce de líneas utilizando los conectores
- No deben quedar líneas de flujo son conectar
- Se deb
en hacer símbolos que se puedan leer de arriba hacia abajo y de izquierda a derecha.
- Todos los textos que se escriban
deben ser claros y sin muchas palabras


DIAGRAMA DE FLUJO















Lenguaje natural de programacion: son los que se orientan para solucionar un problema que se define de mnera exacta.
- Lenguaje de programacion de algoritmos:es el que se utiliza para introducir un algoritmo la computadora,


CARACTERITICAS DE ALGORITMOS :

- Debe tener un punto particular de inicio.
- Debe ser definido no de
be permitir dobles interpretaciones
- debe ser f
inito,que si se sigue un algoritmo debe terminar en algun momento

EJEMPLO

En un fábrica se hace un número
determinado de pares de zapatos diarios ¿Cuántos pares de zapatos se fabricarían en un semana y cuantos en un mes?
Análisis

Datos de entrada
Cuantos zapatos se hacen di
ariamente
Cuál es la información que se desea producir: saber cuántos zapatos se fabrican en un semana y en un mes?
Métodos para procesar los datos: multiplicar los zapatos por los 7 días de la semana y para saber cuánto se hace en un mes multiplicar la producción de una semana por 4.

PRUEBA DE ESCRITORIO
















DISEÑO DE ALGORITMO

DEFINICION DE LAS VARIABLES


Z = Produccion de zapatos en un dia

p= produccion de zapatos en un semana

p2= produccion de zaptos en un mes

inicio

leer: z

ejecute: p= z * 7

p2= z *30

imprimir : p

imprimir : p2

fin

TIPOS DE DATOS

Simples

Numericos, son datos que pueden tomar valores, positivos, negativos y sinparte decimal.

Logicos (Boolean)Este tipo de dato logico es el que permite usar varias variables que disponen solo de 2 posiblesvalores: cierto y falso.si/nocierto/falsofuncionaç/no funcionaon/off


Alfanumericos. Con el tipo de caracter puedes tener objetos que represetan letraun numero, etc. Se pueden utilizar v

ariables o constantes que representenun valor alfanumerico.

Estructurados


Arreglos:


VECTOR: Es una lista ordenada unidimensional que, es una escructura de datos que permite agrupar elementos del mismo tipo y almacenarlos en un solo bloque de memoria juntos, uno despues del otro.


MATRICES: Lo podemos considerar como un vector de vectores, ya que la matriz ocupa mas de un bloque de memoria, tambien se denominacomo un arry bidemensional.

Registro:Es una pequeña unidad de almacenamiento destinada a contener cierto tipo de datos. Puede estar en la propia memoria central o en unidades de memoria de acceso rápido.


Archivo: Un registro es un tipo de datos estructurados que consta de un conjunto de datosque pueden ser del mismo tipo o diferentes.Apuntadores:El valor de todas las variables que manejamos en nuestros programas se almacenanen memoria y tienen una direcion. El puntero tiene a su vez su propia direccion.


Constante

Una constante puede ser numerica o cadena, que se caracterizan por mantener su mismo valor.


CARACTERISTICAS DE LAS VARIABLES

Las variables son espacios de memoria que nos permiten almacenar valores y datos segun como este definida, las variables pueden cambiar su valores cuantes veces que el programa lo nesecite.


CLASIFICION DE LAS VARIABLES

Existen dos categorías de variables: las de tipo primitivo o las referenciadas. Una variable de tipo primitivo accede al valor asignado directamente.

Las referenciadas se accede a través de un puntero, es decir que no almacenan un valor sino una dirección de memoria. Estas últimas son utilizadas por las matrices, las clases e interfaces. Se llama tipo primitivo o tipo elemental a los tipos de datos originales de un lenguaje de programación, esto es, aquellos que nos proporciona el lenguaje y con los que podemos (en ocasiones) construir tipos de datos abstractos y estructuras de datos.


VARIABLES SEGUN SU CONTENIDO


VARIABLES NUMERICAS: En ellas podemos almacenar datos numericos como, los numeros de 1 a 10, los positivos, negativos, losque tienen parte decimal, irracionales etc,

Ejemplo: iva = 0.20 envio = 45000 costo = 2500


VARIABLES LOGICAS: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos.


VARIABLES ALFANUMERICAS: Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales). Ejemplo: nickname=german723 vehiculo=mazda3


VARIABLES SEGUN SU USO


VARIABLES DE TRABAJO: Son variables que se utilizan para realiza una operacion matematica completaEjemplo: operacion = (a*d) + b /c


CONTADORES: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno.

ACUMULADORES: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.


GERARQUIA DE OPERADORES:

Es el orden en que se debe evaluar a los operadores
tipos de operadores:


-Aritméticos: su resultado es un número.(potencia. * , / , mod, div, + , -)
-Relacionales: su resultado es un valor de verdad. (=, <, >, <=, >=, <>)
-Lógicos: su resultado es un valor de verdad.( not, and, or)


ESTRUCTURAS ALGORITMICAS SECUENCIALES:

Es aquélla en la que una acción sigue a otra en secuencia. Los algoritmos secuenciales se caracterizan por los siguientes pasos


ASIGNACION: Es cuando una variable se le hace equivaler a una expresion osea le da un valor ala variable. ejemplo a= 3+8, e='hola'


ENTRADA:Consiste en recibir desde un dispositivo de entrada (teclada) un valor o dato, este dato seraalmacenado en una variable segundo se haya definido.


SALIDA:
Es el resultado al proceso a que sometimos nuestras variables dependiendode las operaciones matematicas que programamos


ESTRUCTURAS ALGORITMICAS CONDICIONALES

Se utiliza cuando el algoritmo Requiere de una descripción más complicada que una lista sencilla de instrucciones.


ALTERNATIVA SIMPLE: es la que ejecuta una determinada acción cuando se cumple una determinada condición.
Si la condición es verdadera, entonces ejecuta la acción S1; Si la condición es falsa, entonces no hacer nada.

ALTERNATIVA DOBLE:
Es muy limitada y normalmente se necesita una estructura que deje elegir entre dos opciones o alternativas posibles, en función o no de una condición.
Si la condición C es verdadera, se ejecuta la acción S1 y, si es falsa, se ejecuta la acción S2.

ALTERNATIVAS MÚLTIPLES :
Es cuando se presenta en alternativas múltiples.
se toma en valores distintos 1,2,3,4,..n . Según el valor en la condiciónse realizra cualquier accion.

ESTRUCTURAS ALGORITMICAS CICLICAS


Las estrestucturas ciclicas o tambien llamados, ciclos repetitivos o bucles, permiten repetir una operacion o secuencia de operaciones en funcion de ciertas condiciones.

En esta estructura es muy frecuente utilizar variables de uso, como contadores y acumuladores.

Hay tres tipos de ciclos repetivos.

Mientras: while, el ciclo mientras es la estructura basica que permite repetir varias veces una secuencia de operaciones, mientras se cumpla una determina condicion.


Para (for) Se utiliza cuando se puede determinar el numero de veces que hay que ejecutar las instrucciones.


Repetir (repeat) las operaciones de lazo repetir son ejecutadas hasta que la condicion sea cierta.


Unos ejemplos de estructuras secuenciales y condicionales:


Secuenciales


-Una empresa aerea vende cierta cantidad de tiquetes diarios a estos destinos:
españa, estados unidos, venezuela, francia, calcular cuantos tiquetes en total se venden en un mes, y cuantos se venden solo para españa en una semana


inicio
leer esp, fra, usa, ven
ejecutar
mes= esp*30+fra*30+usa*30+ven*30
sem=esp*7
imprimir mes, sem
fin

-En una tienda de electrodomesticos se venden computadores, televisores y
radios, una persona nesecita saber el valor de su compra, si compro
un numero indeterminado de cada articulo, y habia un descuento del 10%

inicio
leer nt,npc,nr,pt,ppc,pr
ejecutar
total=(nt*pt+npc*ppc+nr*pr)-((nt*pt+npc*ppc+nr*pr)*0.1)
imprimir total
fin

-Calcular el area de un circulo con solo ingresar el radio

inicio
leer radio
ejecutar
area=3.141416*(r*r)
imprimir area
fin


-Pasar metros a pies y a pulgadas

inicio
leer metros
ejecutar
pies= metros*3.28084
pulgadas=metros*39.3701
imprimir metros
imprimir pulgadas
fin

-Hallar el valor del impuesto predial de una casa teniendo en cuenta
que es el 0.02% del valor de la mismo

inicio
leer valor
ejecutar
impuesto= valor*0.02
imprimir impuesto
fin


Condicionales

-Si carlos compra un auto de x valor y juan de otro, decir de quien es el auto mas costoso

inicio
lea valor1, valor2
si valor1>valor2 entonces
imprimir "el carro de carlos es mas costoso"
si no
imprimir "el carro de juan es mas costoso"
fin


-Juanita lee un cierto numero de hojas en una hora, y carolina tambien,
hacer un programa que pida el numero de hojas leido por cada una
y decir quien lee mas rapido y cuantas por minuto .

inicio
lea hj, hc
ejecute
mj=hj/60
mc=hc/60
si hj>hc entonces
imprimir "juanita lee mas rapido"
imprmir mj
si no
imprimir "carolina lee mas rapido"
imprimir mc
fin


-El gobierno hace una licitacion para la pavimentacion de una via, si la empresa1 ofrece un proyecto con un cierto costo y con un cierto lapso de tiempo para culminarla, la empresa 2 propone lo mismo, hacer un programa que arroje como resultado cual es la empresa que menor tiempo y costos propone

inicio
lea c1,t1,c2,t2
si (c1>c2) y (t1>t2) entonces
imprmir
"la empresa 1 ofrece el menor costo y tiempo"
si no
si (c2>c1) y (t2>t1) entonces
imprimir
"la empresa 1 ofrece el menor costo y tiempo"
fin

-Alfonso quiere saber de cuanto fue su nota definitiva en matematicas, esta materia se evaluaba con 3 notas de 0 a 5 y se aprobaba la materia teniendo mas de 3.2 en su nota definitiva,

inicio
lea, n1,n2,n3
ejecutar
nota=(n1+n2+n3)/3
si nota>= 3.2 entonces
imprimir"aprobo la materia"
imprimir nota
si no
imprimir"No aprobo la materia"
imprimir nota
fin

-En un parque de diversiones las atraciones mecanicas estan diseñadas segun la altura del usuario, si el usario esta entre los 79 y 120 cm puede divertirse en la rueda de caballlitos, si tiene 120 a 160 puede divertirse unicamente en la rueda de chicago, y si mide mas de 160 puede divertirse
en la montaña rusa, hacer un programa que le diga a la persona en q atraccion puede subir

inicio
lea estatura
si estatura>= 79 y estatura<= 120 entonces

imprimir "puede subir a la rueda de caballitos"

si no si estatura>120 y estatura<=160 entonces

imprimir "puede subir a la rueda de chigago" entonces

si no

si estatura>160 entonces
imprimir "puede subir a la montaña rusa"
fin





miércoles, 12 de agosto de 2009

Algoritmo


  1. Autor: German Uchamocha Euscategui
    Que es un Algoritmo?
    Es una secuencia logica de pasos que se debe llevar, para cumplir un objetivo. Se debe tener un estado inicial y uno final. Un algoritmo debe ser finito, debe terminar en algún momento.

    Tipos de Algoritmo
    Hay dos tipos de algoritmo, cuantitativo, y cualitativos.

    -Cuantitativos
    Son en los que utilizamos operaciones numericas para definir los pasos del proceso.
    Ejemplo: Desarrollo de un integral, desarrollar ecuacion de segundo grado.
    -Cualitativos
    En estos describimos los pasos con palabras.
    Ejemplo, buscar un tesoro, hacer una actividad fisica.

    Tipos de lenguajes algoritmicos
    Existen 4 tipos de lenguajes algoritmicos que son:
    1) Lenguaje Natural.
    2) Lenguaje de Diagrama de Flujo.
    3) Lenguaje Natural de Programación.
    4) Lenguaje de Programación de Algoritmos.

-Lenguaje natural: Es aquel, que utilizamos