Está en la página 1de 16

Por: Ing. Msc.

Alberto Martín Medina Villacorta

“Etapas del programador de software”

Algoritmos Algoritmos
Algoritmo, Conjunto de Los pasos se deben
pasos secuenciales que llevar a cabo uno
ordenados de una después del otro y
manera correcta deben estar ordenados,
permiten resolver un representan el camino
problema concreto. a seguir para resolver
Para realizar un un problema.
algoritmo con éxito es El orden en que se
necesario tener bien ejecuta cada uno de los
claro el objetivo a pasos del algoritmo es
lograr. fundamental.
Por: Ing. Msc. Alberto Martín Medina Villacorta

Algoritmos Algoritmos
¿…?
Se representan Cuando en algún caso no
gráficamente con se sabe que hacer, se debe
diagramas de flujo replantear el objetivo,
o formas similares. pues de hecho no estaba
También pueden claro.
escribirse en forma Para estructurar un
INICIO
de pseudocódigo, algoritmo de forma precisa
lo que además los solo existe una forma:
hacen muy fáciles “empezar por el principio
de entender. y terminar por el final”. FIN

Análisis y diseño de un algoritmo Análisis y diseño de un algoritmo


Objetivo: Comprar el libro “La Biblia de Java Una vez hecho esto se pide el libro en
2” de Steven Holzner. cuestión, si lo tienen se adquiere y si no,
(El objetivo parece ambiguo, pero no lo es, se ira hacia otra librería en donde se repite
pues lo que se desea es comprar el libro). este proceso.
Algoritmo: Se puede expresar de otra manera para
Primero se tiene que condicionar la entrada, convertirlo en un proceso secuencial de
existen dos opciones posibles, la primera es modo que el algoritmo sea apto para
que estamos en cualquier lugar y la segunda cualquier libro.
es que estamos en una librería.
Por: Ing. Msc. Alberto Martín Medina Villacorta

Ejemplo Observaciones
Pseudocódigo: Si se pone paso a paso se tiene  Se deben cumplir las ordenes del
por ejemplo: Algoritmo ComprarLibro algoritmo (Es decir hacer las tareas, no
Inicio solo pasar por ellas)
1. Conocer el libro a comprar
2. Trasladarse a una librería
3. Preguntar si tienen el libro
deseado
4. Si lo tienen
Comprarlo e ir a Fin
Si no lo tienen
Ir al paso 2.
Fin

Observaciones Clasificación de Algoritmos


 Si se realizan todos los pasos, se puede
comprar cualquier libro. (La connotación Algoritmos informales
del algoritmo es genérica) • No pueden ser llevados a cabo por una
computadora.
 Una vez realizado el algoritmo se puede
• Las ejecuta el ser humano: ir al trabajo, dar
obtener varios resultados finales: un beso, comprar un artículo, etc.
adquirir el libro o que el libro este
agotado o que no haya existido nunca. Algoritmos computacionales
 La prueba de escritorio: simula la puesta • Son llevados a cabo por una computadora.
en marcha del algoritmo. (Para corregir) • Aprovecha la velocidad de procesamiento.
Por: Ing. Msc. Alberto Martín Medina Villacorta

Posible metodología… Concepto de regla sintáctica


Las reglas de sintaxis, son todas las restricciones
técnicas sobre las que se construyen todos los
Transcripción lenguajes de programación.
• Proceso que convierte un algoritmo en Por ejemplo, en C, C++ y Java para declarar una
instrucciones que la computadora puede variable de tipo entero, se hace así:
entender, se ajusta a reglas sintácticas int miVariable;
del Lenguaje de Programación Se debe hacer tal cual, si se escribe Int o INT el
• Al concluir la transcripción se tiene un compilador del C, C++ y Java al revisar el código
programa informático en forma de indicará un error de sintaxis.
código fuente. En Visual Studio: Dim miVariable as Integer

Concepto de código fuente Posible metodología…


El código fuente es aquel algoritmo que ha
sido transcrito siguiendo las reglas sintácticas Digitación
de un lenguaje de programación. • Proceso en el que se pasa el código fuente
Es una forma no ejecutable de un programa del papel a un editor de texto, en el cual
informático. se guardara en formato digital.
En el código fuente de un programa está
Compilación
descrito por completo el funcionamiento
interno del programa (la lógica), por lo que • Compilación, es el proceso de revisión del
puede ser estudiado para su edición. programa para ver si cumple las reglas
sintácticas del lenguaje utilizado.
Por: Ing. Msc. Alberto Martín Medina Villacorta

Concepto de compilación Que detecta el compilador


Para llevar a cabo este proceso, todo lenguaje
de programación cuenta con un programa • Son parecidos a los errores de
ortografía de un idioma.
llamado compilador el cual dice si el programa Errores
• Se caracterizan por omitir o
contiene errores y en que líneas de código Sintácticos modificar las reglas de
están, inclusive da sugerencias de corrección. sintaxis.
Es el proceso de traducción del código fuente
(escrito en un lenguaje de programación) a
lenguaje máquina (código objeto) para que Errores de • El compilador sugiere cierta
forma de escribir el código
pueda ser ejecutado por las computadoras, Precaución para evitar errores futuros.
que sólo entienden el lenguaje máquina.

El proceso de compilación
Que NO detecta el compilador

Error de • Si no se programa de forma


correcta el compilador no
Lógica puede decidir lo que se
debe hacer.
• Este tipo de errores solo
puede detectarse en las
llamadas “pruebas de
escritorio” o por ensayo.
• Son errores del
programador
Por: Ing. Msc. Alberto Martín Medina Villacorta

Posible metodología… Algoritmos - Características


Ejecución Correctos
• Cuando el compilador indica que no existen • Es decir que no tengan
errores se podrá “correr” el programa errores de ninguna
esperando que cumpla con el objetivo índole.
deseado.
Precisos
Optimización
• No tienen ambigüedades
• Llamado “mejora”, o “pruebas”, si el que generen dudas
programa funciona, se trata de simplificar el respecto a su
código para hacer más eficiente el programa. comportamiento.

Algoritmos - Características Algoritmos - Características


Eficientes
Genéricos • Deben
• Que sean una solución reutilizable. optimizar el
tiempo de
procesamiento
Finitos y el espacio de
memoria
• Que tengan un límite de sentencias a
necesario.
ejecutar.
Por: Ing. Msc. Alberto Martín Medina Villacorta

Concepto de Programa Fases de un Programa


Un programa informático es la implementación
de un algoritmo computacional en un lenguaje
de programación.
Esta formado por instrucciones que la
computadora realiza mediante las operaciones
o tareas que se le indican para resolver un
problema.
Para poder realizar programas se necesitan de
los lenguajes de programación.

Lenguajes de Programación Lenguajes de Programación


Se habla de instrucciones que se le dan a una
computadora para que realice ciertas tareas u
operaciones mediante instrucciones llamados
“programas”
Una instrucción es un conjunto de símbolos que
representan un mandato y se forman mediante
símbolos pertenecientes al conjunto de
componentes del lenguaje (Componente léxico)
y son construidos siguiendo las reglas
sintácticas del mismo.
Fuente: http://www.webbizarro.com/noticias/814/los-lenguajes-de-programacion-mas-utilizados/
Por: Ing. Msc. Alberto Martín Medina Villacorta

Lenguajes de Programación Lenguajes de Programación

Lenguajes de Programación Lenguajes de Programación

February 2, 2016
Por: Ing. Msc. Alberto Martín Medina Villacorta

Lenguajes de Programación Lenguajes de Programación


El índice TIOBE (TIOBE, The Importance of Being Earnest) es un informe mensual
que elabora TIOBE Software BV es una empresa afincada en Eindhoven (Holanda)

Fuente: https://www.tiobe.com/tiobe-index/ Fuente: https://www.tiobe.com/tiobe-index/

Componente léxico Niveles de lenguajes


Es un elemento de un lenguaje de programación • Instrucciones en forma binaria.
y puede ser: Lenguaje
• Depende de la arquitectura de la
Máquina computadora.
Palabra
Literal Operador Lenguaje de • Ensamblador, cada línea de código
reservada es una instrucción.
bajo nivel • Instrucciones elementales.
Lenguaje de • Por ejemplo C
nivel medio
• Instrucciones de forma abstracta,
Comentario Delimitador Identificador
Lenguaje de deben ser traducidas .
alto nivel • Independientes de la arquitectura
de la computadora
Por: Ing. Msc. Alberto Martín Medina Villacorta

Resumen Lenguajes de programación:


Evolución

Fuente: http://vannelarenas.blogspot.pe/2011/06/mapa-conceptual-lenguajes-de.html • Imagen tomada de http://www.usemoslinux.com/tag/rust/

Los más representativos Los más representativos

• Imagen de Duke, la mascota de Java, se distribuye bajo una licencia libre!


Por: Ing. Msc. Alberto Martín Medina Villacorta

Los más representativos Los más representativos

Los más representativos Los más representativos


Por: Ing. Msc. Alberto Martín Medina Villacorta

Los más representativos Los más representativos

Los más representativos Los más representativos


Por: Ing. Msc. Alberto Martín Medina Villacorta

Los más representativos Los más representativos

Los más representativos Los más representativos


Por: Ing. Msc. Alberto Martín Medina Villacorta

Algunos recursos Algunos recursos

www.levenez.com/lang/

Punzonadora IBM-0029
http://www.rieb.kobe-u.ac.jp/riebcomp/history/g18.html

Lenguajes de alto nivel


Clasificación: Lenguajes de alto nivel • Son muy parecidos al lenguaje humano, manejan
conceptos, tipos de datos, etc., de una manera
Programación
estructurada cercana al pensamiento humano abstrayéndose
Lenguajes del funcionamiento de la máquina.
imperativos
• Fueron creados para que sea mas fácil crear
Programación
orientada a programas ya que podemos entender lo que
Lenguajes de objetos escribimos y nos es mas sencillo.
alto nivel
• Una sola instrucción de lenguaje de alto nivel
contiene varias instrucciones de un lenguaje de
Lenguajes
declarativos bajo nivel y así mismo este tiene varias en
lenguaje maquina.
Por: Ing. Msc. Alberto Martín Medina Villacorta

Lenguajes de alto nivel Traductores


Ventajas:
• Genera un código mas sencillo y comprensible Son programas que transforman programas
• Escribir un código valido para diversas hechos en un lenguaje de alto nivel al lenguaje
maquinas y, posiblemente, sistemas operativos. máquina(producen código máquina).
Desventajas: Existen diferentes
• Reducción de velocidad al ceder el trabajo de tipos de
bajo nivel a la maquina. traductores: los
• Algunos requieren que la maquina cliente compiladores y
los interpretes,
posea una determinada plataforma.
los que realizan la
• Principales lenguajes de alto nivel: BASIC, PHP,
misma función de
PERL, RUBY, MATLAB, JAVA distintas maneras

Funciones de un Traductor Traductores


Compilador: programa que toma como entrada
Programa en
Programa un texto escrito en un lenguaje llamado código
lenguaje de
alto nivel
Traductor fuente y da como salida otro texto en un
lenguaje denominado objeto.
Interprete: son programas que analizan,
Programa en traducen y ejecutan instrucciones de un
Computadora lenguaje
programa en forma secuencial, no se traduce
máquina
instrucción alguna hasta haber finalizado la
instrucción anterior. (p.e. motor de scripts)
Por: Ing. Msc. Alberto Martín Medina Villacorta

Diferencia: Compilador-Interprete Funciones del Compilador


Cualquier lenguaje puede ser ejecutado tanto
vía intérprete o vía compilador, pero algunos
lenguajes suelen asociarse a una vía más que a
la otra y por esto son llamados “Lenguajes
interpretados” o “Lenguajes compilados”
respectivamente.
En general la principal desventaja de los
intérpretes, es que cuando un programa es
interpretado suele ejecutarse mas lento que si
el miso programa estuviese compilado.

Resumen para “programa”

También podría gustarte