Sei sulla pagina 1di 29

INSTITUTO TECNOLGICO SUPERIOR DE GUASAVE

Unidad II

Guasave, Sinaloa. A 08 de Abril de 2013.

La resolucin de un problema con una computadora se hace escribiendo un programa, que exige al menos los siguientes pasos:
1.

2.
3. 4.

Definicin o anlisis del problema Diseo del algoritmo Transformacin del algoritmo en un programa Ejecucin y validacin del programa

Antes de conocer las tareas a realizar en cada fase debemos conocer el concepto y significado de algoritmo.

Las personas efectuamos de manera diaria una serie de pasos o acciones que nos permiten obtener un resultado o resolver un problema. Y esto lo repetimos varias veces a lo largo del da. Lo que hacemos en realidad es aplicar un algoritmo, para resolver algn problema que se nos presente.

Muchas veces aplicamos los algoritmos de manera inconsciente o automtica.


o Hemos resuelto el mismo problema un gran nmero de veces.

De manera formal definimos un algoritmo como: Un conjunto de pasos, procedimientos o acciones, ordenados de manera lgica, que nos permiten alcanzar un resultado o resolver un problema

Debemos tratar que cada paso descrito en el algoritmo pueda ser reflejado mediante una instruccin en un lenguaje de programacin. Un algoritmo debe tener las siguientes caractersticas:
o Preciso
o Finito o Presentacin formal o Correcto o Eficiente

Preciso: cada paso del algoritmo se desarrolla en una secuencia estricta, ya que el cambio en el orden puede modificar los resultados. Finito: debe tener un inicio y un final. Presentacin formal: debe seguir un estndar conocido para que pueda ser entendido: Las presentaciones mas conocidas son: Diagrama de Flujo de Datos, Pseudocodigo, Diagramas de Nassi/Schneiderman. Correcto: Es decir las salida final sea la esperada como resultado. Eficiente: Optimizar procesamiento recursos de almacenamiento y

La primera etapa en la solucin de un problema es el anlisis del problema. En esta fase se requiere una clara definicin, donde se contemple exactamente lo que debe hacer el programa y el resultado o solucin deseada. Dado que se busca una solucin por computadora, se precisan especificaciones detalladas de entrada y salida.

Requisitos que se deben definir en el anlisis del problema:

Resolucin de un problema

Anlisis del problema

Diseo del algoritmo

Resolucin del problema con computadora

Ejemplo 1:

Problema: Sumar dos nmeros e imprimir su resultado


Anlisis:
o

Qu entradas se requieren?
dos nmeros

Cul es la salida deseada?


guardar la suma e imprimirla en pantalla

Qu mtodo produce la salida?


1. 2. 3. Sumar los dos nmeros Guardar el resultado Imprimir el resultado pantalla

Ejemplo 2: Problema: Hacer una taza de t Anlisis del problema:


o Qu entradas se requieren?

agua, bolsa de t, tetera, taza, cuchara


o Cul es la salida deseada?

una taza de t
o Qu mtodo produce la salida?

1. 2. 3. 4.

Poner la bolsa de t en la taza Poner el agua a hervir en la tetera Verter el agua hervida en la taza Remover

Ejemplo 3: Problema: Averiguar la solvencia de un cliente que ejecuta un pedido a una fbrica. Anlisis: o Entrada: el pedido o Salida: mensaje de aceptacin o rechazo o Proceso:
1. 2. 3. 4. Leer el pedido Examinar la ficha del cliente Si el cliente es solvente, aceptar pedido En caso contrario, rechazar pedido

En la etapa de anlisis del proceso de programacin se determina que hace el programa. En la etapa de diseo se determina cmo hace el programa la tarea solicitada. El proceso que convierte los resultados del anlisis del problema en un diseo modular que permita una posterior traduccin a un lenguaje de programacin se denomina diseo del algoritmo.

El diseo del algoritmo es independiente del lenguaje de programacin en el que se vaya a codificar posteriormente. Las dos herramientas ms utilizadas comnmente para disear algoritmos son: diagramas de flujo y pseudocdigos.

Un diagrama de flujo es una de las tcnicas de representacin de algoritmos ms antigua y ms utilizada. Muestran de manera grfica los pasos necesarios para alcanzar la solucin de un problema.

Si el diagrama de flujo est completo y correcto, el paso del mismo a un lenguaje de programacin es relativamente simple y directo. Un diagrama de flujo utiliza smbolos, que tienen los pasos a realizar escritos en su interior.

Estas cajas estn unidas por flechas, denominadas lneas de flujo, las cuales indican la secuencia de los pasos. Los smbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalizacin (ANSI).

Inicio

Lectura de datos

Procesamiento de datos

Impresin de resultados

Fin

Los

smbolos ms utilizados son:


Subprograma Entrada / Salida

Terminal

Decisin
Si

No

Proceso Conectores Lneas de Flujo Impresin

1.

Todo diagrama de flujo de be tener un inicio y un fin.


Inicio

Fin
2.

Las lneas utilizadas para indicar la direccin del flujo, deben ser rectas, verticales y horizontales.

3.

Todas las lneas para indicar la direccin del flujo del diagrama deben estar conectadas.

4.

El diagrama de flujo de ser construido de arriba hacia abajo y de izquierda a derecha.

5.

La notacin utilizada en el diagrama de flujo debe ser independiente del lenguaje de programacin

6.

Es necesario cuando realizamos algn diagrama complejo poner comentarios que expresen o ayuden a entender lo que hicimos. Si el diagrama de flujo requiriera ms de una hoja para su construccin, debemos utilizar los conectores adecuados y enumerar las pginas convenientemente.

7.

8.

No puede llegar ms de una lnea a un smbolo.

Para la construccin de algoritmos, diagramas de flujo y programas, es necesario conocer los tipos de datos, as como las operaciones que podemos llevar a cabo. Los datos a procesar por una computadora pueden clasificarse en:
o Simples o Estructurados

La caracterstica principal de los datos simples, es que ocupan solo una casilla de memoria, por lo tanto, una variable simple hace referencia a un nico valor a la vez.
o Enteros, reales, caracteres, booleanos, enumerados y subrangos

Los datos estructurados se caracterizan por el hecho de que con un nombre (identificador de variable estructurada) se hace referencia a un grupo de casillas de memoria.
o Arreglos, cadenas de caracteres, registros y conjuntos

Dentro de los tipos de datos numricos encontramos a los enteros y reales. Los enteros son nmeros que pueden estar precedidos del signo + o -, y no tiene parte decimal.
128 -714 8530 -14780

Los reales son nmeros que pueden estar precedidos del signo + o -, y que tiene una parte decimal.
7.5 128.0 -37.865 -15.0

Dentro de este tipo de datos encontramos los de tipo caracter (simple) y cadenas de caracteres (estructurado). Son datos cuyo contenido pueden ser letras del abecedario (a,b,..,z), dgitos (0,1,..,9) o smbolos especiales (#,+,,$,%,&,/, etc.). Debemos recordar que aunque este tipo de datos contiene nmeros, no pueden ser utilizados para realizar operaciones aritmticas.

Un tipo de dato caracter contiene un solo carcter, y se escribe entre apstrofes. a B $ 9 - # f

Un tipo de dato cadena de carcter contiene un conjunto de caracteres, y se escribe entre comillas. La longitud de una cadena depende de los lenguajes de programacin, normalmente de 255.
abcde Carlos Gmez 754-27-22 $9#7

Dentro de este tipo de datos, encontramos los booleanos. Son datos que solo pueden tomar dos valores:
o Verdadero (true) o Falso (false)

Para poder realizar operaciones aritmticas necesitamos operadores aritmticos. Estos nos permitirn realizar operaciones aritmticas entre operandos: nmeros, variables, constantes. El resultado de una operacin aritmtica ser un nmero.

Operadores aritmticos Operador aritmtico ** * / + mod div Operacin Potencia Multiplicacin Divisin Suma Resta Mdulo (residuo) Divisin entera Ejemplo 4**3 8.25*7 15/4 125.78 + 62.50 65.30 32.33 15 mod 2 17 div 3 Resultado 64 57.65 3.75 188.28 32.97 1 5

Jerarqua de los operadores aritmticos Operador ** *,/,mod,div +,Menor Jerarqua Mayor Operacin Potencia Multiplicacin, divisin, mdulo, divisin entera Suma, resta

El resultado de una expresin con operadores relacionales es verdadero o falso.


Operadores relacionales Operador = <> < > <= >= Operacin Igual que Diferente a Menor que Mayor que Menor o igual que Mayor o igual que Ejemplo hola = lola a <> b 7 < 15 22 > 11 15 <= 22 35 >= 20 Resultado Falso Verdadero Verdadero Verdadero Verdadero Verdadero

Potrebbero piacerti anche