0% encontró este documento útil (0 votos)
122 vistas22 páginas

Algoritmos y Lenguajes de Programación

Este documento resume los conceptos clave de los algoritmos y lenguajes de programación. Explica que un algoritmo es un conjunto de pasos para procesar datos y alcanzar un objetivo, mientras que un programa es la implementación de un algoritmo en un lenguaje entendible para una computadora. Luego, describe los tipos de lenguajes de programación, incluyendo lenguajes de bajo y alto nivel, interpretados y compilados, de propósito general y específico. Finalmente, resume el proceso de programación, incluyendo la edición, compilación, enlace y

Cargado por

alvarochavezz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
122 vistas22 páginas

Algoritmos y Lenguajes de Programación

Este documento resume los conceptos clave de los algoritmos y lenguajes de programación. Explica que un algoritmo es un conjunto de pasos para procesar datos y alcanzar un objetivo, mientras que un programa es la implementación de un algoritmo en un lenguaje entendible para una computadora. Luego, describe los tipos de lenguajes de programación, incluyendo lenguajes de bajo y alto nivel, interpretados y compilados, de propósito general y específico. Finalmente, resume el proceso de programación, incluyendo la edición, compilación, enlace y

Cargado por

alvarochavezz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

ALGORITMOS DE PROGRAMACIÓN

PARA INGENIERÍA
Introducción a los algoritmos y estructura de datos

Sesión N°3 y 4

MTR. ING. ALVARO E. CHÁVEZ ZUBIETA


Algoritmo y programa

 Definiremos algoritmo como un conjunto finito de


pasos y acciones que especifican de forma clara
y concisa (sin ambiguedades) la secuencia de
operaciones a realizar para procesar
adecuadamente unos datos con un determinado
objetivo.
 Llamaremos programa a la plasmación
(implementación) de un algoritmo de forma que
pueda ser entendido y ejecutado por un
ordenador, mediante un lenguaje comprendido
por este.
Lenguaje de Programación
 Unlenguaje de programación es un conjunto
controlado de palabras con una sintaxis y una
semántica asociadas que permiten describir
algoritmos de forma que puedan ser ejecutados
por un ordenador.
 Todo lenguaje de programación deberá tener:
 Un vocabulario limitado (palabras reservadas).
 Una sintaxis rígida y sin excepciones y con pocas
variaciones.
 Una semántica estricta y sin ambigüedades.
Tipos de lenguajes

 Según su nivel de abstracción:


 Lenguajes de bajo nivel: Son lenguajes maquina o
cercanos a la maquina.
➔ Código maquina o ensamblador.
 Lenguajes de alto nivel: Son lenguajes cercanos
al usuario o al problema y tienen un alto nivel de
abstracción.
➔ C, C++, Pascal, Fortran, etc.
Tipos de lenguajes
 Según el tipo de ejecución:
 Interpretados:Cada instrucción se traduce al lenguaje
maquina durante el tiempo de ejecución. El programa
que realiza esta tarea se denomina interprete. Ej: Basic o
Perl.
➔ Mas fácil de escribir los programas y encontrar errores.
➔ Ejecución mas lenta y hay que tener disponible el traductor.
 Compilados: El programa fuente completo se traduce a
código maquina directamente ejecutable por parte de
la maquina. Ej: C, Pascal.
➔ Una vez traducido, la ejecución es mas rápida.
Tipos de lenguaje

 Según su propósito:
 De proposito general: BASIC, C, Pascal, Java,...
 De ensenanza: Logo, Pascal…
 De calculo cientifico: Algol, Fortran, Matlab…
 De gestion: Cobol, Modula.
 De gestion de bases de datos: Informix, SQL,
dBASE, Oracle.
 Usados en Inteligencia Artificial: Prolog, Lisp…
Tipos de lenguajes
Según su paradigma de programación:
 Lenguajes procedurales/procedimentales o imperativos (p. ej. C, Pascal, BASIC):
➔ Un programa es una secuencia de acciones que se ejecutan en un orden controlado.
➔ PROGRAMA = PROCEDIMIENTOS + ESTRUCT_DATOS.
 Lenguajes declarativos (p. ej. Prolog):
➔ Un programa es un conjunto de hechos y relaciones entre estos. No existe una
secuencia definida de ejecución.
➔ PROGRAMA = DEF_ELEMENTOS + RELACIONES.
 Lenguajes orientados a objetos (p. ej. C++, Java):
➔ Un programa esta constituido por un conjunto de objetos que intercambian mensajes
entre si.
➔ Cada objeto es una entidad que agrupa una información (su estado) y una serie de
mecanismos para consultar o manipular dicho estado, sus métodos
➔ PROGRAMA = OBJETOS + METODOS + MENSAJES.
Tipos de lenguajes

Según la gestión de memoria:


 De gestión estática de memoria (Fortran):
 ➔Se calcula la memoria cuando se realiza la
traducción
 De gestión dinámica de memoria (Basic, Prolog):
 ➔Se reserva la memoria en ejecución a medida que
van apareciendo variables.
 Memoria de pilas (C, Pascal...):
 ➔Se guarda la información en pilas, apilando y
desapilando información
Proceso de programación
… en un lenguaje de alto nivel:
Proceso de programación...
… en un lenguaje de alto nivel compilado:
 Edición: Escribir el programa fuente en un
editor de textos. Este programa puede
constar de uno o mas modulos.
 Compilación: Usar un compilador para
realizar un analisis lexico y sintáctico del
programa fuente. El resultado sera un
modulo objeto por cada modulo fuente.
 Enlazado (linkado): Los distintos modulos
objeto obtenidos en la compilación se
enlazan para formar un programa binario
ejecutable.
 Ejecución: Carga del programa
ejecutable en memoria y puesta en
funcionamiento.
… en un lenguaje de alto nivel compilado:

Editor de Entorno de programación DEV C++ Linker o


texto enlazad
compilador or Cargador
S.O.

Montar, Cargar en
compilación linkar o memoria
Programa Programa Programa Programa
fuente Objeto enlazar ejecutable ejecución

Modulo 1 Objeto 1

Modulo 2 Objeto 2 Ejecutable Ejecución


… …
Modulo n Objeto n
LABORATORIO N°2
LA RESOLUCIÓN DE PROBLEMAS
CON COMPUTADORA
El proceso de resolución de un problema con una computadora conduce a la escritura de
un programa y a sus ejecuciones la misma. Aunque el proceso de diseñar programas
esencialmente un proceso creativo, se puede considerar una serie de fases o pasos
comunes que generalmente deben seguir todos los programadores.

Las fases de resolución de un problema con computadora son:


1. Análisis del problema
2. Diseño del problema
3. Codificación
4. Compilación y ejecución
5. Verificación
6. Depuración
7. documentación
1. ANÁLISIS DEL PROBLEMA
Es preciso realizarse las siguientes preguntas Ejemplo: Determina el mayor de 3 números
para poder definir bien un problema
¿Qué entradas se requieren (tipo y
cantidad)?
¿Cuál es la salida deseada (tipo y cantidad)?
¿Qué método produce la salida deseada?
2. DISEÑO DEL ALGORITMO
 En esta etapa se determina como
hace el programa la tarea
solicitada. Los métodos mas
eficaces para el proceso de diseño
se basan en la división del problema
en subproblemas y a continuación
dividir estos problemas en otros de
nivel mas bajo, este diseño se
conoce como diseño descendente
(top down) o modular.
 Cada subproblema es resuelto
mediante un modulo
(subprograma) que tiene un solo
punto de entrada y un solo de
salida
a. Diagrama de flujos
Representan gráficamente en un algoritmo

Inicio y Término de Preparación de información


programa o subprograma. (Inicializar variables, ciclos
iterativos controlados).
Proceso Elemental

Entrada o Salida de
Información Comentarios

Condición (Dirección Sentido del Flujo


del flujo de control)

Conectores dentro y fuera


de página. Proceso predefinido
(subprograma).
Acciones básicas
b. Pseudocodigo
Herramienta de 1.- Entrada de datos:

programación en la que 


LEER(variable)
LEER(lista_variables)
las instrucciones se Observación: lista_variables es una secuencia de variables
separadas por (,).
escriben en palabras
similares al ingles o 2.- Salida de datos:
MOSTRAR(variable)
español, que facilitan 

 MOSTRAR(lista_variable)
tanto la escritura como la  MOSTRAR(“Mensaje”)

lectura de programas Observación: Se permite combinaciones en los argumentos. Por


ejemplo:

MOSTRAR(“Esto es un ejemplo”, variable)

3.- Asignación:
 variable  valor
 variable  expresión
ALGORITMO Comparar 3 números
1
DECLARACIONES NUM1, NUM2, MUM3, mayor:
Real
Mayor>=N3 INICIO_ALGORITMO

inicio Leer (NUM1, NUM2, NUM3)


Mayor
N1, N2, N3 y mayor =N3
son reales
Si (NUM1 > NUM2) entonces
Imprime mayor mayor  NUM1
Leer (N1, N2 y SINO
N3 ) Fin mayor  NUM2

N1>=N2 SI (mayor > NUM3) ENTONCES


mayor  NUM3
Mayor =N2
Mayor =N1
MOSTRAR(“El numero mayor es:”, mayor)
1
FIN_ALGORITMO
Transformar una temperatura de grados
celsius a grados farenheit:

ALGORITMO transformar_celsius_a_farenheit
DECLARACIONES celsius, farenheit: REAL
INICIO_ALGORITMO
LEER(celsius)
farenheit  celsius * (9/5) + 32
MOSTRAR(“Grados Farenheit
equivalentes:”, farenheit)
FIN_ALGORITMO
3. CODIFICACION DE UN PROGRAMA 4.- COMPILACIÓN Y EJECUCIÓN DE UN
PROGRAMA
Es la escritura en un lenguaje de
 La codificación se debe realizar sobre un
programación de la representación del
programa editor, posteriormente el programa
algoritmo desarrollado en las etapas fuente se convierte en u archivo de programa
precedentes que se guarda en disco
 El programa fuente debe ser traducido a
lenguaje maquina este proceso se realiza con
el compilador y el sistema operativo que se
encarga prácticamente de la compilación.
 El proceso de compilación determina un
programa objeto que todavía no es
ejecutable directamente. Suponiendo que no
existe errores en el programa fuente , se
instruye al S.O. para que realice la fase de
Lenguaje c++ enlace (LINK) , carga del programa objeto
con las librerías del programa del compilador
para producir un programa ejecutable.

DEV C++
5. VERIFICACIÓN Y DEPURACIÓN DE UN
PROGRAMA los tipos de errores son:

La verificación o compilación de un Errores de compilación:


programa es la ejecución del programa con
una amplia variedad de datos de entrada,
 Uso incorrecto de las reglas del lenguaje
o prueba, que determina si el programa Errores de ejecución
tiene errores (“bugs”)
 ejem. división entre 0
La depuración es el proceso de encontrar
Errores lógicos:
los errores del programa y corregir o eliminar
dichos errores.  Son difíciles de detectar generalmente es
en la lógica del algoritmo
6.- DOCUMENTACIÓN Y MANTENIMIENTO
Consta de describir los pasos a dar en la
resolución de un problema. La documentación
puede ser interna o externa. La documentación
interna es la contenida en líneas de comentarios.
La documentación externa incluye análisis,
diagrama de flujo y/o pseudocodigos , manuales
de usuario con instrucciones para ejecutar el
programa y para interpretar los resultados.

También podría gustarte