Está en la página 1de 18

Universidad Tecnológica

de Panamá

Principios de Programación

I. INTRODUCCION A LA PROGRAMACIÓN

Prof. Anna Araba de Ruiz


1.1 Definición
1.1.1 Algoritmo
➢ Es un conjunto de pasos,
➢ En matemáticas, ciencias de la computación y instrucciones o acciones que
disciplinas relacionadas, un algoritmo es un se deben seguir y realizar
conjunto ordenado y finito de operaciones, que ordenadamente para llegar a
permite hallar una solución a un problema. un fin determinado:
➢ Algoritmo de programación es un conjunto ▪ Solución de un problema
ordenado y finito de asignaciones, procesos,
cálculos y decisiones que permiten a un programa ▪ Obtención de una
satisfacer una unidad de funcionalidad respuesta intermedia o,
➢ Dado un estado inicial y una entrada, a través ▪ Realización de una tarea
de pasos sucesivos y bien definidos, se llega a de cualquier problema de
un estado final, obteniendo una solución. un mismo tipo.

Prof. Anna Araba de Ruiz 2


1.1.2 Programa
Es una secuencia lógica de instrucciones escritas en un determinado
lenguaje de programación, que indica al computador qué procesos y
tareas debe realizar.

Una instrucción es una orden que se da a Un lenguaje de programación es un lenguaje


la máquina para que ejecute una acción. formal diseñado para realizar procesos que
pueden ser llevados a cabo por computadoras.
Está compuesta por:
▪Operador: indica el tipo de operación a Está formado por un conjunto de símbolos y
realizar sobre los datos reglas sintácticas y semánticas que definen
▪Operando: conjunto de valores con los su estructura y el significado de sus
que el operador va a trabajar elementos y expresiones.

Prof. Anna Araba de Ruiz 3


Prof. Anna Araba de Ruiz 4
1.3 Etapas para la Resolución de Problemas por Computadora

La solución de un problema involucra:

➢ Definición del problema

➢ Análisis del problema

➢ Diseño del algoritmo

➢ Transformación del algoritmo en un


programa

➢ Ejecución y validación del programa

Prof. Anna Araba de Ruiz 5


1.3.1 Definición del Problema
➢ Un problema es una situación concreta sobre la cual se quiere implementar una
solución.
➢ Es necesario identificar y saber cuál es el problema y como enfrentarlo para
encontrar las posibles soluciones.
➢ Debemos definir claramente las necesidades que deberán ser resueltas y/o las
tareas que hay que realizar.
➢ Al abordar un problema es necesario que:
▪ El problema esté bien definido con el máximo detalle
▪ Las especificaciones de las entradas y salidas del problema deben ser descritas en
detalle e identificar :
o ¿Qué datos son necesarios para resolver el problema?
o ¿Qué información debe proporcionar la resolución del problema?

Prof. Anna Araba de Ruiz 6


1.3.2 Análisis del Problema

➢ Esta fase requiere una clara Comprende:


definición del problema, que ➢ Determinación de las primitivas de las que
contemple lo que debe hacer el partimos
programa y presente el resultado ➢ Identificar y establecer los datos de
o solución deseada. entrada
➢ Dado que se busca una solución ➢ Establecer los datos de salida (Solución /
por computadora, se necesitan Resultados)
especificaciones detalladas de ➢ Establecer las relaciones entre los datos
entrada y salida. de entrada y los de salida
➢ Representación de los datos

Prof. Anna Araba de Ruiz 7


➢ En el Análisis, los datos del problema deben ser identificados, recolectados y
analizados.
➢ La solución es un procedimiento que nos lleva a satisfacer ciertos requerimientos.

Esquema básico para la resolución de un problema

Entrada Salida
Proceso

▪ Informes
▪ Datos Externos
▪ Datos para otro programa
▪ Datos auto generados
▪ Datos grabados en
▪ Lectura de dispositivo de
dispositivos externos de
almacenamiento
almacenamiento

Prof. Anna Araba de Ruiz 8


1.3.3 Programación

La programación es un proceso de la solución del


problema que tiene lugar en dos etapas:
➢ Obtener la solución del problema, que involucra:
▪ Un análisis detallado de la situación
▪ La búsqueda de tácticas que conduzcan a la solución

➢ Codificar esta información en un lenguaje de programación


concreto.

Prof. Anna Araba de Ruiz 9


1.3.3.1. Algoritmo
Es una técnica de solución de problemas, que
consiste en una serie de instrucciones, paso a
paso y que produce resultados específicos para un
problema determinado.
Se utilizan en la vida diaria, de forma inconsciente
y automática, para llevar a cabo acciones
cotidianas.

Por
ejemplo,
una receta
de cocina
puede
resultar
similar (en
cuanto a
concepto)
a un
algoritmo o
programa

Prof. Anna Araba de Ruiz 10


El científico de computación Donald Knuth ofreció una lista de cinco propiedades, que son
ampliamente aceptadas como requisitos para un algoritmo:

Carácter finito
Salida
➢ "Un algoritmo siempre debe terminar después de
➢ "Un algoritmo tiene una o más salidas:
un número finito de pasos".
cantidades que tienen una relación
Precisión específica con las entradas".
➢ "Cada paso de un algoritmo debe estar Eficacia
precisamente definido; las operaciones a llevar a
➢ “Se espera que un algoritmo sea
cabo deben ser especificadas de manera rigurosa
eficaz, en el sentido de que todas las
y no ambigua, para cada caso".
operaciones a realizar en un algoritmo
Entrada deben ser suficientemente básicas
como para que en principio puedan ser
➢ "Un algoritmo tiene cero o más entradas:
hechas de manera exacta y en un
cantidades que le son dadas antes de que el
tiempo finito por un hombre usando
algoritmo comience, o dinámicamente mientras el
lápiz y papel".
algoritmo corre ".

Prof. Anna Araba de Ruiz 11


1.3.3.2 Prueba de escritorio

➢ Las pruebas de escritorio son simulaciones del


comportamiento de un algoritmo que permiten determinar la
validez del mismo.

➢ Consisten en generar una tabla con tantas columnas como


variables tenga el algoritmo y seguir las instrucciones paso a
paso, utilizando los valores correspondientes.

➢ Permiten detectar errores, omisiones o mejorar el algoritmo.

➢ Casos de prueba
▪ Posibles situaciones de datos que tendrá que resolver el programa,
▪ Normalmente se establecen diferentes grupos de datos de entrada.
▪ Es recomendable considerar un escenario normal y uno o más
casos extremos.

Prof. Anna Araba de Ruiz 12


1.3.3.3 Codificación Ejemplo: Programa C que
determina el área de un circulo
➢ En esta fase se transcribe el algoritmo
a un lenguaje de programación
concreto. #include <math.h>
#include <stdio.h>
#define PI 3.141592
➢ En general es una tarea totalmente
mecánica. int main()
{
float area, radio;
➢ Procedemos a escribir el programa printf( "\n Introduzca radio: " );
fuente con la ayuda de un Editor de scanf( "%f", &radio );
texto. area = PI * pow( radio, 2 );
printf( "\n El area del circulo es: %f", area );
return 0;
➢ Al resultado se le denomina programa }
fuente.

Prof. Anna Araba de Ruiz 13


1.3.3.4 Compilación / Ejecución

➢ La compilación consiste en la
Traducción del programa ➢ La Ejecución consiste en
fuente a lenguaje de máquina ejecutar el programa
cuyo resultado es el programa sucesivas veces con
objeto. diferentes datos de prueba
para asegurar su correcto
➢ Para ello se dispone de funcionamiento.
programas compiladores o ▪ Es recomendable considerar un
intérpretes, que comprueban la escenario normal y uno o más
correcta sintaxis del programa. casos extremos.

Prof. Anna Araba de Ruiz 14


1.3.3.4.1 Tipos de Errores

➢ Durante el desarrollo de un algoritmo, Errores de sintaxis o compilación


programa o aplicación, debemos ser
➢ Corresponden al incumplimiento de
especialmente cuidadosos para evitar que
las reglas sintácticas del lenguaje,
el producto obtenido presente errores. como, por ejemplo, una palabra
➢ Según el momento o fase en que se reservada del lenguaje mal escrita, una
detectan, los errores se clasifican en: instrucción incompleta, etc.
▪ Errores de Sintaxis o Compilación
➢ Son los más fáciles de corregir, ya
▪ Errores de Ejecución que son detectados por el compilador,
▪ Errores de Lógica el cual dará información sobre el lugar
donde está y la naturaleza de cada uno
▪ Errores de Especificación
de ellos mediante un mensaje de error.

Prof. Anna Araba de Ruiz 15


Errores de especificación
Errores de lógica
Errores de ejecución
➢ Es el peor tipo de error y el
➢ Corresponden a la obtención de
➢ Se detectan porque se produce más costoso de corregir.
resultados que no son correctos.
una parada anormal del
programa durante su ejecución, ➢ La única manera de detectarlos ➢ Se deben a la realización de
y se dice que el programa se ha es realizando un número especificaciones incorrectas
«caído» o que ha sido suficiente de ejecuciones de motivadas por una mala
«abortado» por el sistema. prueba con una gama lo más comunicación entre el
amplia posible de juegos de programador y quien plantea
➢ Se deben generalmente a el problema (cliente, profesor,
datos de ensayo, comparando
operaciones no permitidas, etc.).
los resultados producidos por el
como, por ejemplo: dividir entre
programa con los obtenidos en
cero, exceder un rango de Se detectan normalmente
la prueba de escritorio, para ➢
valores permitidos, etc. cuando ya ha concluido el
esos mismos datos.
➢ Son más difíciles de detectar y diseño e instalación del
corregir que los errores ➢ Son los más difíciles de programa, por lo que su
sintácticos, ya que pueden corregir, por la dificultad para corrección puede suponer la
ocurrir o no, dependiendo de detectarlos, ya que se deben a repetición de gran parte del
los datos de entrada que se la concepción y diseño del trabajo realizado.
utilicen. programa.

Prof. Anna Araba de Ruiz 16


1.3.4 Documentación
➢ Una documentación amplia, clara y precisa, facilita la explotación y
el mantenimiento de un programa.
➢ Es la guía o comunicación escrita en sus variadas formas, ya sea
en enunciados, procedimientos, dibujos o diagramas
➢ A menudo, un programa escrito por una persona es usado por otra.
➢ La documentación ayuda a comprender o usar un programa o
facilitar futuras modificaciones (mantenimiento).
La documentación debe ser
Interna Externa
➢ Constituida por el listado del ➢ Conjunto de documentos
programa fuente que acompañan al
➢ Su principal objetivo es facilitar la programa, pero sin formar
lectura y comprensión del mismo. parte de él.

Prof. Anna Araba de Ruiz 17


Interna Código auto documentado Externa
➢ Las palabras reservadas que emplean
Comentarios los lenguajes constituyen en sí Debe incluir al menos lo
➢ Frases explicativas que se mismas, parte de la documentación, ya siguiente:
insertan dentro del programa que corresponden a términos (en ➢ Descripción del Problema
fuente y que son ignoradas por el inglés) que expresan su cometido. ➢ Nombre del Autor
compilador (no son traducidas a
➢ No obstante, se mejora la ➢ Especificaciones del
lenguaje objeto).
documentación interna del programa si análisis.
➢ Se deben incluir tantos se siguen los siguientes criterios:
comentarios como sean ➢ Descripción del diseño del
▪ Uso de identificadores adecuados programa.
necesarios para aclarar el
para nombrar las variables,
significado de las líneas de código ➢ Diccionario de Datos
constantes, subprogramas, etc.
que no sean obvias, ➢ Descripción de las
▪ Declaración de constantes para
especialmente respecto a: versiones si las hubiere.
▪ Variables y estructuras de valores fijos. Por ejemplo, declarar
datos declaradas. la constante ITBM para el valor ➢ Descripción del programa
▪ Estructuras de control 0,07 (7%). principal y subprogramas.
(bucles, alternativas). ▪ Sangría, paginación e ➢ Manual de usuario.
▪ Subprogramas y sus intercalación de líneas en blanco
➢ Manual de
parámetros. para dar un aspecto agradable al
mantenimiento.
▪ Secciones confusas. programa.

Prof. Anna Araba de Ruiz 18

También podría gustarte