You are on page 1of 22

Fundamentos de Programación

Algoritmo
Un algoritmo es una serie de operaciones detalladas y no
ambiguas, a ejecutar paso a paso, y que conducen a la
resolución de un problema. En otras palabras, un algoritmo
es un conjunto de reglas para resolver una cierta clase de
problema o una forma de describir la solución de un
problema.
Un algoritmo es el medio por el que se explica cómo puede
resolverse un problema, mediante aproximaciones paso a
paso.

Metodología de la Programación Lic. Julian Reyes


Algoritmo
Un algoritmo es un método para resolver un problema. Los
algoritmos son independientes tanto del lenguaje de
programación en que se expresan como de la computadora
que los ejecuta. En cada problema el algoritmo se puede
expresar en un lenguaje diferente de programación y
ejecutarse en una computadora distinta; sin embargo, el
algoritmo será siempre el mismo. Así, por ejemplo, en una
analogía con la vida diaria, una receta de un plato de cocina
se puede expresar en español, inglés o francés, pero
cualquiera que sea el lenguaje, los pasos para la elaboración
del plato se realizarán sin importar el idioma del cocinero.

Metodología de la Programación Lic. Julian Reyes


Características de los Algoritmos

 Debe ser preciso e indicar el orden de realización de cada


paso.
 Debe estar definido. Si se sigue un algoritmo dos veces, se
debe obtener el mismo resultado cada vez.
 Debe ser finito. Si se sigue un algoritmo, se debe terminar
en algún momento; o sea, debe tener un número finito de
pasos.

Metodología de la Programación Lic. Julian Reyes


Partes de un Algoritmo

La definición de un algoritmo debe describir tres partes:


Entrada, Proceso y Salida. En el algoritmo de receta de cocina
citado anteriormente se tendrá:

 Entrada: ingredientes y utensilios empleados.


 Proceso: elaboración de la receta en la cocina.
 Salida: terminación del plato (por ejemplo, cordero).

Metodología de la Programación Lic. Julian Reyes


Fases en la Resolución de un Problema
Las fases de resolución de un problema con computadora son:
 Análisis del problema.
 Diseño del algoritmo.
 Codificación.
 Compilación y ejecución.
 Verificación.
 Depuración.
 Mantenimiento.
 Documentación.

Metodología de la Programación Lic. Julian Reyes


Ciclo de Vida del Software

 Análisis. El problema se analiza teniendo presente la


especificación de los requisitos dados por el cliente de la
empresa o por la persona que encarga el programa.
 Diseño. Una vez analizado el problema, se diseña una
solución que conducirá a un algoritmo que resuelva el
problema.
 Codificación (implementación). La solución se escribe en la
sintaxis del lenguaje de alto nivel (por ejemplo, C) y se
obtiene un programa.

Metodología de la Programación Lic. Julian Reyes


Ciclo de Vida del Software
 Ejecución, verificación y depuración. El programa se
ejecuta, se comprueba rigurosamente y se eliminan todos
los errores (denominados «bugs», en inglés) que puedan
aparecer.
 Mantenimiento. El programa se actualiza y modifica, cada
vez que sea necesario, de modo que se cumplan todas las
necesidades de cambio de sus usuarios.
 Documentación. Escritura de las diferentes fases del ciclo
de vida del software, esencialmente el análisis, diseño y
codificación, unidos a manuales de usuario y de referencia,
así como normas para el mantenimiento.

Metodología de la Programación Lic. Julian Reyes


Lenguajes de Programación
 Los lenguajes máquina son aquellos que están escritos en
lenguajes directamente inteligibles por la máquina (binario).
 Los lenguajes de bajo nivel son más fáciles de utilizar que
los lenguajes máquina, pero, al igual, que ellos, dependen
de la máquina en particular. El lenguaje de bajo nivel por
excelencia es el ensamblador.
 Los lenguajes de alto nivel son los más utilizados por los
programadores. Están diseñados para que las personas
escriban y entiendan los programas de un modo mucho más
fácil que los lenguajes máquina y ensambladores. Otra
razón es que un programa escrito en lenguaje de alto nivel
es independiente de la máquina.

Metodología de la Programación Lic. Julian Reyes


Traductores de lenguaje
Los traductores de lenguaje son Código fuente
programas que traducen a su vez los
programas fuente escritos en lenguajes Intérprete
de alto nivel a código máquina.
 Un intérprete es un traductor que Traducción y ejecución
toma un programa fuente, lo traduce
y a continuación lo ejecuta. Código fuente
 Un compilador es un programa que
traduce los programas fuente escritos Compilador
en lenguaje de alto nivel a lenguaje
máquina.
Código objeto

Metodología de la Programación Lic. Julian Reyes


Identificadores
Un identificador es un conjunto de caracteres alfanuméricos
que sirve para identificar las entidades del programa (clases,
funciones, procedimientos, variables, constantes, etc.).
 Debe comenzar con una letra (A-Z, a-z)
 No debe incluir caracteres especiales («#$%&()=?)
 No deben ser palabras reservadas de los lenguajes (true,
false, if, for while, integer, double, etc.)
 El nombre del identificador debe dar una idea del valor
que contiene. Si la variable almacena la edad, no debe
llamarse X.
 Puede separar las palabras con guión bajo o CamelCase,
i.e. nota_final, NotaFinal o notaFinal.

Metodología de la Programación Lic. Julian Reyes


Tipos de Datos
Numéricos Datos Simples: son todos
aquellos que abarcan una
Simples Alfanuméricos sola casilla de memoria
como los boleanos,
Lógicos enteros, flotantes, etc.

Arreglos Datos Compuestos: son


arreglos de cadenas, pilas
Compuestos Registros o estructuras, abarcan
mas de una casilla de
Archivos memoria.

Metodología de la Programación Lic. Julian Reyes


Variables, Constantes y Literales

 Variable: es una posición con nombre en memoria donde se


almacena un valor de un cierto tipo de dato (cadenas,
números y estructuras). Su valor puede cambiar durante la
ejecución del programa. (total = precio * cantidad)
 Constante: es un valor que no puede ser alterado o
modificado durante la ejecución de un programa,
únicamente puede ser leído. (isv = 0.15)
 Literal: es un valor constante formado por una secuencia de
caracteres. También se les llama valores en duro.
(si nota>60 entonces …).

Metodología de la Programación Lic. Julian Reyes


Operadores
Son un tipo de tokens que pueden aparecer en las
expresiones, e indican al compilador la realización de
determinadas operaciones matemáticas, lógicas y
numéricas.

Los operadores se clasifican en:


 Aritméticos: +, -, /, *, mod (%)
 Lógicos: and, or, not
 Relacionales: <, >, <=, >=, =, ==, <>, !=

Metodología de la Programación Lic. Julian Reyes


Pseudocódigo

El pseudocódigo es una herramienta de programación en


la que las instrucciones se escriben en palabras similares
al inglés o español, que facilitan tanto la escritura como la
lectura de programas. En esencia, el pseudocódigo se
puede definir como un lenguaje de especificaciones de
algoritmos. El principal objetivo del pseudocódigo es el de
representar la solución a un algoritmo de la forma más
detallada posible, y a su vez lo más parecida posible al
lenguaje que posteriormente se utilizará para la
codificación del mismo.

Metodología de la Programación Lic. Julian Reyes


Pseudocódigo - ejemplo
Proceso sumaNumeros
definir num1, num2, suma como entero;
num1=0;
num2=0;
suma=0;
escribir "Ingrese un número";
leer num1;
escribir "Ingrese otro número";
leer num2;
suma=num1+num2;
escribir " La suma es ", suma;
Fin proceso
Metodología de la Programación Lic. Julian Reyes
Flujograma

Es una representación gráfica de un algoritmo. Los


símbolos utilizados han sido normalizados por el
Instituto Norteamericano de Normalización (ANSI). El
flujograma hace que sea mucho más sencillo el
análisis de un determinado proceso para la
identificación de, por ejemplo, las entradas de los
proveedores, las salidas de los clientes y de aquellos
puntos críticos del proceso.

Metodología de la Programación Lic. Julian Reyes


Flujograma - simbología

Símbolo Utilidad
Indica el inicio y el final del
Inicio/Fin flujograma.

Entrada/ Entrada y salida de datos desde


Salida cualquier periférico.

Entrada manual principalmente


Teclado mediante el teclado.

Ejecución de actividades dentro


Proceso del flujograma.

Metodología de la Programación Lic. Julian Reyes


Flujograma - simbología

Símbolo Utilidad
Operación Indica la realización de una
manual actividad de forma manual.

Impresora/ Salida de datos mediante


documento impresora o documento.

Salida de datos a través de


Pantalla monitor o pantalla.

Evalúa una condición y a


Decisión continuación ejecuta una acción.

Metodología de la Programación Lic. Julian Reyes


Flujograma - simbología

Símbolo Utilidad
Indica el seguimiento lógico de
Flechas de flujo cada paso del flujograma.

Conecta dos partes del flujograma


dentro de la misma página.
Conector interno
Conecta dos partes del flujograma
en diferentes páginas .
Conector externo
Indica el guardado de la
Base de datos información en una base de datos.

Metodología de la Programación Lic. Julian Reyes


Flujograma - ejemplo 1

Inicio "Ingrese otro


número"
Num1=0
Num2=0
Num2
Suma=0

"Ingrese un Suma= Num1+Num2


número"
"La suma es ",
Num1 Suma

1
Fin

Metodología de la Programación Lic. Julian Reyes


Fundamentos de Programación

You might also like