You are on page 1of 50

Ing.

RENZO JOVANI PARDO URBANO


E-MAIL. rpardo@unicauca.edu.co
Cel. 3215382554
Elementos y conceptos fundamentales

El PC no solamente es una maquina que puede realizar


procesos para darnos resultados, si no tambin podemos
disear soluciones a la medida de problemas
especficos que se nos presentan.

A las soluciones creadas para la ejecucin por parte del


PC se le denomina programa y no son mas que una
serie de pasos y procedimientos que realiza la
computadora para llegar a un resultado, manejando un
grupo de datos especficos.
Programa: Conjunto de instrucciones y ordenes
escritas y que ejecutadas secuencialmente
resuelven un problema especifico. Para ser
introducidas en un PC necesitan de algn lenguaje
de programacin especifico

Lenguaje de programacin: Conjunto de smbolos


, caracteres, instrucciones y reglas que permiten a
las personas comunicarse con la computadora

Los lenguajes de programacin se clasifican en:


Lenguaje Maquina: Aquellos cuyas instrucciones son
directamente entendibles por el PC y no necesitan
traduccin posterior para que la CPU pueda
comprender y procesar el programa.

Lenguaje de bajo nivel (Ensamblador): En este


lenguaje las instrucciones se escriben en cdigos
alfabticos conocidos como mnemotcnicos para las
operaciones y direcciones simblicas.
Lenguaje de medio nivel: Se caracteriza por
utilizar comandos, instrucciones y sentencias que
tienen ciertas caractersticas similares al lenguaje
humano pero que exigen del programador un
conocimiento aceptable de la maquina

Lenguaje de alto nivel: Son aquellos en los que


las instrucciones o sentencias de la computadora
son escritas con palabras similares a los lenguajes
humanos (Generalmente Ingles), Lo que facilita la
escritura y comprensin del programa. A dems a
este tipo de lenguajes se suman los de carcter
visual.
Algoritmo: Combinacin definida de operaciones y smbolos
que permiten describir un proceso a seguir, con el fin de dar
una soluciona un problema especifico.

Caractersticas de un algoritmo:
Precisin: debe ser muy exacta la especificacin de cada
paso a realizar
Definido: Cada vez que se ejecuten las instrucciones del
algoritmo se deben obtener los mismos resultados
Finito: El numero de pasos a seguir en la ejecucin de la
tarea que indica el algoritmo debe ser finito
Tipos de algoritmo:
Cualitativos: Son aquellos en los que se describen los pasos
utilizando palabras
Cuantitativos: Son aquellos en los que se utilizan clculos
numricos para definir los pasos del proceso (Ecuaciones)
Tipos de lenguajes Algortmicos:
Grficos: Son la representacin grafica de la secuencia de
operaciones que indica un algoritmo (Diagrama de flujo)
No grficos: Representan en forma descriptiva (textual) las
operaciones que indica un algoritmo (Pseudocdigo)
Metodologa para la creacin de algoritmos

Definicin del problema: Fase dada por el


enunciado del problema, el cual requiere una
definicin clara del mismo.

Anlisis, diseo y solucin de un problema mediante


el planteamiento de un algoritmo:
La primer fase es identificacin del problema, se
logra recibiendo del cliente toda la informacin
referente a la forma en que el ve el problema,
captando de esta manera las variables que se
presentan y como se relacionan entre si
Tener comunicacin constante con el cliente para
efectos de depurar exactamente lo que el desea que
se le solucione y como desea que se haga.

Una vez se ha comprendido lo que se desea realizar,


se define:

El entorno del sistema


Las variables y estmulos de entrada (Datos de
entrada)
Cual es la informacin que se desea producir
Caractersticas de un buen algoritmo:
Debe tener un punto particular de inicio
Debe ser especifico, no permitir dobles interpretaciones
Debe ser general, es decir, soportar la mayora de las
variantes que se presenten en la definicin del problema
Debe ser finito en tamao y tiempo de ejecucin.

Prueba y depuracin del algoritmo


Es necesario hacer pruebas de escritorio a cada uno de los
algoritmos fundamentales que componen dichas funciones
bsicas. Todo esto con el fin de identificar posibles errores
de procedimiento o de concepto en los
Codificacin.
Operacin de escribir la solucin del problema en
una serie de instrucciones detalladas, en un cdigo
reconocible por el PC.
A la serie de instrucciones detalladas se le conoce
como Cdigo Fuente, el cual se escribe en un
lenguaje de programacin.

Prueba y depuracin del cdigo fuente.


Los errores humanos dentro de la programacin de
computadoras son muchos y aumentan
considerablemente con la complejidad del
problema. Eliminar errores, para dar paso a una
solucin sin errores se le llama depuracin.
Documentacin.
Es uno de los procesos mas importantes en la concepcin
de un algoritmo, ya que mediante una documentacin bien
detallada, un programa escrito por una persona, puede ser
usado por otra o por el mismo creador en un futuro lejano.
La documentacin sirve para ayudar a comprender o usar
un programa o para facilitar futuras modificaciones
(Mantenimiento)

La documentacin se divide en tres partes:


Documentacin interna
Documentacin externa
Manual de Usuario
Documentacin interna: Comentarios o mensajes
que se aaden al cdigo fuente para ser mas claro el
entendimiento de un proceso
Documentacin externa: Documento escrito con los
siguientes puntos:
Descripcin del problema
Diagrama fundamental del sistema
Diseo modular completo del sistema
Algoritmo
Diccionario de datos
Cdigo fuente
Manual de Usuario
Mtodo para la realizacin de una solucin
software de baja a mediana complejidad
Un programa puede considerarse como una
secuencia de acciones (Instrucciones) que
manipulan un conjunto de objetos (Datos)

Bloque de declaraciones: Constantes,


variables, tablas, registros, archivos, etc.

Bloque de instrucciones: Conjunto de


operaciones que se han de realizar para la
obtencin de los resultados deseados
Partes principales de un programa

Entrada de datos: Instrucciones que toman datos


de un dispositivo externo

Proceso o Algoritmo: Formado por las


instrucciones que modifican los objetos a partir de
su estado inicial hasta el estado final, dejando estos
disponibles en la memoria central

Salida de resultados: Instrucciones que toman los


datos finales de la memoria central
Tipos de programas
Un programa por lo general, estar compuesto por una
secuencia de acciones, algunas de las cuales sern
alternativas o repetitivas. En determinados programas
no se da esta mezcla de acciones, en cuyo caso los
podemos clasificas as:

Programas lineales: Secuencia de acciones primitivas


Programas alternativos: Anidamiento de acciones
alternativas
Programas cclicos: Conjunto de acciones se repiten
un numero determinado o indeterminado de veces
Otra clasificacin relativa a la aplicacin desarrollada por el
programa es:
Programas de gestin: Manejo de gran cantidad de datos
Programas Tcnico - Cientficos: Realizan gran cantidad de
clculos
Programas de diseo (CAD): Tecnicas graficas para
resolver problemas de diseo
Programas de simulacin: Intentan reflejar una situacin
real, para facilitar su estudio
Programas educativos: Utilizan ventajas del ordenador para
la docencia
Programas de inteligencia artificial: Se utilizan para simular
el razonamiento humano
Tipos de datos
Todos los datos tienen un tipo asociado con ellos
Tipos de datos simples
Datos numricos: Permiten representar valores
escalares de forma numrica

Datos lgicos: Aquellos que solo pueden tener


dos valores (verdadero o falso)

Datos alfanumricos (String): Secuencia de


caracteres alfanumricos que permiten representar
valores identificables de forma descriptiva, esto
incluye nombres de personas, direcciones, etc.
Tipos predefinidos de lenguaje: Los lenguajes de alto nivel,
ofrecen al programador definir sus propios tipos de datos

Boolean (Tipo lgico)


Char (Tipo carcter)
False (Valor lgico falso)
Integer (Tipo entero normal)
Null (Valor nulo)
Real (Tipo decimal normal)
True (Valor lgico verdadero)

Tipos enumerados: Manera sencilla de definir un nuevo tipo de


dato, es numerar todos los posibles valores que puedo tomar
Tipos de datos estructurados

Vectores o Arrays: Conjunto de variables del


mismo tipo que pueden responder a un nombre
comn
Matrices: Organizacin de una o mas variables
agrupadas bajo un mismo nombre para realizar un
manejo conveniente de la informacin que
contienen
Expresiones y operadores
Las expresiones son combinaciones de constantes, variables,
smbolos de operacin, parntesis y nombres de funciones
especiales. Ej.

A + (B + 3)/C , Una expresin consta de operadores y operandos

Las expresiones se clasifican en:


Aritmticas
Relacionales
Lgicas
Operadores y operandos
Operadores: Elementos que relacionan de forma diferente los
valores de una o mas variables y/o constantes
Tipos de operadores:
Aritmticas
Relacionales
Lgicas

Operadores aritmticos: Permiten la realizacin de


operaciones matemticas con los valores (Variables y
constantes) y son: Suma, Resta, Multiplicacin, Divisin
Prioridad de los operadores aritmticos
Todas las expresiones entre parntesis se evalan
primero.
Los parntesis anidados se evalan de adentro hacia
afuera (el mas interno se evala primero)
Dentro de una misma expresin los operadores se
evalan en el siguiente orden:

1. Exponenciacin (^)
2. Multiplicacin y Divisin
3. Suma y Resta
Operadores relacionales
Se utilizan para establecer una relacin entre dos
variables
Comparan valores entre si y el producto de esta
comparacin es un resultado de certeza o falsedad
(verdadero o falso)
Los operadores relacionales solo comparan valores del
mismo tipo(nmeros o cadenas)
Tienen el mismo nivel de prioridad en su evaluacin
Los operadores relacionales tienen menor prioridad
que los aritmticos
Operadores relacionales

> (Mayor que)


< (Menor que)
>= (Mayor o igual que)
<= (Menor o igual que)
<> (Diferente)
= (Igual)
Operadores lgicos

Se utilizan para establecer relacin entre valores lgicos


Estos valores pueden ser resultado de una expresin
relacional
Operadores lgicos
Prioridad de los operadores
And (Y)
lgicos
Or (O) 1. Not
Not (Negacin) 2. And
3. Or
Prioridad de los operadores en general

1. Parntesis ()
2. Exponencial (^)
3. Multiplicacin (*), Divisin (/), Negacin (Not)
4. Sumas (+), Restas (-), Y (And)
5. >, <, >=, >=, <>, =, O (Or)
Constantes y Variables
Constante: Dato numrico o alfanumrico que no cambia durante la
ejecucin dl programa. Ejemplo 3,1416 ()

Variable:
Espacio en la memoria del PC en el cual se almacena
temporalmente un dato durante la ejecucin de un proceso
Su contenido puede cambiar durante el desarrollo del programa
Para reconocer la variable en el PC es necesario darle un nombre
con el cual podamos identificarla dentro del programa
Ejemplo:
rea = * Radio
Variables: rea, Radio,
Constante:
Clasificacin de las variables:
Clasificacin de las variables
Por su contenido:
Variables numricas: Aquellas en las cuales se
almacenan valores numricos, positivos o negativos,
enteros o reales, y el punto decimal

Variables lgicas: Solo pueden tener dos valores (Falso


o Verdadero)

Variables alfanumricas: Formados por caracteres


alfanumricas (letras, nmeros y caracteres especiales)
Clasificacin de las variables
Por su uso:
Variables de trabajo: Reciben el resultado de una operacin
matemtica completa y que se usan normalmente dentro de
un programa

Contadores: Se utilizan para el control del numero de


ocasiones en que se realiza una operacin o se cumple una
condicin

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
Diagramas de flujo
Representacin grafica de un algoritmo.
Representacin detallada de como deben realizarse los pasos en
la computadora para producir los resultados esperados

Recomendaciones para el diseo de un diagrama de flujo


Usar solamente lneas de flujo horizontales
Evitar el cruce de lneas utilizando los conectores
Usar conectores solo cuando sea necesario
No dejar lneas de flujo sin conectar
Trazar los smbolos de manera que se puedan leer de arriba hacia
abajo y de izquierda a derecha
Todo texto escrito dentro de un smbolo deber ser escrito
claramente, evitando el uso de muchas palabras
Los smbolos utilizados han sido normalizados por el
instituto norte americano de normalizacin (ANSI)
Pseudocdigo
Mezcla de lenguaje de programacin y espaol (o
ingles o cualquier otro idioma) que se emplea,
dentro de la programacin estructurada, para
realizar el diseo de un programa

En esencia, 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 solucin a un problema
determinado
Principales palabras reservadas que utiliza el
pseudocdigo en espaol

Leer (Instruccin de lectura del teclado)


Escribir (Instruccin para escribir en pantalla)
Leer_pto (Instruccin de lectura en un puerto del PC)
Escribir_pto (Instruccin de escritura en un puerto
del PC)
Leer_Archivo (Instruccin de lectura desde una
unidad de disco)
Escribir_Archivo (Instruccin de escritura en una
unidad de disco)
Ventajas de utilizar pseudocdigo frente a
Diagramas de Flujo

Ocupa menos espacio en una hoja de papel


Permite representar en forma fcil operaciones
repetitivas complejas
Es muy fcil pasar de pseudocdigo a un programa
en algn lenguaje de programacin
Si se siguen las reglas se pueden observar
claramente los niveles que tiene cada operacin
Estructuras algortmicas
Grupo de formas de trabajo, que permiten, mediante la
manipulacin de variables, realizar ciertos procesos
especficos que nos lleven a la solucin de problemas
Estas estructuras se clasifican de acuerdo a su
complejidad en:
Secuenciales
Aquella en las que una accin (Instruccin) sigue a otra en secuencia
La salida de una es la entrada de otra y as sucesivamente hasta el final
del proceso

Asignacin: Paso de valores o resultados a una zona de la memoria y


se clasifican as:

Simple: Pasar un valor constante a una variable


Contador: verificador del numero de veces que se realiza un
proceso
Acumulador: Se usa como un sumador en un proceso
Lectura: Consiste en recibir desde un dispositivo de
entrada (Ej. teclado) un valor. Esta operacin por
pseudocdigo seria as:

Leer a,b (Donde a y b son las variables que recibirn los


valores)

Escritura: Consiste en enviar por un dispositivo de salida


(Ej. Monitor, impresora) un resultado o mensaje. Esta
operacin por pseudocdigo seria as:

Escribe El resultado es R
Condicionales
Comparan una variable con otro(s) valor(es), para
que basado en el resultado de esta comparacin, se
siga un curso de accin dentro del programa
Existen dos tipos bsicos:
Mltiples: Tomas de decisin
especializada que permiten
Simples: Llamadas tambin
comparar una variable contra
Tomas de decisin y
distintos posibles resultados
tienen la siguiente forma:
Si <Condicin> entonces
Si <Condicin>
Accin(es)
entonces
Si no
Accin(es)
Accin(es)
Fin si
Fin si
Mltiples: Tomas de decisin especializada que
permiten comparar una variable contra distintos
posibles resultados

Si <Condicin> entonces
Accin(es)
Si no
Si <Condicin> entonces
Accin(es)
Si no
(Varias condiciones)
Fin si
Cclicas
Aquellos en cuya solucin es necesario utilizar un mismo
conjunto de acciones que se puedan ejecutar una
cantidad especifica de veces
Hacer Para:

Calcular el promedio
de un alumno que
tiene 7 calificaciones
en la materias de
programacin
Hacer Mientras: Repetir hasta:
Repite un proceso Repite un proceso una
durante n veces, cantidad de veces,
donde n puede ser pero a diferencia de la
fijo o variable anterior lo hace hasta
que la condicin se
Hacer mientras<Condicin> cumpla
Accin 1
Accin 2 Repetir
Accin 1
Accin n Accin 2
Fin-mientras Accin n
Hasta <Condicion>
Programacin modular
Al realizar programacin estructurada es importante modularizar el
software

Subprogramas
Un problema complejo se puede dividir en pequeos sub-
problemas mas sencillos que cooperando entre si y guiados por
una directiva principal producen un resultado concreto

Un subprograma es un conjunto de sentencias que realizan una


determinada tarea y que pueden ser ejecutadas desde mas de un
punto del programa principal

Para efectos de estudio, daremos el nombre de funcin al


contexto general de un subprograma
Llamado a una funcin (Subprograma)
En general al utilizar seudocdigo las funciones se referencian y se
definen antes de comenzar el cuerpo del algoritmo principal. Para
ello se escribe el nombre de la funcin precedido de la palabra clave
Funcin y despus del nombre entre parntesis se coloca la lista de
argumentos que ella debe recibir al ser llamada indicando el tipo de
argumento que se le va a entregar.
Ejemplo
Variables locales y globales
Las variables pueden ser locales o globales,
dependiendo donde hayan sido definidas

Una variable local cuando ha sido definida dentro de


un subprograma y solo este tiene el control sobre
ella. Otros subprogramas no tienen acceso a ella, as
ellos posean variables definidas con el mismo
nombre, ya que para cada definicin se asigna una
localidad de memoria diferentes

La variable principal se considera global


Arreglos
Consiste en un numero fijo, finito y ordenado de elementos, todos
del mismo tipo y bajo un nombre comn para todos ellos.

Un arreglo viene determinado por:


Componente: Cada uno de los elementos de un arreglo
Dimensin: Numero de ndices que utiliza un arreglo
Longitud: Numero de componentes que contiene un arreglo
Tipo: Tipo de los componentes del arreglo
ndice: Posicin de cada componente dentro del arreglo, a cada
componente se puede acceder de forma directa indicando su(s)
ndice(s) y el nombre del arreglo
Los arreglos se clasifican segn su dimensin en:

Unidimensionales (Vectores): Arreglo de N elementos


organizados en una dimensin donde N especifica la
longitud o tamao del vector.

Bidimensionales (Matrices): Es un arreglo de M*N


elementos organizados en dos dimensiones donde M es
el numero de filas y N el numero de columnas

Multidimensionales: Son arreglos de tres o mas


dimensiones. Tambin se les denomina Poliedros

You might also like