Está en la página 1de 39

FUNDAMENTOS DE PROGRAMACIÓN

Fundamentos de
Programación

1
FUNDAMENTOS DE PROGRAMACIÓN

2.Pseudocódigo

2
FUNDAMENTOS DE PROGRAMACIÓN

Técnicas para la formulación de algoritmos

Las dos herramientas utilizadas comúnmente para diseñar algoritmos son:

Pseudocódigo Diagrama de Flujo

3
FUNDAMENTOS DE PROGRAMACIÓN

Pseudocódigos

Ejemplo:
Es la representación narrativa de los pasos que debe
seguir un algoritmo para dar solución a un problema
determinado, utiliza palabras que indican el proceso
a realizar. Se trata de un falso lenguaje,
ya que apela a las normas de estructura de un
lenguaje de programación aunque se encuentra
desarrollado para que pueda ser leído por un
ser humano y no interpretado por un máquina.

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 utilizara
para la codificación del mismo.

4
FUNDAMENTOS DE PROGRAMACIÓN

Especificación estructurada de procesos de Yourdon

 Esta metodología proporciona una manera para diseñar paso a paso sistemas y programas detallados.
Cabe mencionar que unos pasos involucran el análisis, otros el análisis del diseño, y otros más la
medición y la mejora de la calidad del diseño. La principal herramienta generada en el diseño
estructurado es el ‘diagrama de estructura’ donde muestra los componentes de procedimientos del
programa, su ordenación jerárquica y los datos conectados a ellos.

Notación Yourdon

Archivos o
Terminado depósitos
Transformaciones res Flujos de Flujos de temporales de
o procesos (Fuentes o información control información
(funciones, Destinos) (entradas- (Ward & (base de datos,
cálculo, selección) (personas, salidas) Mellor 85) armario,
entidades) clasificador,
etc.) 5
FUNDAMENTOS DE PROGRAMACIÓN

Especificación estructurada de procesos de Yourdon

 Ejemplo:

6
FUNDAMENTOS DE PROGRAMACIÓN

2.2 Sentencias Fundamentales del pseudocódigo

Estructura a seguir en su realización:

Elementos de un pseudocódigo:
• Variables
• Condiciones
• Ciclo
7
FUNDAMENTOS DE PROGRAMACIÓN

Descripción de las reglas para la escritura de pseudocódigos

Ejemplo Pseudocódigo :
 Cada instrucción debe ir en una línea.
 Debe comenzar con la palabra Inicio y terminar con la palabra Fin. Lea dos números enteros y si
 Utiliza operadores aritméticos, lógicos, boléanos. son diferentes de cero calcule e
 Debe escribirse de manera indentada(tabulada) para apreciar imprima su producto, en caso
las dependencias de las instrucciones. contrario calcule y muestre la
suma de los dos.

 Utiliza palabras reservadas como: Inicio


 INICIO Leer (a,b)
 FIN Si ((a<>0) y (b<>0)) entonces
 LEER producto  (a*b)
Sino
 ESCRIBIR
suma  (a+b)
 MIENTRAS Fin si
 SI, SINO, ENTONCES, escribir (producto, suma)
 PARA, REPETIR ,etc. Fin

8
FUNDAMENTOS DE PROGRAMACIÓN

2.2.1 Sentencia de entrada/salida de datos

Para escritura de algoritmos diferenciaremos entre:


1. Entradas de teclado, que escribiremos como Pedir VAR, siendo VAR la variable a la que se
asigna la entrada de teclado.

2. Entradas desde archivo, bases de datos, etc. que escribiremos como Leer VAR, siendo VAR la
variable a la que se asigna la información contenida en un archivo, base de datos, etc.

La instrucción Mostrar para visualizar elementos en la pantalla del ordenador e Imprimir como
indicador de que se mandan los datos a impresora.

La sintaxis que emplearemos es la siguiente: Pedir y Leer irán siempre seguidos de un nombre de variable,
o de varios nombres seguidos por comas.

Ejemplo:
Pedir salario
Pedir edad, altura, peso

9
FUNDAMENTOS DE PROGRAMACIÓN

2.2.1 Sentencia de entrada/salida de datos

Mostrar e Imprimir podrán ir seguidos de variables, números o texto separados por comas. El texto, como
venimos haciendo habitualmente, irá entrecomillado.

Ejemplo:
Mostrar “No se ha encontrado una solución”
Mostrar “El salario a percibir es”, salario, “pesetas”
Imprimir “Tiene derecho a”, 100, Periodo, “de vacaciones”

Cuando se desea que la petición de un dato vaya acompañada de un mensaje lo haremos encadenando
un mostrar con el mensaje, dos puntos, y la petición de variable.

Ejemplo:
Mostrar “Introduzca su peso en Kgs por favor” : Pedir Peso
Mostrar “Introduzca la temperatura en ºC” : Pedir TempCelsius
Mostrar “Introduzca su fecha de nacimiento como dd/mm/aaaa” : Pedir Fechanam

10
FUNDAMENTOS DE PROGRAMACIÓN

2.2.2 Sentencias de decisión y decisión múltiple

11
FUNDAMENTOS DE PROGRAMACIÓN

2.2.4 Sentencia de repetición

Los ciclos son estructuras de control repetitivo, es decir, son aquellas en las que una sentencia o grupos de
sentencias se repiten muchas veces. Este conjunto de sentencias se denomina bucle.

12
FUNDAMENTOS DE PROGRAMACIÓN

Ejemplo:

Hacer un pseudocódigo que despliegue las tablas de multiplicar.

13
FUNDAMENTOS DE PROGRAMACIÓN

Diagrama de Flujo

14
FUNDAMENTOS DE PROGRAMACIÓN

Diagramas de Flujo

 Es la representación gráfica del algoritmo o proceso.

Cada paso del proceso es representado por un símbolo diferente


que contiene una breve descripción de la etapa de proceso.
Los símbolos gráficos del flujo del proceso están unidos entre sí
con flechas que indican la dirección de flujo del proceso.

El diagrama de flujo ofrece una descripción visual de las actividades


implicadas en un proceso mostrando la relación secuencial
ente ellas, facilitando la rápida comprensión de cada actividad y
su relación con las demás, el flujo de la información y los materiales,
las ramas en el proceso, la existencia de bucles repetitivos,
el número de pasos del proceso.

15
FUNDAMENTOS DE PROGRAMACIÓN

Diagramas de Flujo:

16
FUNDAMENTOS DE PROGRAMACIÓN

Estándares de diagramación de la norma ANSI/ISO 5807-1985

De acuerdo al estándar ANSI/ISO 5807-1985 de la ANSI(America National Standard Institute),los diferentes tipos de
diagramas son los siguientes:

1. Diagramas de flujo de datos(data flowchart)


2. Diagramas de flujo de programas(program flowchart)
3. Diagramas de flujo de sistemas(system flowchart)
4. Diagramas de flujo de red (program network chart)
5. Diagramas de recursos de sistemas(system resources chart)

De acuerdo al estándar ,un diagrama de flujo es una representación gráfica de la definición, análisis y métodos de
solución de problemas, en el cual los símbolos son utilizados para representar operaciones, datos, flujos, equipos etc.

Un símbolo es una representación gráfica asociada a un concepto de funcionalidad determinado. El estándar ANSI/ISO
5807-1985 propone símbolos para todos los tipos de diagramas , pero hace la distinción respecto a los símbolos que aplica
para cada tipo de diagrama en particular.

Los símbolos se dividen en las siguientes categorías:


 Símbolos de datos
 Símbolos de proceso
 Símbolos de línea
 Símbolos especiales
17
FUNDAMENTOS DE PROGRAMACIÓN

Simbología ANSI/ISO 5807-1985

18
FUNDAMENTOS DE PROGRAMACIÓN

Simbología Böhm-Jacopini

El teorema de Böhm y Jacopini establece, que un programa propio puede ser escrito utilizando
únicamente tres tipos de estructuras de control, las cuales son:
 estructuras secuenciales
 estructuras de selección
 estructuras de repetición.

Para que la programación sea estructurada, los programas han de ser propios. Un programa se define
como propio si cumple las siguientes condiciones:
 Si tiene un solo punto de entrada y un solo punto de salida.
 Si todas las sentencias del algoritmo son alcanzables, esto es, existe al menos un camino que va desde
el inicio hasta el fin del algoritmo.
 No tiene ciclos infinitos.

De este teorema se deduce que, si los algoritmos se diseñan empleando exclusivamente dichas
estructuras de control, los algoritmos, y por consecuencia los programas derivados de ellos, serán
propios.

19
FUNDAMENTOS DE PROGRAMACIÓN

Simbología Nassi-Schneiderman

Características de un buen diagrama Nassi-Schneiderman:

 En la primera caja debe ir el nombre o título del algoritmo, en el recuadro siguiente debe ir la palabra
Inicio.

 La última instrucción de un Diagrama NS debe ser el recuadro Fin.

 Todas las declaraciones de variables, funciones deben estar especificadas bajo el recuadro que contiene
la palabra Inicio.

 Las estructuras de selección y cíclicas deben estar lo más clara posible.

 El diseño debe caer en una hoja, a excepción de la utilización de funciones, las cuales pueden estar en
otra hoja, debido a que se consideran un algoritmo diferente.

20
FUNDAMENTOS DE PROGRAMACIÓN

Simbología Nassi-Schneiderman(1/2)

21
FUNDAMENTOS DE PROGRAMACIÓN

Simbología Nassi-Schneiderman(2/2)

22
FUNDAMENTOS DE PROGRAMACIÓN

Descripción de las reglas para la construcción de diagramas de flujo

 Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.

 Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye la
información de procesos, se deben de utilizar solamente líneas de flujo horizontal o vertical(nunca
diagonales).

 Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se
pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se van a utilizar conectores
cuando sea estrictamente necesario.

 No deben quedar líneas de flujo sin conectar.

 Todo texto escrito dentro de un símbolo debe ser legible, preciso ,evitando el uso de muchas palabras.

 Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.

 Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida.

23
FUNDAMENTOS DE PROGRAMACIÓN

Descripción de las reglas para la construcción de diagramas de flujo

 Ejemplos:
Todo símbolo (excepto las líneas de
flujo) llevará en su interior
información que indique
su función exacta y unívoca.

 Un elemento del diagrama no puede tener más


 de una salida si no es un elemento de decisión.

24
FUNDAMENTOS DE PROGRAMACIÓN

Descripción de las reglas para la construcción de diagramas de flujo

 Ejemplos:
Las líneas de flujo no pueden cruzarse.

M> 7 M> 7

Si Si No
No

M> 7 M> 7 M=3

M=3

Válido
No válido

25
FUNDAMENTOS DE PROGRAMACIÓN

 Ejemplo representativo de un algoritmo y de su codificación(programa)


en un lenguaje de programación estructurada/procedura

26
FUNDAMENTOS DE PROGRAMACIÓN

 Ejemplo representativo de un algoritmo y de su codificación(programa)


en un lenguaje de programación estructurada/procedural
 Codificación en C Ejecución del programa

27
FUNDAMENTOS DE PROGRAMACIÓN

Elementos de un ambiente de programación estructurada/procedural

 El editor es un editor de texto simple.

 El compilador traduce cada fichero de código fuente a código objeto.

 El montador(linker/builder/loader)combina varios ficheros objeto para generar un fichero


ejecutable.

 El depurador maneja información en términos de lenguaje máquina.

28
FUNDAMENTOS DE PROGRAMACIÓN

Editores de código fuente

Es un procesador de textos orientado para escribir código fuente


de aplicaciones en general en lenguajes de programación.
Generalmente los editores de código soportan varios lenguajes y
son capaces de abrir varios archivos a la vez, resaltar su sintaxis
y ofrecer ayudas contextuales a la hora de escribir o visualizar
el código fuente de las aplicaciones.

Los editores de código son una de las herramientas fundamentales


para un programador. Pueden ir desde los más básicos:
un sencillo bloc de notas hasta los IDEs más complejos.

29
FUNDAMENTOS DE PROGRAMACIÓN

Compilación de un programa

 Un compilador es un programa que traduce un programa escrito en un lenguaje de


programación, llamado lenguaje fuente, a otro lenguaje de programación, llamado lenguaje
objeto, generando un programa equivalente que la máquina será capaz de interpretar.

 Además el compilador realiza una comprobación de errores en el programa, es decir, revisa que
todo esté en orden por ejemplo variables e instrucciones bien definidas, revisa todo lo referente
a cuestiones sintácticas. Está fuera del alcance del compilador verificar que el algoritmo utilizado
en el programa funcione bien. A este proceso de traducción se le conoce como compilación.

 La siguiente figura ilustra el proceso de compilación descrito.

30
FUNDAMENTOS DE PROGRAMACIÓN

Compilación de un programa

 Un programa se captura en un editor, el cual produce un programa fuente, que a su vez es


compilado obteniendo un archivo parcial (un programa objeto) que tiene
extensión .obj luego el compilador invoca al montador linker que convierte el programa
objeto en un programa ejecutable con extensión .exe que como ya sabemos es un archivo que
está en formato binario (ceros y unos) y que puede funcionar por sí solo.

 La siguiente figura muestra los pasos que se suceden para obtener un programa ejecutable
desde el código fuente:

31
FUNDAMENTOS DE PROGRAMACIÓN

Errores de código

 Si durante la compilación se detecta un problema el programa no comienza a ejecutarse. Lo más


habitual es que se detecten fallos de sintaxis, ciertos procesos no válidos e incluso errores lógicos
tipo bucle infinito en algunas circunstancias. Si el programa no compila estamos obligados a realizar
las correcciones oportunas antes de poder ejecutarlo.
 Durante la ejecución del programa pueden producirse errores previsibles porque se derivan del
código o imprevisibles por ser su origen externo (entradas incorrectas de usuario, problemas con
ficheros, etc.).
 Un error de ejecución puede ser gestionado (vía detección o vía lógica) pero uno de compilación no.
 Atendiendo a la naturaleza del error los clasificaremos en:

32
FUNDAMENTOS DE PROGRAMACIÓN

Errores A tiempo de Compilación

Errores de sintaxis: Los errores de sintaxis se originan en el momento


de compilación/interpretación del programa y se deben a causas propias de la sintaxis del
lenguaje como escrituras incorrectas de instrucciones, omisión de signos, etc.

Estos errores se descubren con facilidad, este tipo de errores no permiten que la aplicación se ejecute,
por ejemplo:

 Olvidarnos de un punto y coma al final de una sentencia.


 No cerrar llaves en algún bloque de código, método, clase o en alguna estructura de control.
 Repetir variables con el mismo nombre aunque sean de diferente tipo.
 Asignar en una variable otra variable con tipo de dato diferente: es decir si tengo una variable String y
su valor lo asigno en una variable de tipo int, en este caso el compilador me va dar un error de
conversión de tipos y esto no va dejar que la aplicación compile, incluso un error parecido se puede dar
en variables de grupos del mismo tipo, por ejemplo asignar el valor de un tipo int en un tipo short.

33
FUNDAMENTOS DE PROGRAMACIÓN

Errores A tiempo de Ejecución

Errores de lógica: Los errores en la lógica del programa pueden ser producidos en la fase
de compilación o ejecución.

Los que suceden durante la ejecución de un programa ,normalmente, son más difíciles de detectar.
Se pueden observar dos categorías: los que detienen la ejecución del programa y los que no la
detienen, pero que producen resultados erróneos, hay muchos factores desde los más básicos
como por ejemplo:

 El usuario ingresa valores diferentes a los que la aplicación recibe.


 Acceder a una posición en un arreglo la cual no existe.
 Almacenar cadenas donde se debe almacenar números.
 Divisiones por cero.
 Digamos que en una aplicación móvil consuma datos de un servicio web y que al momento de
consumir esos datos no haya conexión a internet, esto hace que la aplicación se cuelgue.

34
FUNDAMENTOS DE PROGRAMACIÓN

Estrategias para corrección de errores

 Una vez compilado el programa (eliminados los errores léxicos) pueden seguir apareciendo fallos
durante la ejecución debido a la presencia de errores de ejecución. Estos errores no pueden ser
detectados automáticamente y para su corrección se debe repasar mentalmente, instrucción por
instrucción, el diseño del programa. De este modo podemos detectar el fallo, averiguando en qué
momento el comportamiento real del programa se separa del comportamiento esperado.

 Los actuales entornos de programación incluyen una herramienta de ayuda para la corrección de este
tipo de errores. Esta herramienta, conocida como depurador o "debugger", facilita el seguimiento de la
traza de ejecución del programa.

35
FUNDAMENTOS DE PROGRAMACIÓN

Depuración y seguimiento de código

¿Cómo trabaja un Depurador?

Básicamente un depurador permite el seguimiento de la traza de un programa al facilitar:


• La ejecución paso a paso de las instrucciones del programa. Tras la ejecución de una instrucción el
entorno devuelve el control del ordenador al programador que puede comprobar cómo se ha ejecutado
la instrucción.
• La monitorización del valor de las variables del programa. Podemos ver cómo cambia el valor de las
variables tras la ejecución de cada instrucción.

Colocar un punto de parada

 Un punto de parada (breakpoint) obliga a la detención de la ejecución del programa cuando se alcanza
dicho punto. Los puntos de parada son útiles en la depuración, pues permiten al programador
observar el estado del entorno del programa (contenido de variables) en un momento concreto de la
ejecución y no solo al final de la misma.

36
FUNDAMENTOS DE PROGRAMACIÓN

Depuración y seguimiento de código

Ejecución paso a paso

 Es la característica más importante de un depurador: el que se pueda ejecutar una y sólo una
instrucción del programa y que el entorno nos devuelva el control para poder comprobar si los
efectos de esa instrucción son los deseados o no. Una vez puesto el o los puntos de parada y dada la
orden “Depurar”, la ejecución se detiene en el primer punto de parada. A partir de aquí podemos
optar por ejecutar el programa hasta el siguiente punto de parada, pulsando "Saltar paso", o
reanudar la ejecución paso a paso ejecutando la siguiente sentencia, mediante "Siguiente paso" o
“Avanzar paso a paso”.

 La diferencia entre "Siguiente paso" y "Avanzar paso a paso" es sutil pero importante. Si la sentencia
contiene una llamada a una función, "Siguiente paso" la ejecutará como una sentencia única, y
"Avanzar paso a paso" transferirá la ejecución al interior de la función y ejecutará sus sentencias
paso a paso.

37
FUNDAMENTOS DE PROGRAMACIÓN

Ejecución de un programa

 Ejecutar es la acción de iniciar la carga de un programa o de cualquier archivo ejecutable. En otras


palabras, la ejecución es el proceso mediante el cual una computadora lleva a cabo las instrucciones
de un programa informático.

 Se denomina tiempo de ejecución (runtime en inglés) al intervalo de tiempo en el que


un programa de computadora se ejecuta en un sistema operativo. Este tiempo se inicia con la puesta
en memoria principal del programa, por lo que el sistema operativo comienza a ejecutar sus
instrucciones. El intervalo finaliza en el momento en que éste envía al sistema operativo la señal de
terminación, sea ésta una terminación normal, en que el programa tuvo la posibilidad de concluir
sus instrucciones satisfactoriamente, o una terminación anormal, en el que el programa produjo
algún error y el sistema debió forzar su finalización.

 Se pueden ejecutar programas compilados (por ejemplo, en Windows, los .EXE) o programas
interpretados (por ejemplo, los scripts).

38
FUNDAMENTOS DE PROGRAMACIÓN

Bibliografía:
Tipo Título Autor Año
Como hacer un pseudocódigo y un diagrama de flujo. 2017, de Rivera K 2014
Sitio SlideShare Sitio web: https://es.slideshare.net/grachika/como-
Web hacer-un-pseudocodigo-y-diagrama

Fundamentos de programación. 2017, de SlideShare Sitio web: Martínez N. 2010


Sitio https://es.slideshare.net/neyvajms/fundamentos-de-programacion-
Web 4100213

Tipos de Algoritmos. 2017, de blog tiposde Sitio web: Enciclopedia 2017


Sitio http://www.tiposde.org/ciencias-exactas/843-tipos-de-
Web algoritmos/#ixzz4bNGbruZ9

Ejecución de un programa. 2017, de blog Sitio web: Tecnológico 2017


Sitio https://sites.google.com/site/tecnologicodetuxtlagutierrez/3-4- I
Web ejecucion-de-un-programa

39

También podría gustarte