Sunteți pe pagina 1din 36

Introduccin

La computadora no slo es una mquina capaz de


entregar un resultado, sino que adems podemos
disear con ella soluciones a medida.
A las soluciones creadas se les conoce como
programa, luego stos son una serie de operaciones
que realiza la computadora para llegar a un resultado.
Ahora para que un programa llegue a una solucin final
se requiere que esta serie de pasos sean organizados y
represente el proceso que se describe. A este estudio
se le denomina algortmica.

Proceso de la informacin
DATOS DE
ENTRADA

PROCESO

DATOS DE
SALIDA

CPU
Dispositivos
de entrada

Unidad
Control

Unidad
Arit-Log

Memoria

Dispositivos
de salida

Algoritmo
La palabra deriva de la palabra rabe Alkhowarizmi,
nombre de un matemtico y astrnomo rabe que
escribi un tratado sobre manipulacin de nmeros y
ecuaciones en el siglo IX
Se define como la serie de pasos organizados que
describe el proceso que se debe seguir para dar solucin
a un problema especfico
Estos pasos son acciones primitivas, es decir, el
procesador es capaz de ejecutarlas sin informacin
suplementaria

ALGORITMO
Para los mismos datos de
entrada se producen los
mismos datos de salida

Para los mismos datos de


entrada pueden producirse
diferentes de salida

Determinstico

No Determinstico

Cualitativos y Cuantitativos

Todo algoritmo debe ser:


Preciso.
Indicando el orden de realizacin de cada uno de
los pasos.
Definido.
Si se sigue el algoritmo varias veces
proporcionndole los mismos datos, se deben obtener
siempre los mismos resultados.
Finito.
Al seguir el algoritmo, ste debe terminar en algn
momento, es decir, tener un nmero finito de pasos.

TCNICAS DE PROGRAMACIN ALGORITMICA


PROGRAMACIN ESTRUCTURADA
La programacin estructurada es un conjunto de tcnicas para desarrollar
algoritmos fciles de escribir, verificar, leer y modificar. Utiliza:
Diseo descendente. Consiste en disear los algoritmos en etapas,
partiendo de los conceptos generales hacia los detalles. El diseo
descendente se ver completado y ampliado con el modular.
Recursos abstractos. En cada descomposicin de una accin compleja
se supone que todas las partes resultantes estn ya resueltas, posponiendo
su realizacin para el siguiente refinamiento.
Estructuras bsicas. Los algoritmos debern ser escritos utilizando
nicamente tres tipos de estructuras bsicas: secuenciales, condicionales y
repetitivas, las cuales se describen ms adelante.

PROGRAMACIN ESTRUCTURADA
Es una tcnica de programacin que implica que:
El programa completo tiene diseo modular.
Los mdulos se disean siguiendo metodologa
descendente (Top Down).
Cada mdulo se codifica utilizando las 3 estructuras
bsicas de control, lo que minimiza la complejidad de los
programas y reduce errores.
Todo esto con el fin de reducir el tiempo requerido para
escribir, verificar, depurar y mantener un programa.

TCNICAS DE PROGRAMACIN ALGORITMICA


PROGRAMACIN ESTRUCTURADA
La programacin estructurada es un conjunto de tcnicas para desarrollar
algoritmos fciles de escribir, verificar, leer y modificar. Utiliza:
Diseo descendente. Consiste en disear los algoritmos en etapas,
partiendo de los conceptos generales hacia los detalles. El diseo
descendente se ver completado y ampliado con el modular.
Recursos abstractos. En cada descomposicin de una accin compleja
se supone que todas las partes resultantes estn ya resueltas, posponiendo
su realizacin para el siguiente refinamiento.
Estructuras bsicas. Los algoritmos debern ser escritos utilizando
nicamente tres tipos de estructuras bsicas: secuenciales, condicionales y
repetitivas, las cuales se describen ms adelante.

Condiciones para la Programacin


Estructurada
Para que la programacin sea estructurada, los programas
han de ser propios.
Un programa se define como propio si cumple las siguientes
caractersticas:
Tiene un solo punto de entrada y uno de salida.
Toda accin del algoritmo es accesible, es decir, existe al
menos un camino que va desde el inicio hasta el fin del
algoritmo, se puede seguir y pasa a travs de dicha accin.
No posee lazos o bucles infinitos.

Ejemplo
Calcular la media aritmtica de dos nmeros con una
calculadora
1.Pulsar tecla AC
2.Teclear el primer nmero
3.Pulsar la tecla +
4.Teclear el segundo nmero
5. Pulsar la tecla +
6.Pulsar la tecla /
7. Teclear el nmero 2
8.Pulsar la tecla =

Problema: Calcular la longitud de una circunferencia y el rea del


crculo que limita dada la longitud del radio
Determinacin de las primitivas de las que partimos
Operaciones aritmticas simples
Lenguaje simblico a utilizar
Lenguaje de representacin de expresiones matemticas
Representacin de los datos
Cadena de caracteres para las incgnitas. Nmeros Reales
Establecer datos de entrada
Radio de la circunferencia
Establecer datos de salida
Longitud de la circunferencia. rea del crculo
Establecer las relaciones entre los datos de entrada y
salida
Longitud = 2*3.1416*radio rea = 3.1416*radio*radio

Que condiciones debe cumplir?


Tener un punto particular de inicio
Debe soportar la mayora de las variantes que puedan
presentarse en la definicin del problema
Estar bien definido. Todas las ejecuciones con los
mismos datos de entrada deben devolver los mismos
datos de salida
Ser finito. El algoritmo debe acabar tras un n finito de
pasos (tamao y tiempo de ejecucin)

Diferencia entre algoritmo y programa

Los algoritmos no son directamente interpretados


por la computadora y deben ser traducidos a un
lenguaje de programacin concreto

Ciclo de vida de un software


Definicin
Desarrollo
Diseo
Codificacin
Prueba
Fallos de
definicin

Mantenimiento
Errores

Modificaciones y adaptaciones

Elementos de un algoritmo
Datos, tipos de datos y operaciones primitivas
Variables, constantes y expresiones
Operaciones de asignacin
Operaciones de entrada y salida
Estructuras de control

Datos:
Informacin con la cual trabaja la computadora

Tipos de datos:
Se clasifican atendiendo a:
Propiedades
Operaciones que se pueden realizar

Datos Simples:
Numrico (Real o entero)
Carcter (Letras, smbolos, nmeros)
Lgico (Verdadero o Falso)

Datos compuestos
Formados por agrupaciones de otros datos (arreglos,
registros, archivos, apuntadores)

Operaciones primitivas:
Se realizan directamente en un lenguaje de programacin sin
indicar como hay que llevarla a cabo
Numrico: Suma, resta, divisin, multiplicacin
Carcter y numrico: <, >, = =, < =, >=, !=
Lgico
A
B AyB
AoB
No B
V
V V V F
V
F F V V
F
V F V F
F
F F F V

Variable:
Entidad que posee un valor y es conocido en un
programa o algoritmo por su nombre (identificador)
El valor de una variable puede cambiar a lo largo del
algoritmo
Todas las variables son de un determinado tipo y
slo pueden tomar valores de ese tipo
Se clasifican por:
Contenido
Numricas
Lgicas
Alfanumricas (String)

Uso
De trabajo
Contadores
Acumuladores

Constante:
Entidad que posee un valor y es conocido por el algoritmo
por su nombre
El valor de una constante no puede cambiar a lo largo del
algoritmo
Se debe inicializar, es decir, se asigna a un identificador su
primer y nico valor
Todas las constante de un determinado tipo slo pueden
inicializarse con valores de ese tipo

Valor constante:
Son valores que aparecen explcitamente en un algoritmo y
no tiene identificador asignado

Identificador:
Representan los datos de un programa.
Un identificador es una secuencia de caracteres que
sirve para identificar una posicin en la memoria de la
computadora, que nos permite accesar a su contenido
Reglas
Debe comenzar con una letra y no contener espacios en
blanco
Letras, dgitos y caracteres como la subraya (_) estn
permitidos despus del primer carcter
La longitud puede ser hasta 8 caracteres
Ejemplo: Num_hrs
Calif3

Expresiones:
Son combinaciones de constantes, variables,
smbolos de operacin, parntesis y nombre de
funciones especiales
Cada expresin toma un valor determinado de
acuerdo a las variables y constantes implicadas y la
ejecucin de las operaciones indicadas
Consta de operadores y operandos

Operaciones de asignacin:
Corresponde a darle a una variable un determinado
valor
A una variable se le puede asignar

un valor constante
el valor de otra variable
el valor de una constante
el resultado de evaluar una expresin

Los valores asignados deben ser del mismo tipo que


la variable
Es una operacin destructiva, el valor anterior se
pierde

Operaciones de entrada y salida:


Se emplean para intercambiar informacin con un medio
externo

Estructuras de control:
Secuencial
Una accin sigue a la otra sin romper la secuencia

Condicional
Se realiza una accin u otra dependiendo del resultado de la
evaluacin de una expresin lgica
Pueden ser simples ( Si entonces), dobles (Si entonces si no),
mltiples (Si entonces si no varias alternativas)

Repetitiva o iterativa
Se repite un conjunto de acciones 1 o ms veces
Hacer-Para
Hacer Mientras
Repetir Hasta

Representacin de un algoritmo
Un algoritmo puede ser escrito en lenguaje natural, pero
esta descripcin puede ser ambigua, por lo que se
utilizan diferentes mtodos de representacin, que
permiten evitar dicha ambigedad y permitir al mismo
tiempo que sea fcilmente codificable. Los mtodos
ms usuales para la representacin de algoritmos son:
Descripcin narrada
Pseudocdigo
Diagrama de flujo

DESCRIPCIN NARRADA
Es la forma ms sencilla de describir o expresar un
algoritmo. Consiste en dar un relato de la solucin en
lenguaje natural.
Por ejemplo: Algoritmo en descripcin narrada para la suma
de 2 nmeros.
1. Obtener los nmeros a sumar
2. Sumar los nmeros
3. Anotar el resultado
El uso del lenguaje natural provoca frecuentemente que la
descripcin sea imprecisa y poco confiable, por lo que este
tipo de representacin no es recomendable.

Ejemplos de algoritmos
Disear un algoritmo para cambiar una llanta a un carro.
Inicio.
Traer gata.
Aflojar tornillos de las llantas.
Levantar el carro con la gata
Sacar los tornillos de las llantas.
Quitar la llanta.
Poner la llanta de repuesto.
Poner los tornillos.
Bajar la gata
Apretar los tornillos.
Fin

Ejemplos de algoritmos
Un cliente ejecuta un pedido a una fbrica. La fbrica examina en su banco de
datos la ficha del cliente, si el cliente es solvente entonces la empresa acepta el
pedido, en caso contrario rechazar el pedido.
Pasos del algoritmo :
Inicio
Leer el pedido
Examinar ficha del cliente
Si el cliente es solvente aceptar pedido, en caso contrario rechazar
pedido
Fin

Ejemplo de algoritmo ms especfico


Determinar el mayor de tres nmeros enteros.
Pasos del algoritmo :
1.- Comparar el primero y el segundo entero, deduciendo cul es el mayor.
2.- Comparar el mayor anterior con el tercero y deducir cul es el mayor. Este
ser el resultado.

PSEUDOCDIGO
El pseudocdigo en un lenguaje de especificacin de
algoritmos que utiliza palabras reservadas y exige la
tabulacin, o sea, sangra en el margen izquierdo, de
algunas lneas.
Se concibi para superar las dos principales desventajas de
los diagramas de flujo: Lento de crear y difcil de modificar
sin un nuevo redibujo. Es una herramienta muy efectiva para
el seguimiento de la lgica de un algoritmo y para
transformar con facilidad los algoritmos a programas.

Pseudocdigo
Mezcla de lenguaje de programacin y un idioma que se
emplea
El pseudocdigo se puede definir como un lenguaje de
especificaciones de algoritmos
Es la representacin narrativa de los pasos que debe seguir
un algoritmo para dar una solucin a un problema
El pseudocdigo utiliza palabras que indican el proceso a
realizar
Es lejos el mtodo ms empleado ya que permite en forma
fcil representar las operaciones repetitivas complejas y
pasar a un lenguaje de programacin

Ejemplo de pseudocdigo

Elabore un algoritmo representado en pseudocdigo que


sume dos nmeros

Pseudocdigo para calcular el mayor de tres nmeros


Inicio
Leer num1, num2,num3
Si (num1>num2) and (num1 >num3) entonces
Mayor = num1
Si no
Si ((num2>num1) and (num2 >num3) entonces
Mayor = num2
Si no
Mayor = num3
Fin-si
Fin-si
Imprimir Mayor
Fin

DIAGRAMA DE FLUJO
Es la representacin grfica de un algoritmo. Utiliza smbolos
normalizados, con los pasos del algoritmo escritos en el
smbolo adecuado y los smbolos unidos por flechas,
denominadas lneas de flujo, que indican el orden en que
los pasos deben ser ejecutados.

Diagrama de Flujo
Es la representacin grfica de un algoritmo
Esta representacin se da cuando varios smbolos se
relacionan entre s mediante lneas que indican el orden en
que se deben ejecutar los procesos
Los smbolos han sido normalizados por la ANSI
Recomendaciones
Usar lneas de flujo horizontales y/o verticales
Evitar cruce de lneas utilizando conectores
Usar conectores slo cuando sea necesario
Se trazan los smbolos de manera de leer de arriba abajo y de
izquierda a derecha
El texto escrito dentro del smbolo debe ser clara

LOS SMBOLOS PRINCIPALES SON:


Inicio y final del diagrama
Indica la entrada y salida de datos
Smbolo de proceso y/o ejecucin de una
operacin
Smbolo de decisin
Conector dentro de la pgina

Elabore un algoritmo representado en diagrama de flujo


que sume dos nmeros

S-ar putea să vă placă și