INF-102


UNIVERSIDAD DE PANAMÁ
FACULTAD DE  INFORMATICA ELECTRONICA Y COMUNICACIONES
Licenciatura  en  Informática para la gestión Educativa  y Empresarial
Programa Analítico de Asignatura



I. Datos Generales

Denominación de la Asignatura: PROGRAMACION I
Departamento: INFORMATICA
Código: 102  Semestre: II             Créditos: 4
Horas Totales: 80   Teóricas: 2                 Laboratorio: 3
Pre-requisitos: ninguno

Profesores (as) responsables de la elaboración del programa Analítico:
Marta Quintero
Fecha de elaboración:   12 de Agosto de 2013.
Fecha de aprobación por el Departamento: ________/________/_______.


II. Justificación
El fundamento de la tecnología computacional son los algoritmos. En cualquier programa de estudio a nivel de Licenciatura, en lo que a tecnología computacional se refiere, es relevante y fundamental el estudio de técnicas de diseño de algoritmos, y el aprendizaje de los fundamentos de la programación de computadores. Esta es la base de la programación de sistemas informáticos..
III. Descripción
En esta asignatura se incursiona en los fundamentos y conceptos básicos relativos a la programación de computadores. Esta es la primera asignatura de una de las áreas fundamentales de formación, la programación de computadoras, por lo que el dominio de las técnicas y estrategias de diseño de algoritmos con las instrucciones fundamentales es decisivo para el éxito en las siguientes asignaturas relativas a la programación.





Las  asignatura se divide en cinco módulos:
Módulo 1: Se definen la base conceptual de la programación de computadoras, a saber, lenguaje de programación, programa, algoritmo, evolución de los lenguajes de programación.
Módulo 2: Se describe la metodología de diseño de algoritmos, se enfatiza en las fases de análisis y diseño de un algoritmo hasta llegar a la fase de compilación, ejecución y mantenimiento. Se escriben y evalúan expresiones aritméticas y lógicas. Se realizan análisis de entrada, proceso y salida de algoritmos. Se realizan pruebas de escritorio de algoritmos.
Módulo 3: Como técnicas de diseño de algoritmo se emplean pseudocódigo y diagramas de flujo, estos diseños se asocian con las instrucciones fundamentales de un lenguaje de programación (leer, escribir, asignar, selección). Se diseñan algoritmos con las instrucciones de entrada, salida, asignación y transferencia condicional.
Módulo 4: Se introduce un lenguaje de alto nivel estructurado, se examina la sintaxis de las instrucciones fundamentales y se codifican programas.
Módulo 5: Se diseñan algoritmos con ciclos de repetición, y se codifican en el lenguaje utilizado. Se desarrollan actividades de análisis, diseño, codificación y documentación de algoritmos utilizando todas las instrucciones fundamentales.
El enfoque metodológico se basa en la resolución guiada de problemas, la exposición dialogada y el desarrollo de proyectos. Es importante la participación activa del estudiante en la resolución de problemas, con la orientación a la par del docente.
IV. Objetivos Generales
Conocer los conceptos relacionados con el procesamiento de datos y la programación de computadoras. Construir algoritmos usando las variables simples como estructura de datos y las instrucciones fundamentales (entrada, salida, asignación, transferencia condicional y repetición) de un lenguaje de programación imperativo-estructurado. Desarrollar destrezas de programación eficiente, con códigos legibles y documentados, utilizando las instrucciones fundamentales de un lenguaje de programación imperativo-estructurado.
VI. Enfoque Metodológico
De manera general, la metodología se basa en la participación activa del estudiante, mediante lectura comprensiva, prácticas individuales y grupales dentro y fuera del aula, laboratorios y proyectos de programación grupales.
Los estudiantes realizan investigación del léxico relativo a la programación de computadoras, preparan informe de síntesis mediante mapas conceptuales, cuadro sinóptico, hipertextos.

Mediante prácticas en el aula se ejercitan en la evaluación y escritura de expresiones aritméticas, relacionales y lógicas, considerando la prioridad de los operadores y el uso de variables.
Mediante exposición dialogada se presenta la metodología y técnicas de diseño de algoritmos, así como las instrucciones fundamentales. En atención a los conocimientos previos, se establece la relación de entrada, proceso, salida de un algoritmo con la identificación de datos, operación, respuesta en la solución de problemas aritméticos sencillos. Para ello se plantean problemas de aplicación con datos constantes, luego los mismos problemas se reescriben con datos variables, y finalmente se identifican la salida, proceso y entrada del algoritmo. El diseño de algoritmos se desarrolla en dos etapas: en la primera se resuelven problemas con instrucciones de entrada, asignación, salida, transferencia condicional; se realizan tareas de codificación; y finalmente se resuelven problemas con instrucciones de repetición con su respectiva codificación. Aplicar la prueba de escritorio para validar los algoritmos diseñados. Realizar en el laboratorio demostraciones de codificación, compilación y depuración de programas.
Les recursos son apuntes de clases, guías de problemas resueltos y por resolver, sitios web con información complementaria.

VII. Enfoque Evaluativo
La evaluación se basa en la demostración de las capacidades demostradas de análisis, diseño e implementación de algoritmos. Se llevan a cabo actividades de evaluación diagnóstica con el objetivo de determinar el dominio de prerrequisitos: operaciones aritméticas en los diferentes conjuntos numéricos y la aplicación de estrategias en la resolución de problemas de aplicación.
Durante el desarrollo de la asignatura es muy importante la evaluación formativa con miras a determinar el avance en el dominio de la lógica de programación. La evaluación sumativa se lleva a cabo mediante la aplicación de pruebas parciales individuales, laboratorios y proyectos de programación grupales, y una prueba semestral individual. La estrategia de evaluación sumativa sugerida es la siguiente:


Pruebas Parciales (3)
Pruebas escritas (1) 5%
Pruebas prácticas (2) 15%
20%
Laboratorios 6  5%
Talleres tareas  5
Asistencia
proyecto

30%
5%
5%
5%
Examen Semestral (Individual) 25%
Portafolio 5%

30%
5%


VIII. Competencia

Básicas
Identifica el rol de cada uno de los componentes de un sistema de cómputo en el procesamiento de datos.
Establece la relación entre los diferentes conceptos involucrados en la programación de computadoras.
Analiza la evolución de los lenguajes de programación, según los diferentes criterios de clasificación.
Emplea una aproximación disciplinada a la especificación, implementación, verificación y documentación de  programas.

Genéricas
Aplica el orden de prioridad de los operadores en la evaluación y escritura de expresiones aritméticas y lógicas.
Deduce la entrada, proceso y salida de un algoritmo, a partir del enunciado del problema a resolver.
Aplica la prueba de escritorio para identificar el objetivo de un algoritmo así como para interpretar sus resultados.
Demuestra destrezas de programación eficiente, con códigos legibles y documentados, utilizando variables, las instrucciones fundamentales (entrada/salida/asignación/transferencia condicional, repetición simple y anidada) y  un lenguaje de programación imperativo- estructurado.

Específicas
Desarrolla estrategias de estudio independiente para resolver problemas de aplicación mediante algoritmos  computacionales.
Desarrolla habilidades de pensamiento lógico estructurado necesarios para el análisis, diseño y desarrollo de sistemas computacionales.
Adquiere destrezas para analizar problemas de diferentes campos de aplicación, y diseña algoritmos computacionales para su procesamiento.
102
PROGRAMACION I

PRIMERA SESIÓN
SEGUNDA SESIÓN
1
14 de agosto

16 de agosto
2
21 de agosto TEMA Nº 1
Conceptos generales
Clasificación de los lenguajes de programación
Mapa conceptual
23 de agosto
Aporte de Investigación grupal
(tema Nº 1)
3
28 de agosto
Algoritmos TEMA Nº 2
Variable, constante, operadores
30 de agosto
 Continuación del tema 2
4
4 de septiembre
Estructuras secuenciales
6 de septiembre
Lectura Escritura
5
11 de septiembre
Asignación
13 de septiembre
Laboratorio  1
6
18 de septiembre 
PARCIAL Nº 1

20 de septiembre
Estructuras selectivas simples
7
25 de septiembre
Laboratorio 2
27 de septiembre
Estructuras selectivas dobles
8
2  de octubre
Laboratorio 3
4 de octubre
Estructuras selectivas múltiples
9
9  de octubre
Laboratorio 4
11 de octubre
PARCIAL Nº 2
10
16 de octubre
Estructuras repetitivas
Desde hasta
18 de octubre
practicas
11
23 de octubre
Estructura mientras
25 de octubre
practicas
12
30 de octubre
Estructuras repetir hasta
1 de noviembre
Practicas
13
6 de noviembre
practicas
8 de noviembre
Laboratorio 5
14
13 de noviembre
arreglos
15 de noviembre
practicas
15
20 de noviembre
practicas
22 de noviembre
PARCIAL Nº 3
16
27 de noviembre
 Entrega de proyectos y portafolio
29 de noviembre
Devolución de portafolios y proyecto.



PROGRAMACIÓN ANALÍTICA
Modulo No.  1 Semana del  19 al 23 de Agosto de 2013.
Título: Conceptos Generales de  Programación y su clasificación.
Duración (Horas):     Total: 5      Teóricas: 2       Prácticas:   3   Laboratorio:
Objetivo: Identifica los diferentes lenguajes de programación según la forma de clasificarlos.

Resultados de Aprendizaje
Contenido
Actividades
Recursos
Evaluación
ü  Identifica concepto de programación y  su clasificación.
Concepto 
1.      Concepto
2.      clasificación
Inicio
1.      Escucha explicación del tema.
Desarrollo:
2.      Realiza lectura del tema.
3.      Construye mapa conceptual.
4.      Investiga cada una de las clasificaciones
Cierre:
1.      Presenta  investigación ante el grupo.
2.      Presenta mapa para evaluación
ü  Copias.
ü  Blogs.
ü  Internet
ü  Computador.
Diagnóstica
ü  Preguntas exploratorias
Formativa
ü  Lectura del tema
Sumativa
ü  Investigación
ü  Mapa Conceptual

Bibliografía
·         http://upanama.blogspot.com


 Universidad de Panamá
Introducción a la programación INF-102
Modulo I  Clasificación

Introducción

Se pueden utilizar muchos lenguajes para programar una computadora. El más básico es el lenguaje de  máquina, una colección de instrucciones muy detallada que controla la circuiteria interna de la máquina. Este es el dialecto natural de la máquina. Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes: Primero, porque el lenguaje de maquina es muy incómodo para trabajar y segundo porque la mayoría de las maquinas se pide programar en diversos tipos de lenguajes, que son lenguajes de alto nivel, cuyas instrucciones son más compatibles con los lenguajes y la forma de pensar humanos como lo es el lenguaje c que además es de propósito general.
Debido a que los programas diseñados en este lenguaje se pueden ejecutar en cualquier máquina, casi sin modificaciones.  Por tanto el uso del lenguaje de alto nivel ofrece tres ventajas importantes, sencillez, uniformidad y portabilidad.

Lenguaje de programación: Sistema de símbolos y reglas que permite la construcción de programas con los que la computadora puede operar así como resolver problemas de manera eficaz. Estos contienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada / salida, calculo, manipulación de textos, lógica / comparación y almacenamiento / recuperación.

Clasificación
Hay que tener en cuenta también, que en la práctica, la mayoría de lenguajes no pueden ser puramente clasificados en una categoría, pues surgen incorporando ideas de otros lenguajes y de otras filosofías de programación, pero no importa al establecer las clasificaciones, pues el auténtico objetivo de las mismas es mostrar los rangos, las posibilidades y tipos de lenguajes que hay.
1. Nivel de abstracción.
Según el nivel de abstracción, o sea, según el grado de cercanía a la máquina:
·         Lenguajes de bajo nivel: La programación se realiza teniendo muy en cuenta las características del procesador. Ejemplo: Lenguajes ensamblador.
·         Lenguajes de nivel medio: Permiten un mayor grado de abstracción pero al mismo tiempo mantienen algunas cualidades de los lenguajes de bajo nivel. Ejemplo: C puede realizar operaciones lógicas y de desplazamiento con bits, tratar todos los tipos de datos como lo que son en realidad a bajo nivel (números), etc.
·         Lenguajes de alto nivel: Más parecidos al lenguaje humano. Manejan conceptos, tipos de datos, etc., de una manera cercana al pensamiento humano ignorando (abstrayéndose) del funcionamiento de la máquina. Ejemplos: JavaRuby.
Hay quien sólo considera lenguajes de bajo nivel y de alto nivel, (en ese caso, C es considerado de alto nivel).
2. Propósito.
Según el propósito, es decir, el tipo de problemas a tratar con ellos:
·         Lenguajes de propósito general: Aptos para todo tipo de tareas: Ejemplo: C.
·         Lenguajes de propósito específico: Hechos para un objetivo muy concreto. Ejemplo: Csound (para crear ficheros de audio).
·         Lenguajes de programación de sistemas: Diseñados para realizar sistemas operativos o drivers. Ejemplo: C.
·         Lenguajes de script: Para realizar tareas varias de control y auxiliares. Antiguamente eran los llamados lenguajes de procesamiento por lotes (batch) o JCL (“Job Control Languages”). Se subdividen en varias clases (de shell, de GUI, de programación web, etc.). Ejemplos: bash (shell), mIRC script, JavaScript (programación web).
3. Evolución histórica.
Con el paso del tiempo, se va incrementando el nivel de abstracción, pero en la práctica, los de una generación no terminan de sustituir a los de la anterior:
·         Lenguajes de primera generación (1GL): Código máquina.
·         Lenguajes de segunda generación (2GL): Lenguajes ensamblador.
·         Lenguajes de tercera generación (3GL): La mayoría de los lenguajes modernos, diseñados para facilitar la programación a los humanos. Ejemplos: C, Java.
·         Lenguajes de cuarta generación (4GL): Diseñados con un propósito concreto, o sea, para abordar un tipo concreto de problemas. Ejemplos: NATURALMatemática.
·         Lenguajes de quinta generación (5GL): La intención es que el programador establezca el qué problema ha de ser resuelto y las condiciones a reunir, y la máquina lo resuelve. Se usan en inteligencia artificial. Ejemplo: Prolog.

4. Manera de ejecutarse.
Según la manera de ejecutarse:
·         Lenguajes compilados: Un programa traductor traduce el código del programa (código fuente) en código máquina (código objeto). Otro programa, el enlazador, unirá los ficheros de código objeto del programa principal con los de las librerías para producir el programa ejecutable. Ejemplo: C.
·         Lenguajes interpretados: Un programa (intérprete), ejecuta las instrucciones del programa de manera directa. Ejemplo: Lisp.
También los hay mixtos, como Java, que primero pasan por una fase de compilación en la que el código fuente se transforma en “bytecode”, y este “bytecode” puede ser ejecutado luego (interpretado) en ordenadores con distintas arquitecturas (procesadores) que tengan todos instalados la misma “máquina virtual” Java.
5. Manera de abordar la tarea a realizar.
Según la manera de abordar la tarea a realizar, pueden ser:
·         Lenguajes imperativos: Indican cómo hay que hacer la tarea, es decir, expresan los pasos a realizar. Ejemplo: C.
·         Lenguajes declarativos: Indican qué hay que hacer. Ejemplos: Lisp, Prolog. Otros ejemplos de lenguajes declarativos, pero que no son lenguajes de programación, son HTML (para describir páginas web) o SQL (para consultar bases de datos).
6. Paradigma de programación.
El paradigma de programación es el estilo de programación empleado. Algunos lenguajes soportan varios paradigmas, y otros sólo uno. Se puede decir que históricamente han ido apareciendo para facilitar la tarea de programar según el tipo de problema a abordar, o para facilitar el mantenimiento del software, o por otra cuestión similar, por lo que todos corresponden a lenguajes de alto nivel (o nivel medio), estando los lenguajes ensambladores “atados” a la arquitectura de su procesador correspondiente. Los principales son:
·         Lenguajes de programación procedural: Divide el problema en partes más pequeñas, que serán realizadas por subprogramas (subrutinas, funciones, procedimientos), que se llaman unas a otras para ser ejecutadas. Ejemplos: C, Pascal.
·         Lenguajes de programación orientada a objetos: Crean un sistema de clases y objetos siguiendo el ejemplo del mundo real, en el que unos objetos realizan acciones y se comunican con otros objetos. Ejemplos:C++, Java.
·         Lenguajes de programación funcional: La tarea se realiza evaluando funciones, (como en Matemáticas), de manera recursiva. Ejemplo: Lisp.
·         Lenguajes de programación lógica: La tarea a realizar se expresa empleando lógica formal matemática. Expresa qué computar. Ejemplo: Prolog.
Hay muchos paradigmas de programación: Programación genérica, programación reflexiva, programación orientada a procesos, etc.
7. Lugar de ejecución.
En sistemas distribuidos, según dónde se ejecute:
·         Lenguajes de servidor: Se ejecutan en el servidor. Ejemplo: PHP es el más utilizado en servidores web.
·         Lenguajes de cliente: Se ejecutan en el cliente. Ejemplo: JavaScript en navegadores web.
8. Concurrencia.
Según admitan o no concurrencia de procesos, esto es, la ejecución simultánea de varios procesos lanzados por el programa:
·         Lenguajes concurrentes. Ejemplo: Ada.
·         Lenguajes no concurrentes. Ejemplo: C.
9. Interactividad.
Según la interactividad del programa con el usuario u otros programas:
·         Lenguajes orientados a sucesos: El flujo del programa es controlado por la interacción con el usuario o por mensajes de otros programas/sistema operativo, como editores de texto, interfaces gráficos de usuario (GUI) o kernels. Ejemplo: VisualBasic, lenguajes de programación declarativos.
·         Lenguajes no orientados a sucesos: El flujo del programa no depende de sucesos exteriores, sino que se conoce de antemano, siendo los procesos batch el ejemplo más claro (actualizaciones de bases de datos, colas de impresión de documentos, etc.). Ejemplos: Lenguajes de programación imperativos.
10. Realización visual.
Según la realización visual o no del programa:
·         Lenguajes de programación visual: El programa se realiza moviendo bloques de construcción de programas (objetos visuales) en un interfaz adecuado para ello. No confundir con entornos de programación visual, como Microsoft Visual Studio y sus lenguajes de programación textuales (como Visual C#). Ejemplo: Mindscript.
·         Lenguajes de programación textual: El código del programa se realiza escribiéndolo. Ejemplos: C, Java, Lisp.
11. Determinismo.
Según se pueda predecir o no el siguiente estado del programa a partir del estado actual:
·         Lenguajes deterministas. Ejemplos: Todos los anteriores.
·         Lenguajes probabilísticos o no deterministas: Sirven para explorar grandes espacios de búsqueda, (como gramáticas), y en la investigación teórica de hipercomputación. Ejemplo: mutt (generador de texto aleatorio).
12. Productividad.
Según se caractericen por tener virtudes útiles o productivas, u oscuras y enrevesadas:
·         Lenguajes útiles o productivos: Sus virtudes en cuanto a eficiencia, sencillez, claridad, productividad, etc., motiva que sean utilizados en empresas, administraciones públicas y/o en la enseñanza. Ejemplos: Cualquier lenguaje de uso habitual (C, Java, C++, Lisp, Python, Ruby, …).
·         Lenguajes esotéricos o exóticos: Inventados con la intención de ser los más raros, oscuros, difíciles, simples y/o retorcidos de los lenguajes, para diversión y entretenimiento de frikis programadores. A veces exploran nuevas ideas en programación. Ejemplo: Brainfuck.


PROGRAMACIÓN ANALÍTICA
Modulo No.  1 Semana 2  del 26  al 30 de Agosto de 2013.
Título: ALGORITMOS Y DIAGRAMAS DE FLUJO.
Duración (Horas):     Total: 5      Teóricas: 2       Prácticas:   3   Laboratorio:
Objetivo: Analiza conceptos fundamentales sobre algoritmo y sus técnicas como diagramas de flujos y los símbolos reglas y los elementos integrantes para su construcción  tales como operadores, constantes, variables e identificadores.

Resultados de Aprendizaje
Contenido
Actividades
Recursos
Evaluación
ü  Identifica los pasos para la solución de un problema.
ü  Reconoce  la simbología para construir diagramas de flujo
ü  Analiza conceptos fundamentales sobre datos, identificadores, constantes, variables, y operadores.

1, Algoritmos
2.Caracteristicas
3. Módulos
4. Diagramas de Flujo
5. Simbología
6.Reglas para su construcción.
7. Tipos de datos
8. Identificadores
9. Constantes y variables
10.Operadores  Aritméticos

Inicio
Escucha explicación del tema.
Desarrollo:
1.Observa y analiza Presentación Power Point
2. Desarrolla prácticas en el tablero.
Cierre:
1.      Desarrolla práctica en su portafolio.
ü  Copias.
ü  Blogs.
ü  Internet
ü  Computador.
ü  Presentación Power point.
Diagnóstica
ü  Preguntas exploratorias
Formativa
ü  Análisis de multimedio
Sumativa
ü  Practicas





Condiciones repetitiva from Marta Palacios


PROBLEMA DEL SEMESTRAL RESUELTO.
Proceso machetazo
Escribir "programa que calcula las ventas diarias de las 7 sucursales de El Machetazo"
escribir "ingrese las ventas de la sucursal 1"
escribir "departamento de damas"
leer dm;
escribir "departamento de caballeros"
leer dc;
escribir "departamento de hogar"
leer dh;
escribir "departamento de jardineria"
leer dj;
escribir "departamento de electronica"
leer  el
Escribir "  el total de ventas sucursal 1"
suc1 <- (dm+dc+dh+dj+el)
escribir suc1
escribir "ingrese las ventas de la sucursal 2"
escribir "departamento de damas"
leer dm;
escribir "departamento de caballeros"
leer dc;
escribir "departamento de hogar"
leer dh;
escribir "departamento de jardineria"
leer dj;
escribir "departamento de electronica"
leer  el
Escribir "  el total de ventas sucursal 2"
suc2 <- (dm+dc+dh+dj+el)
escribir suc2
escribir "ingrese las ventas de la sucursal 3"
escribir "departamento de damas"
leer dm;
escribir "departamento de caballeros"
leer dc;
escribir "departamento de hogar"
leer dh;
escribir "departamento de jardineria"
leer dj;
escribir "departamento de electronica"
leer  el
Escribir "  el total de ventas sucursal 3"
suc3 <- (dm+dc+dh+dj+el)
escribir suc3
escribir "ingrese las ventas de la sucursal 4"
escribir "departamento de damas"
leer dm;
escribir "departamento de caballeros"
leer dc;
escribir "departamento de hogar"
leer dh;
escribir "departamento de jardineria"
leer dj;
escribir "departamento de electronica"
leer  el
Escribir "  el total de ventas sucursal 4"
suc4 <- (dm+dc+dh+dj+el)
escribir suc4
escribir "ingrese las ventas de la sucursal 5"
escribir "departamento de damas"
leer dm;
escribir "departamento de caballeros"
leer dc;
escribir "departamento de hogar"
leer dh;
escribir "departamento de jardineria"
leer dj;
escribir "departamento de electronica"
leer  el
Escribir "  el total de ventas sucursal 5"
suc5 <- (dm+dc+dh+dj+el)
escribir suc5
escribir "ingrese las ventas de la sucursal 6"
escribir "departamento de damas"
leer dm;
escribir "departamento de caballeros"
leer dc;
escribir "departamento de hogar"
leer dh;
escribir "departamento de jardineria"
leer dj;
escribir "departamento de electronica"
leer  el
Escribir "  el total de ventas sucursal 6"
suc6 <- (dm+dc+dh+dj+el)
escribir suc6
escribir "ingrese las ventas de la sucursal 7"
escribir "departamento de damas"
leer dm;
escribir "departamento de caballeros"
leer dc;
escribir "departamento de hogar"
leer dh;
escribir "departamento de jardineria"
leer dj;
escribir "departamento de electronica"
leer  el
Escribir "  el total de ventas sucursal 4"
suc7 <- (dm+dc+dh+dj+el)
escribir suc7
escribir "el total de ventas de las 7 sucursales es:"
tv <-  (suc1+suc2+suc3+suc4+suc5+suc6+suc7)
escribir tv
ga <- tv-50000
Si ga < 50000 Entonces
escribir "perdida en el almacen"
sino 
Escribir "ganacia" 
FinSi
escribir "Almacen el machetazo efectura los siguientes pagos"
leer x
pagos <- ga
Mientras x <> 0 hacer
escribir "hasta ahora su saldo es",   pagos;
pagos <- pagos-x
escribir "digite un pago"
leer x
escribir " el total de saldo despues de cancelar las cuentas es",   pagos;
escribir "despues de realizados los pagos se devuelve a cada sucursal"
FinMientras
dev <- pagos/7
escribir "a cada sucursal le tocaron", dev;
devp <- dev/5
Escribir "y a cada departamento le toco", devp;
escribir "finalizado el problema"
FinProceso