Documente Academic
Documente Profesional
Documente Cultură
Investigación de operaciones
INTEGRANTES:
CHACHAPOYAS, 2018
FACULTAD DE INGENIERÍA DE
SISTEMAS Y MECÁNICA
ELÉTRICA
FACULTAD DE INGENIERÍA DE
SISTEMAS Y MECÁNICA
ELÉTRICA
Contenido
FUNDAMENTOS DE PROGRAMACIÓN........................................................................................... 3
¿Qué es un lenguaje de programación? ................................................................................... 3
Por nivel:................................................................................................................................ 3
Por la forma como se ejecutan ............................................................................................. 3
Datos: ........................................................................................................................................ 4
Variables y constantes: ......................................................................................................... 4
Los ciclos o bucles ..................................................................................................................... 6
Partes de una bucle ............................................................................................................... 6
Tipos de bucles ...................................................................................................................... 6
Bifurcaciones ............................................................................................................................. 7
Bifurcación 'If'........................................................................................................................ 7
Bifurcación 'If', 'else'.............................................................................................................. 7
Bifurcación 'If', 'elseif', 'else' ................................................................................................. 7
Bifurcaciones If anidadas....................................................................................................... 8
Funciones .................................................................................................................................. 9
Definición de funciones ......................................................................................................... 9
Errores de programación. ....................................................................................................... 10
Errores de sintaxis: .............................................................................................................. 10
Errores de enlazado: ........................................................................................................... 11
Errores de ejecución:........................................................................................................... 11
Errores de diseño: ............................................................................................................... 11
CARACTERÍSTICAS Y PROPIEDADES DE LOS ALGORITMOS.......................................................... 11
Características de los algoritmos ............................................................................................ 11
Propiedades de un algoritmo .................................................................................................. 12
Enunciado del problema. .................................................................................................... 12
Análisis de la solución general. ........................................................................................... 12
Elaboración Del Algoritmo .................................................................................................. 12
Bibliografía .................................................................................................................................. 13
FACULTAD DE INGENIERÍA DE
SISTEMAS Y MECÁNICA
ELÉTRICA
FUNDAMENTOS DE PROGRAMACIÓN
Se llama Programación a la implementación de un algoritmo en un determinado lenguaje de
programación, para realizar un programa.
Algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse
para resolver un problema.
Programa (Software en inglés) es una secuencia de instrucciones que una computadora puede
interpretar y ejecutar a través de un ordenador para realizar una determinad tarea.
El proceso de creación de software es materia de la ingeniería del software, una de las ramas
propias de la Ingeniería Informática.
Los lenguajes de programación se clasifican en varios tipos, los hay por nivel, y por la forma
como se ejecutan.
Por nivel:
Hay lenguajes de programación de alto nivel y lenguajes de bajo nivel. Los lenguajes de alto
nivel permiten que con pocas palabras se logre hacer lo mismo que se logra con un lenguaje de
bajo nivel.
Los lenguajes compilados necesitan de un programa especial que lea el código fuente y cree un
archivo binario ejecutable para una plataforma específica. Ejm: C++, Pascal.
Los lenguajes interpretados necesitan de un programa que traduzca en directo el código fuente
escrito a instrucciones de la plataforma en la que se ejecutan. Ejm: Python, Visual Basic, Script.
Los primeros son más rápidos, mientras que los segundos son más lentos, esto debido a que al
compilar un programa las ordenes son más entendibles para la computadora, mientras que al
interpretarlo la máquina primero debe leer el código y convertir al paso las instrucciones a
instrucciones de máquina entendibles para ella.
FACULTAD DE INGENIERÍA DE
SISTEMAS Y MECÁNICA
ELÉTRICA
Además tiene cuatro aspectos fundamentales que se podrían decir que son las cuatro patas de
la programación qué son las siguientes.
Datos
Bucles
Bifurcaciones
Funciones
Datos:
Los datos que almacena un ordenador son siempre números. Incluso las letras almacenadas en
un ordenador se almacenan como números; en este caso los números codifican una letra (por
ejemplo: la letra a es el número 97 en la codificación ASCII).
Dentro de los datos existen tipos de este el cual se nos hace de manera muy primordial poderlo
mencionar, así más adelante no tengamos inconvenientes al tratar de entender la
programación.
Variables y constantes:
Una variable o una constante es un dato, o conjunto de datos en la memoria del ordenador de
especial interés para el programa y que recibe un nombre simbólico dentro del código del
programa.
Cuando el valor de ese dato puede verificarse, se dice que es una variable cuando el valor de
este puede modificarse y sino se dice que es una constante.
FACULTAD DE INGENIERÍA DE
SISTEMAS Y MECÁNICA
ELÉTRICA
TIPO DE
SUBTIPO DESCRIPCIÓN VARIABLES VALORES
DATO
nroEstudiantes 40
Este tipo dato corresponde a aquellas
ENTEROS variables que exclusivamente pueden anio 2015
recibir VALORES SIN PARTE DECIMAL.
nroLados 3
NUMÉRICOS
Este tipo de dato, en cambio
sueldo 354,25
corresponde a aquellas variables
REALES cuyos VALORES TIENEN PARTE area 12,56
DECIMAL, aunque al mismo tiempo
valorRadio 3,0
puede contener valores enteros.
direccion "Calle
Constituyen conjuntos de caracteres,
Juan León
es decir la UNIÓN DE VARIOS
Mera"
CARACTERES, que pueden ser palabras
CADENAS nombre
o frases. El valor de este tipo de datos "Sandra
se encierra generalmente Vásquez"
entre comillas (" ").
estadoCivil "soltero"
Inicialización:
Es la creación de una variable o alguna estructura para poder llevar el control de las
repeticiones.
Condición:
Es la condición que se evaluará en cada paso de la repetición, para saber si se debe seguir
ejecutando algo. El ejemplo que ponía era de un juego de ordenador. Tú tienes los enemigos del
juego a los que disparas. Disparas hasta que el enemigo se muera. Esa condición "hasta que el
enemigo se muera" es la condición.
Incremento:
En cada paso del bucle cambiarán las condiciones del programa, probablemente se
incrementará algo en una variable, que luego se evaluará en la condición para ver si se debe de
continuar el bucle.
Tipos de bucles
A partir del cuarto de hora de clase nos muestra ya código en Javascript para mostrarnos los
tipos de bucles o repeticiones que vamos a tener disponible en este lenguaje.
El bucle FOR es el que explica para comenzar y es el bucle donde mejor se encuentran o se
localizan las tres partes de una repetición. Su sintaxis es esta:
//instrucciones de la repetición
También nos explica en la clase otros bucles disponibles en Jacascript, como son el while y el
do...while, junto con una explicación sobre qué situaciones son ideales para uno y otro bucle.
El bucle for
Se usa generalmente cuando sabes el número de veces que debes ejecutar algo y las condiciones
las puedes expresar de manera numérica.
El bucle while
Se usa generalmente cuando no sabes el número de veces que debes ejecutar algo. También es
necesario cuando la condición para ejecutar el bucle no depende de algo que pueda ser
numérico, por ejemplo, pedir una clave al usuario hasta que ésta sea la válida. Como podrás ver,
no sabes el número de veces que un usuario introducirá texto hasta que acertará la clave.
El bucle do...while
Es exactamente igual que while, solo que sabes con seguridad que debes hacer algo al menos
una vez. Por ejemplo, el bucle del ejemplo anterior, pedir la clave hasta que el usuario te dé la
clave verdadera, sería bueno para realizar con una estructura do...while, porque siempre sabes
que la clave la vas a tener que pedir al menos una vez.
FACULTAD DE INGENIERÍA DE
SISTEMAS Y MECÁNICA
ELÉTRICA
Bifurcaciones
Las bifurcaciones permiten ejecutar una de entre varias acciones en valor de una expresión
lógica o relacional. Se tratan de estructuras importantes ya que son las encargadas de controlar
el flujo de ejecución de un programa.
Bifurcación 'If'
Se utiliza cuando se desea ejecutar una o varias sentencias solo cuando la condición sea
verdadera.
En una sentencia 'If' 'elseif' se pueden evaluar tantas condiciones como se deseen. Al igual que
el resto de las sentencias 'If', los lenguajes de programación suelen escribir de forma distinta
esta sentencia en función del número de sentencias que se ejecuten en cada alternativa. Si en
cada alternativa hay una sola sentencia se escribe de una forma mientras que si hay varias se
escribe de otra.
Bifurcaciones If anidadas
Las sentencias de selección 'If' se basan en la evaluación de una condición (compuesta por una
o varias expresiones lógicas) y en función de ésta el ordenador ejecuta unas u otras
instrucciones. Estas instrucciones que se ejecutan en función de la evaluación de la condición
pueden ser cualquier función o sentencia, incluidas las sentencias 'If'.
Una sentencia 'If' anidada es una sentencia 'If' que contiene otras sentencias 'If' en sus
instrucciones alternativas.
FACULTAD DE INGENIERÍA DE
SISTEMAS Y MECÁNICA
ELÉTRICA
Funciones
En programación, una función es una sección de un programa que calcula un valor de manera
independiente al resto del programa.
Los parámetros, que son los valores que recibe la función como entrada;
En esencia, una función es un mini programa. Sus tres componentes son análogos a la entrada,
el proceso y la salida de un programa.
Definición de funciones
Las funciones en Python son creadas mediante la sentencia def:
# Código de la función
Los parámetros son variables en las que quedan almacenados los valores de entrada.
Por ejemplo, la función para calcular la factorial puede ser definida de la siguiente manera:
f=1
FACULTAD DE INGENIERÍA DE
SISTEMAS Y MECÁNICA
ELÉTRICA
F *= i
Return f
En este ejemplo, el resultado que entrega una llamada a la función es el valor que tiene la
variable f al llegar a la última línea de la función.
Una vez creada, la función puede ser usada como cualquier otra, todas las veces que sea
necesario:
482630400
720
>>> n = 3
>>> Factorial(n ** 2)
362880
Las variables que son creadas dentro de la función (incluyendo los parámetros y el resultado) se
llaman variables locales, y sólo son visibles dentro de la función, no desde el resto del programa.
Por otra parte, las variables creadas fuera de alguna función se llaman variables globales, y son
visibles desde cualquier parte del programa. Sin embargo, su valor no puede ser modificado, ya
que una asignación crearía una variable local del mismo nombre.
Errores de programación.
Los errores de programación responden a diferentes tipos y pueden clasificarse dependiendo
de la fase en que se presenten. Algunos tipos de errores son más difíciles de detectar y reparar
que otros, veamos entonces:
Errores de sintaxis:
Son errores en el código fuente. Pueden deberse a palabras reservadas mal escritas, expresiones
erróneas o incompletas, variables que no han sido declaradas, etc. Los errores de sintaxis se
detectan en la fase de compilación. El compilador, además de generar el código objeto, nos dará
una lista de errores de sintaxis. De hecho nos dará sólo una cosa o la otra, ya que si hay errores
no es posible generar un código objeto.
Advertencias:
Además de errores, el compilador puede dar también advertencias (warnings). Las advertencias
son errores, pero no lo suficientemente graves como para impedir la generación del código
objeto. No obstante, es importante corregir estos errores la mayoría de las veces, ya que ante
un aviso el compilador tiene que tomar decisiones, y estas no tienen por qué coincidir con lo
que nosotros pretendemos hacer, ya se basan en las directivas que los creadores del compilador
FACULTAD DE INGENIERÍA DE
SISTEMAS Y MECÁNICA
ELÉTRICA
decidieron durante la creación del compilador. Por lo tanto en ocasiones, ignorar las
advertencias puede ocasionar que nuestro programa arroje resultados inesperados o erróneos.
Errores de enlazado:
El programa enlazador también puede encontrar errores. Normalmente se refieren a funciones
que no están definidas en ninguno de los ficheros objetos ni en las bibliotecas. Puede que
hayamos olvidado incluir alguna biblioteca, o algún fichero objeto, o puede que hayamos
olvidado definir alguna función o variable, o lo hayamos hecho mal.
Errores de ejecución:
Incluso después de obtener un fichero ejecutable, es posible que se produzcan errores, durante
la ejecución del código. En el caso de los errores de ejecución normalmente no obtendremos
mensajes de error muy específicos o incluso puede que no obtengamos ningún error, sino que
simplemente el programa terminará inesperadamente. Estos errores son más difíciles de
detectar y corregir (pues se trata de la lógica como tal de nuestra aplicación). Existen
herramientas auxiliares para buscar estos errores, son los llamados depuradores (debuggers).
Estos programas permiten detener la ejecución de nuestros programas, inspeccionar variables
y ejecutar nuestro programa paso a paso (instrucción a instrucción). Esto resulta útil para
detectar excepciones, errores sutiles, y fallos que se presentan dependiendo de circunstancias
distintas. Generalmente los errores en tiempo de ejecución se dan por situaciones no
consideradas en la aplicación, por ejemplo, que el usuario ingrese una letra en vez de un número
y esto no es controle.
Errores de diseño:
Finalmente los errores más difíciles de corregir y prevenir. Si nos hemos equivocado al diseñar
nuestro algoritmo, no habrá ningún programa que nos pueda ayudar a corregirlos, pues es
imposible que un programa pueda determinar qué es lo que tratamos de conseguir o un
programa que realice aplicaciones cualquiera por nosotros. Contra estos errores sólo cabe
practicar y pensar, realizar pruebas de escritorio, hacerle seguimiento y depuración a la
aplicación hasta dar con el problema (una mala asignación, un valor inesperado, olvidar
actualizar una variable, etc.), también es útil buscar un poco de ayuda de libros o en sitios y foros
especializados.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo
resultado cada vez.
Un algoritmo debe ser finito. El algoritmo se debe terminar en algún momento; o sea, debe
tener un número finito de pasos.
FACULTAD DE INGENIERÍA DE
SISTEMAS Y MECÁNICA
ELÉTRICA
Un algoritmo debe ser legibles: El texto que lo describe debe ser claro, tal que permita
entenderlo y leerlo fácilmente.
Un algoritmo debe definir tres partes: Entrada, Proceso y Salida. Ejemplo: el algoritmo de receta
de cocina se tendrá:
Propiedades de un algoritmo
Las propiedades de un algoritmo son puntos guías a seguir para su elaboración, ya que éstos
permiten un mejor desarrollo del problema.
Los conocimientos adquiridos anteriormente son las herramientas necesarias para llevar a cabo
la elaboración de un algoritmo a través de un problema. Se recomienda tomar en cuenta cada
una de las propiedades de un algoritmo, ya que de ahí se inicia el proceso de elaboración.
FACULTAD DE INGENIERÍA DE
SISTEMAS Y MECÁNICA
ELÉTRICA
Bibliografía
aulatec. (27 de Julio de 2018). Obtenido de aulatec:
https://aulatec.wordpress.com/caracteristicas-y-propiedades-de-los-algoritmos/
Ikker Aguinaga, Gonzalo Martinez, Javier Diaz. (2015). APRENDA A PROGRAMAR COMO SI
ESTUBIERA EN PRIMERO. ESPAÑA: TECUN.
Juan David Meza González. (26 de Marzo de 2018). programarya. Obtenido de programarya:
https://www.programarya.com/Cursos/Fundamentacion/Errores
Universidad Tecnica Federico Santa Maria. (13 de diciembre de 2017). usm. Obtenido de usm:
http://progra.usm.cl/apunte/materia/funciones.html