Upload
maria-sofia-molina-molina
View
810
Download
3
Embed Size (px)
Citation preview
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
NOMBRE DE LA ASIGNATURA
TALLER DE COMPUTACIÓN
CARRERA
INGENIERÍA DE COMPUTACIÓN
HORAS TEÓRICAS-HORAS PRÁCTICAS
2-4
PERIODO DE ELABORACIÓN
2015-C
TOMADO Y ADAPTADO CON FINES INSTRUCCIONALES PARA LA UNIDAD 3
y 4 DE LA ASIGNATURA DE TALLER DE COMPUTACIÓN DEL 1ER
SEMESTRE DE INGENIERÍA DE COMPUTACIÓN PARA LA UNIVERSIDAD
VALLE DEL MOMBOY
Facilitadora:
MSc. Ing. María Sofía Molina Molina
1
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
Lenguajes de programación1. Características de los programas................................................................................2. Diseño del programa.................................................................................................
- Fase de análisis- Fase de programación
EdiciónCompilaciónMontaje
- Fase de explotación y mantenimientoInstalaciónMantenimiento
3. Modelos de programación.........................................................................................- Secuencial- Estructurada- A objetos
4. Datos de la programación..........................................................................................- Numéricos- Lógicos- Alfanuméricos- Constantes y variables
5. Operadores................................................................................................................- Asignación- Aritméticos- Lógicos y relacionales
6. Sentencias de control.................................................................................................- Selección- Iteración
7. Anotaciones para diseño de algoritmos......................................................................- Diagramas de flujo- Pseudocódigo
1. LENGUAJES DE PROGRAMACIÓN
2
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
Los programas se escriben mediante lenguajes de proramación que conducen a expresar el algoritmo (problema a resolver) de una forma ordenada y programada. Existen 3 tipos de lenguajes:
Lenguaje Máquina: Inteligibles por la máquina directamente, es decir que las ordenes escritas las procesa y realiza directamente la máquina. Estas instrucciones son cadenas binarias (0 y 1) que especifican las instrucciones a realizar y la memoria donde deben realizarse. Las instrucciones dependen directamente de la máquina donde se programan.
Lenguaje Ensamblador: Sus instrucciones son NEMONICOS que indican la acción a realizar y su dirección de memoria donde se ejecutan. La programación depende también de la máquina donde se programe. Más sencillos que los lenguajes máquina. La máquina no entiende directamente las ordenes y es necesario traducir las ordenes a través de un programa ensamblador. La construcción de los programas consta de 3 partes:
Lenguajes de Alto Nivel: Lenguajes creados a partir de ensamblador. Basan la programación en sentencias y funciones que realizan una operación ya implementada en la creación del lenguaje de programación. Este tipo de lenguajes son los más sencillos de leer y comprender. Son independientes de la máquina donde se programan. La máquina no puede entender directamente las sentencias y se necesita de un programa traductor y linkador para que la máquina pueda ejecutar las operaciones. Estos de lenguajes son Clipper, C, C++, Visual Basic, Pascal, Modula2, etc...
2. CARACTERÍSTICAS GENERALES DE UN PROGRAMA
3
Programa Fuente
Programa Traductor (ensamblador)
Programa Objeto
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
Con el fin de facilitar la explotación y el mantenimiento de un programa, es fundamental reunir un conjunto de características generales para obtener su máximo rendimiento en el menor plazo de tiempo y esfuerzo. Estas características son:
LEGIBILIDAD: Un programa debe ser claro y sencillo para facilitar su lectura y comprensión a las personas ajenas al programador (autor) de la aplicación. De este modo existe la posibilidad de repartir las tareas de mantenimiento y explotación.
FIABILIDAD: Nuestra aplicación debe ser un programa "robusto". Es decir, capaz de recuperarse frente a errores o usos inadecuados por parte del usuario y controlar todo posible error que pueda producirse en las distintas operaciones que realicen los dispositivos que se utilizan en la aplicación.
PORTABILIDAD: El diseño de la aplicación debe permitir la codificación en diferentes lenguajes utilizando para ello un diseño único y universal, sin entrar en sentencias u operadores específicos de algún lenguaje en especial.
MODIFICABILIDAD: Debe ser fácil y posible su instalación en distintas máquinas. Facilitar al máximo su mantenimiento, modificación y actualización para adaptarlo o mejorarlo a nuevas situaciones. Por ejemplo efecto 2000. Este apartado se le denomina por el termino coloquial "parcheado".
EFICIENCIA: Aprovechar y no derrochar los recursos de la máquina. Esto lo conseguimos minimizando el uso de la memoria, el tiempo de proceso y el de ejecución. No debemos dejarnos llevar por los últimos y potentes máquinas que surgen día a día en el mercado. Siempre que podamos debemos pensar que disponemos de una máquina con pocos recursos.
3. DISEÑO DE UN PROGRAMA
Proceso que se sigue desde el planteamiento del problema o tarea, hasta que se tiene una solución instalada. Consta del estudio y diseño de cada una de las operaciones a realizar por la aplicación. En este proceso no es necesaria la utilización del ordenador. Todo diseño y análisis consta de diferentes fases, siendo 3 fundamentales en la realización de un buen plan de trabajo.
FASE DE ANALISIS
4
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
Esta fase consiste en el examen y descripción detallada de cada uno de los aspectos y dispositivos que intervienen en la creación y explotación del programa. Debemos tener muy en cuenta los siguientes puntos:
Equipos informáticos Personal informatico (en creación y utilización) Estudio de datos de entrada Estudio de los resultados Relación entre salida / entrada
FASE DE PROGRAMACIÓN
Consiste en el diseño y desarrollo del algoritmo para la codificación de la aplicación. Como resultado del desarrollo obtenemos un conjunto de acciones (funciones) que serán traducidas por el compilador (proceso de compilación) y enlazas con las librerías (proceso de linkado) para poder ser realizadas por la máquina. Las partes de este desarrollo son entrada de datos, proceso de datos y salida. Por este orden sin posibilidad de modificación.
FASE DE EXPLOTACIÓN Y MANTENIMIENTO
Es el momento donde debemos ejecutar y probar la aplicación sucesivas veces con diferentes datos para asegurar su correcto funcionamiento. También comprobaremos el rendimiento optimo del programa. Esta fase comprende el mantenimiento de la aplicación a lo largo de su vida útil para poder adaptarlo ante cualquier circunstancia. Es decir, mejorar la aplicación añadiendo nuevas funciones o mejorando su rendimiento.
4. MODELOS DE PROGRAMACIÓN
Los modelos de programación es conocido también como metodología de la programación y consiste en los métodos y técnicas disciplinadas para desarrollar algoritmos cumpliendo con las características de los programas anteriormente expuestas. Existen 3 métodos:
SECUENCIAL: Modelo descendente, se base en una serie de descomposiciones sucesivas del algoritmo inicial que describen el repertorio de instrucciones que constituyen el programa. El programa quedara formado por una serie de módulos consecutivos que realizaran una parte del algoritmo.
ESTRUCTURADA: Programación basada en la secuencial añadiendo subrutinas y estructuras secuenciales, de iteración y selección consiguiendo un programa con módulos
5
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
independientes y reutilizables desde cualquier parte del programa. Los lenguajes tienden a este tipo de programación.
A OBJETOS: Mismas características que los lenguajes estructurados, añadiendo nuevas funciones y mecanismos de trabajo, como los objetos (conjunto de variables y funciones), el encapsulamiento, el polimorfismo y la herencia. A través de estos lenguajes se consigue un mejor rendimiento de los programas y una mayor seguridad en el tratamiento de los datos. Los lenguajes de última generación tienden a ser orientados a objetos.
5. TIPOS DE DATO, VARIABLES Y CONSTANTES
Los datos u objetos en un programa son aquellos que son modificados por las instrucciones. Mediante ellos podremos realizar el almacenamiento y manipulación de la información que intervienen en el programa. Todos los datos u objetos tiene un identificador para referenciarlo, un tipo para indicar la información que puede tomar y valor que es la información que guardan. Los tipos de datos básicos son:
VARIABLESTIPO VARIANTE VALORES EJEMPLO
NUMEROS
Decimal. cualquiera numero=14
Hexadecimal. 0 al 9 y letras A-Z numero=0x9
Octal. 0 al 7 numero=06
BOOLEANOS --- true / false
CADENAS
Texto. cualquier texto cad=”hola”
Caracteres Especiales
Retroceso.
Retorno de carro.
Movimientos de línea.
Espacios
. . .
Los objetos que están destinados a guardar esta información son las variables y constates. Las variables y constantes son posiciones de memoria destinadas a guardar información que como hemos comentado tienen un identificador y un tipo. La diferencia entre la variable y la constante, es que, la primera puede admitir y cambiar su valor a lo
6
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
largo de un mismo programa mientras que las constantes tendrán un valor fijo durante toda la ejecución del programa y será imposible su modificación en tiempo de ejecución.
6. OPERADORES
ASIGNACIÓN
Es el signo "=". Se puede utilizar en cualquier expresión valida. A su lado izquierdo siempre tendrá una variable a la cual se le asigna el valor. A la derecha puede ser una expresión valida como una constate, un valor, una variable, una función, o cualquier expresión aritmética. Existe la posibilidad de realizar una asignación múltiple:
varible=valor;variable1=variable2=variableN=valor;
ARITMÉTICOS
Utilizados para realizar cualquier operación matemática. Este tipo de operadores se utilizan con variables numéricas o también para unir expresiones. En la siguiente tabla se muestran este tipo de operadores.
OPERADOR DESCRIPCIÓN ORDEN
- Resta. 3+ Suma 3* Multiplica 2/ Divide 2
LOGICOS Y RELACIONALES
Ambos operadores se utilizan en las sentencias de control, fuera de este tipo de sentencias no tienen ninguna utilidad. Los Lógicos se utilizan para unir varias condiciones dando como resultado una única expresión. Los relacionales son utilizados para realizar
7
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
comparaciones entre los objetos (variables, constantes, valores y funciones) de un programa.
OPERADORES RELACIONALES OPERADORES LÓGICOS
OPERADOR DESCRIPCIÓN ORDEN DESCRIPCIÓN ORDEN
< Menor que. 5 Y (AND) 10
> Mayor que. 5 O (OR) 11
<= Menor o igual. 5 NO (NOT) 1
>= Mayor o igual 5
= = Igual 6
--- Distinto 6
7. SENTENCIAS DE CONTROL
Mecanismo por el cual, los lenguajes de programación provocan que el flujo, avance y se ramifique en funcion de los datos que contienen sus objetos. Existen las sentencias de selección que ramifican el programa y las sentencias de iteración de realizan una repetición de un bloque de código mientras que una condición sea verdadera.
SELECCIÓN
Las sentencias de selección pueden ser simples o multiselección. En ambos casos la ejecución atraviesa un conjunto de estados bolean de determinan las acciones a realizar. El modo de ejecución de estas sentencias es comparar objetos para ver si la condición o condiciones se cumplen. La sentencia de multiselección suelen usarse cuando el rango de valores es conocido y no muy amplio. Las simples para cualquier caso de comparación.
SIMPLE
si condicion(es)=verdadero entonces
ACCIONACCION
8
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
...sino
ACCIONACCION...
fin si
MULTISELECCION
si valor=const1 entoncesACCIONACCION
fin si
si valor=const2 entoncesACCIONACCION
fin si
si valor=const2 entoncesACCIONACCION
si noACCIONACCION
fin si
DE ITERACIÓN
Las sentencias de iteración repiten el bloque de código que tienen en su interior mientras la condición o condiciones de salida sean verdad. Existen dos tipos de iteración HASTA y MIENTRAS. Ambas pueden realizar las mismas operaciones. La utilización del primero suele coincidir que la condición de salida sea un valor límite y el segundo que su condición sea un valor determinado.
HASTA
repetir hasta valor
ACCIONACCION
9
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
fin repetir
MIENTRAS
repetir mientras condicion(es) = verdaderoACCIONACCION
fin repetir
8. AÑOTACIONES PARA EL DISEÑO DE ALGORITMOS
Es la representación gráfica del desarrollo del algoritmo. Esta representación nos ayudara a conocer la información que tenemos, donde la tenemos, que debemos hacer con ella y como presentarla. Esta representación debe tener las cualidades de sencillez, claridad y normalización en su diseño. Las normas para presentar los organigramas son:
El inicio y final del programa solo aparecen una vez. El camino se tomara de principio a fin de izquierda a derecha (en mismo nivel). No realizar cruces entre los distintos caminos. Para evitarlo usar los conectores. En la parte superior se encuentran los soportes de entrada. En la parte central estarán los procesos y operaciones a realizar. En la parte final se encontrara la salida de datos.
SIMBOLOGIA
DIAGRAMA DESCRIPCIÓN
Establece el INICIO y el FIN.
10
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
Indica un PROCESO interno.
Introducción de datos por parte del usuario.
SALIDA de información POR PANTALLA.
Indica la continuidad de un diagrama. CONECTOR.
Volumen de DATOS.
Indica el SENTIDO del flujo
Especifica una bifurcación del flujo del programa. DECISIÓN.
SALIDA de información POR IMPRESORA.
Indica un proceso externo. SUBRUTINA.
SENTECIAS DE CONTROL
DIAGRAMA DESCRIPCIÓN
11
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
Sentencia de ITERACIÓN.
Sentencia de SELECCIÓN simple. Con cláusula sino
Sentencia de SELECCIÓN múltiple. Con cláusula sino.
EJEMPLO 1: Realizar un programa para calcular el área de un rectángulo cuyos datos base y altura se leen del teclado y el resultado se visualizara en la pantalla. Se deberá realizar mediante diagramas y pseudocódigo.
12
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
EJEMPLO 2: Realizar un programa que obtenga el sueldo neto de un trabajador cuyo sueldo base se obtiene por teclado y teniendo en cuenta que si ese sueldo es mayor a 150.000pts tiene una retención del 10%.
EJEMPLO 3: Realizar un programa que calcule la cuota de kilómetros de un visitador médico pidiendo los kilómetros por teclado. Sabiendo que se paga a 100pts si los kilómetros recorridos son menores o iguales a 200 y 150pts si el kilometraje es menor a 200.
13
INICIOINICIALIZAR VARIABLES
BASE<-0ALTURA<-0AREA<-0
INTRODUCIRBASEALTURA
PROCESO: AREA<-BASE*ALTURAVISUALIZAR AREA
FIN
INICIOINICIALIZAR VARIABLES
BASE<-0NETO<-0RETEN<-0
INTRODUCIRBASE
SI BASE > 150000RETEN<-SUELDO_BASE*10/100
FIN SINETO<- BASE-RETENVISUALIZAR NETO
FIN
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
14
INICIOINICIALIZAR VARIABLES
KM<-0TOTAL<-0MAS200<-100MENOS 200<-150
INTRODUCIRKM
SI KM<=200TOTAL<-KM*150
SINOTOTAL<-KM*100
FIN SIVISUALIZAR TOTAL
FIN
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
EJEMPLO 4: Realizar un programa donde nos calcule el dinero total a devolver cuando se pide un crédito bancario. Teniendo en cuenta el estado civil del usuario a la hora de pedir el crédito.
15
INICIOINICIALIZAR
VARIABLESPRESTADO<-0CIVIL<-0CASADO<-1SOLTERO<-2VIUDO<-3DIVORCIADO<-4SEPARADO<-5TOTAL<-0
INTRODUCIRPRESTADO,CIVIL
SI CIVIL=CASADO ENTONCESTOTAL=PRESTADO*CASADO
FIN SI
SI CIVIL=SOLTERO ENTONCESTOTAL=PRESTADO*SOLTERO
FIN SI
SI CIVIL=VIUDO ENTONCESTOTAL=PRESTADO*VIUDO
FIN SI
SI CIVIL=SEPARADO ENTONCESTOTAL=PRESTADO*SEPARADO
FIN SI
SI CIVIL=DIVORCIADOENTONCESTOTAL=PRESTADO*DIVORCIADO
SI NOTOTAL=0
FIN SI
VISUALIZAR TOTAL
FIN
UVM- COMPUTACIÓN 1. Ingeniería indusustrial. Ejercicios Propuestos - Facilitadora: MSc. María Sofía Molina
EJEMPLO 5: Realizar un programa que sume los valores que se van introduciendo por teclado mientras que el usuario no introduzca cero. Debemos ir mostrando el subtotal cada valor introducido.
16
INICIOINICIALIZAR VARIABLES
TOTAL<-0VALOR<-0
REPETIR HASTA VALOR=0
INTRODUCIR VALORTOTAL=TOTAL+VALORVISUALIZAR TOTAL
FIN REPETIR
VISUALIZAR TOTALFIN