miércoles, 18 de diciembre de 2013

2Q 2P Ejercicios Programacion Modular

TALLER # 3 
VALIDO PARA PROMEDIAR LA NOTA DE ESTE 2do PARCIAL

1. Escriba un pseudocódigo (programa de cálculo de horas extras - aplicando Programación Modular); que al ingresar los datos iniciales tales como nombre de empleado, total de horas trabajadas; horario de trabajo (pueden ser diurno ó nocturno) el programa principal me permita escoger la opción 1 para calcular las horas diurnas que equivalen a un valor de $10 cada una, enviara un mensaje en la cual muestre el resultado del cálculo; escoger la opción 2 para calcular las horas nocturnas que equivalen al valor de $15 cada una, enviara un mensaje en la cual muestre el resultado del cálculo. 

2. Escriba un pseudocódigo (programa sistema de matriculación - aplicando estructura de control Select .. Case); que nos permita ingresar los datos de un aspirante a alumno cristobalino se requiere datos tales como nombre, apellido, y fecha de nacimiento, se procederá a calcular su edad y dependiendo del resultado se procederá asignar al curso correspondiente, es decir si tiene 12 años se asigna al 8avo de básica; si tiene 13 años se asigna al 9no de básica; si tiene 14 años se asigna al 10mo de básica; si tiene se asigna 15 años al 1ero de bach, si tiene al se asigna 16 años al 2do de bach, si tiene al 17 años se asigna al 3ero bach, caso contrario presente un mensaje que indique "no hay cupo para el alumno ".

domingo, 1 de diciembre de 2013

2Q. 2P. PROGRMACION MODULAR

Programacion Modular
un problema complejo debe ser dividido en varios subproblemas más simples, y estos a su vez en otros subproblemas más simples. Esto debe hacerse hasta obtener subproblemas lo suficientemente simples como para poder ser resueltos fácilmente con algún lenguaje de programación. Ésta técnica se llama refinamiento sucesivo, divide y vencerás ó análisis descendente (Top-Down).
Un módulo es cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo original. Cada uno de estos módulos tiene una tarea bien definida y algunos necesitan de otros para poder operar. En caso de que un módulo necesite de otro, puede comunicarse con éste mediante una interfaz de comunicación que también debe estar bien definida.
Si bien un módulo puede entenderse como una parte de un programa en cualquiera de sus formas y variados contextos, en la práctica se los suele tomar como sinónimos de procedimientos y funciones. Pero no necesaria ni estrictamente un módulo es una función o un procedimiento, ya que el mismo puede contener muchos de ellos, no debe confundirse el término "modulo" (en el sentido de programación modular) con términos como "función" o "procedimiento", propios del lenguaje que lo soporte.

Para nombrar a un módulo se seguirán las mismas pautas que con las variables. Se buscará que los nombres sean interpretables y claros. Se evitará que sean similares entre sí o con las variables que existan en el programa.

La numeración de las líneas del módulo es independiente de la del algoritmo principal, pudiendo repetirse si se quiere. Se entiende que el módulo se encuentra dentro del programa pero no se ejecuta hasta que es llamado desde el algoritmo principal de acuerdo con esta estructura.

Veamos un ejemplo de aproximación al concepto de módulo:
 
1. Inicio [PROGRAMA Comunicado ejemplo aprenderaprogramar.com]
          2. Mostrar “Comunicado de la empresa”
          3. Llamar Saludo
          4. Llamar Comunicado
          5. Llamar Despedida
6. Fin

    Módulo Saludo
           1. Mostrar “Con motivo de la celebración el próximo día 5 del Día Mundial del Medioambiente la empresa"
                           saluda a todos los empleados y les agradece el compromiso con el cuidado de la naturaleza”
    FinMódulo
 
    Módulo Comunicado
           1. Mostrar "Con motivo de dicha conmemoración está previsto realizar un acto de plantación de arboles"
                           en los jardines del edificio central el próximo día 5  a las  12 del mediodía al que estan todos
                           invitados”
    FinMódulo

    Módulo Despedida
           1. Mostrar “La empresa agradece su  participación y  les invita a sumarse al programa  <<Empleados por  
                           una   ciudad sostenible>>.                                           Atentamente, El Director General”
    FinMódulo



Las variables globales y locales

Despues de estudiar los procedimientos  y las diferencias entre parámetros por valor y por referencia, es hora de tratar otro aspecto clave en la programación modular: la distinción entre variables globales y locales.

Una variable local es una variable que está declarada dentro de un subprograma, y se dice que es local al subprograma. Y lo que la caracteriza es que su valor sólo está disponible mientras se ejecuta el subprograma. Dicho de otra manera, el programa principal no tiene conocimiento alguno de las variables locales de sus procedimientos y funciones.

Las variables declaradas en la sección correspondiente a esta labor en el programa principal se denominan variables globales. Y a diferencia de las locales, su valor está disponible tanto en el cuerpo del programa principal como en el de cualquiera de los subprogramas declarados.


TALLER EN CLASE.

Usando las estructuras If then else; Do while, Select Case y progrmacion modular, realice un programa que emule las operaciones de una calculadora basica, recuerde validar que los numeros ingresados sean validos.

lunes, 25 de noviembre de 2013

2 QUI. 2 PARC. CLASE 1. ESTRUCTURAS DE CONTROL

En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
  • De acuerdo a una condición, ejecutar un grupo u otro de sentencias (If-Then-Else)
  • De acuerdo al valor de una variable, ejecutar un grupo u otro de sentencias (Select-Case)
  • Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While)
  • Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
  • Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
Todas las estructuras de control tienen un único punto de entrada y un único punto de salida. Las estructuras de control se puede clasificar en : secuenciales, iterativas y de control avanzadas. Esto es una de las cosas que permite que la programación se rija por los principios de la programación estructurada.

Estructura de control

Las estructuras de control, denominadas también sentencias de control, permiten tomar decisiones y realizar un proceso repetidas veces. Se trata de estructuras muy importantes, ya que son las encargadas de controlar el flujo de un programa, según los requerimientos del mismo.

Selección if simple[]


Se trata de una estructura de control que permite redirigir un curso de acción según la evaluación de una condición simple, sea falsa o verdadera.
Si la condición es verdadera, se ejecuta el bloque de sentencias 1, de lo contrario, se ejecuta el bloque de sentencias 2.
   IF (Condición) THEN
      (Bloque de sentencias 1)
   ELSE
      (Bloque de sentencias 2)
   END IF
Se pueden plantear múltiples concisiones simultáneamente, si se cumple la (Condición 1), se ejecuta (Bloque de sentencias 1) en caso contrario se comprueba la (Condición 2), si es cierta se ejecuta (Bloque de sentencias 2), y así sucesivamente hasta n condiciones, si ninguna de ellas es cumple se ejecuta (Bloque de sentencias else).
   IF (Condición 1) THEN
      (Bloque de sentencias 1)
   ELSEIF (Condición 2) THEN
      (Bloque de sentencias 2)
 
   .....
 
   ELSEIF (Condición n) THEN
      (Bloque de sentencias n)
   ELSE
      (Bloque de sentencias ELSE)
   END IF

Select-Case[]


Esta sentencia permite ejecutar una de entre varias acciones en función del valor de una expresión. Es una alternativa a if then else cuando se compara la misma expresión con diferentes valores.
  • Se evalúa la expresión, dando como resultado un número.
  • Luego, se recorren los "Case" dentro de la estructura buscando que el número coincida con uno de los valores.
  • Es necesario que coincidan todos sus valores.
  • Cuando se encuentra la primera coincidencia, se ejecuta el bloque de sentencias correspondiente y se sale de la estructura Select-Case.
  • Si no se encuentra ninguna coincidencia con ningún valor, se ejecuta el bloque de sentencias de la sección "Case Else".
   SELECT (Expresión)
      CASE Valor1
         (Bloque de sentencias 1)
      CASE Valor2
         (Bloque de sentencias 2)
      CASE Valor n
         (Bloque de sentencias n)
      CASE ELSE
         (Bloque de sentencias "Else")
   END SELECT


Escritura en Pseudocodigo

INSTRUCCIÓN SEGÚN (CASO) HACER (SELECT ... CASE) (1). PSEUDOCÓDIGO Y DIAGRAMA DE FLUJO.
La instrucción Según (Caso) Hacer es una forma de expresión de un anidamiento múltiple de instrucciones Si ... Entonces – SiNo. Su uso no puede considerarse, por tanto, estrictamente necesario, puesto que siempre podrá ser sustituida. La sintaxis será:

Según [Expresión] Hacer
Caso, valor expresión 1
Instrucción 1
Instrucción 2
Caso, valor expresión 2
Instrucción 3
Instrucción 4
.
.
.
Caso, valor expresión n
Instrucción k
Caso, SiNo
Instrucción m
FinSegún


La expresión a evaluar puede ser una variable o una función de varias variables. El valor de la expresión podrá ser de identidad (p. ej. Caso, = 8) o de intervalo (p. ej. Caso, < 100; también podría ser Caso, > 0 y < 100).

El caso SiNo determina las instrucciones a ejecutar cuando ninguno de los casos previstos se ha cumplido. Si no procede, simplemente se deja de escribir.

ESCRIBIR UN PSEUDOCODIGO QUE NOS PERMITA INGRESAR LOS DATOS DE UN ASPIRANTE A ALUMNO CRISTOBALINO SE REQUIERE DATOS TALES COMO NOMBRE, APELLIDO,  Y FECHA DE NACIMIENTO, SE PROCEDERA A CALCULAR SU EDAD Y DEPENDIENTO DEL RESULTADO SE PROCEDERA A INGRESAR SUS DATOS AL CURSO CORRESPONDIENTE, ES DECIR SI TIENE 12 AÑOS AL 8avo DE BASICA; SI TIENE 13 AÑOS AL 9no DE BASICA; SI TIENE 14 AÑOS AL 10mo DE BASICA; SI TIENE 15 AÑOS AL 1ero de Bach, SI TIENE AL 16 AÑOS AL 2do de Bach, SI TIENE AL 17 AÑOS AL 3ero Bach, CASO CONTRARIO PRESENTRAR UN MENSAJE QUE INDIQUE "alumno no puede inscribirse".

Estructuras de control iterativas[editar · editar código]
Las estructuras de control iterativas o de repetición, inician o repiten un bloque de instrucciones si se cumple una condición o mientras se cumple una condición.

Do-While[]


Mientras la condición sea verdadera, se ejecutarán las sentencias del bloque.
   DO WHILE (Condición)
      (Bloque de sentencias)
   LOOP
que también puede expresarse:
   WHILE (Condición)
      (Bloque de sentencias)
   WEND

Do-Until[]

Se ejecuta el bloque de sentencias, hasta que la condición sea verdadera
   DO
      (Bloque de sentencias)
   LOOP UNTIL (Condición)

For-Next[]


La sentencia For da lugar a un lazo o bucle, y permite ejecutar �un conjunto de sentencias cierto número de veces.
  • Primero, se evalúan las expresiones 1 y 2, dando como resultado dos números.
  • La variable del bucle recorrerá los valores desde el número dado por la expresión 1 hasta el número dado por la expresión 2.
  • El bloque de sentencias se ejecutará en cada uno de los valores que tome la variable del bucle.
   FOR (Variable) = (Expresión1) TO (Expresión2) STEP (Salto)
      (Bloque de sentencias)
   NEXT

domingo, 3 de noviembre de 2013

2Q. Clase 4. Estructuras de Control "MIENTRAS"

Logica de Programacion
El estudio de la Lógica de Programación no exige ningún conocimiento previo de computadora ni de tecnología en general, tampoco exige la presencia de algún Lenguaje de Programación específico aunque no puede negarse que éste podría permitir, solo después que se manejen bien los conceptos de lógica de programación, implementar y ver convertida en realidad las soluciones lógicas a sus objetivos.

Definiciones

  1. Serie coherente de ideas y razonamientos.
  2. Ciencia que estudia la estructura, fundamentos y uso de las expresiones del conocimiento humano.
  3. Representación intelectual de un objeto, diferenciándose, de lo sentido, lo percibido, lo imaginado o lo recordado. Las propiedades de los conceptos son la comprensión y la extensión.
La Lógica es ciencia de relaciones porque estudia el pensamiento y, pensar es establecer relaciones y soluciones logicas.

Acción y efecto de programar
Este verbo tiene varios usos: se refiere a idear y ordenar las acciones que se realizarán en el marco de un proyecto; al anuncio de las partes que componen un acto o espectáculo; a la preparación de máquinas para cumplan con una cierta tarea en un momento determinado; a la elaboración de Programas para la resolución de problemas mediante computadoras.

Proceso de toma de decisiones
Es establecer un conjunto de actividades en un contexto y tiempo determinado para enseñar los contenidos seleccionados en función de los objetivos establecidos. Es un proceso continuo, dinámico, no acabado ni rígido.

Estructuras de control iterativas MIENTRAS

Las estructuras de control iterativas o de repetición, inician o repiten un bloque de instrucciones si se cumple una condición o mientras se cumple una condición o esta mantenga su estado en verdadero.


Estructura en Pseudocodigo

Mientars (la condicion a evaluar) hacer
     sentencias y procesos a ejecutarse por verdadero
Fin Mientras


¿Qué es una variable contador?

En programación, se llama contador a una variable cuyo valor se incrementa o decrementa en un valor fijo (en cada iteración de un bucle). Un contador suele utilizarse para contar el número de veces que itera un bucle. Pero, a veces, se utiliza para contar, solamente, aquellas iteraciones de un bucle en las que se cumpla una determinada condición.

para controlar un incremeto
Ejemplo = ingrese valores hasta que contador sea igual a 100

contador = 0                                         "inicializar la variable"
Contador = contador + 1                    "varible aumenta en 1"


Ejemplo = venda celulares hasta que contador indique que se agotaron en stock

contador = 20                                  "inicializa con el stock en bodega"
contador = contador - venta         "se va restando segun cuantos se venda del total de stock"



Ejemplo : 

Proceda a escibir un pseudocodigo (programa) que ingrese 10 alumnos al sistema de matriculacion del Colegio Cristobal Colon Guayaquil, ingrese los datos tales como nombre, apellido, direccion, curso, edad.

"ejercicion con control de intentos"

variables contador, alumno, apellido, direccion, curso, edad
inicio
contador = 0
mientras contador < 10 hacer
  ingrese el nombre 
  leer alumno
  ingres el apellido 
  leer apellido
  ingrese la direccion
  leer direccion
  ingrese el curso que aspira matricula
  leer curso
  ingrese la edad
  leer edad
  contador = contador + 1
fin mientras
mensaje = "se han ingresado los 10 alumnos al sistema de matriculacion"
mostra mensaje
fin.

TALLER

Proceda a escibir un pseudocodigo (programa) que permita sumar 3 valores hasta que el total acumulado sea mayor a 500 una vez superado el limite muestre por pantalla el total acumulado y el nombe del autor del pseudocodigo.

una vez finalizado el ejercicio enviarlo al mail del profesor jorgetobarccc@gmail.com

domingo, 27 de octubre de 2013

2Q. Clase 3. ESTRUCTURAS CONDICIONALES DE DESICION SI

Las estructuras condicionales comparan una variable contra otro(s)valor (es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las múltiples. 


Simples: 

Las estructuras condicionales simples se les conoce como “Tomas de decisión”. Estas tomas de decisión tienen la siguiente forma: 


Pseudocódigo:Diagrama de flujo:

Dobles: 


Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma: 


Pseudocódigo:Diagrama de flujo:


Donde: 

Si:Indica el comando de comparación 
Condición : Indica la condición a evaluar 
Entonces : Precede a las acciones a realizar cuando se cumple la condición 
Instrucción(es):Son las acciones a realizar cuando se cumple o no la condición 
si no :Precede a las acciones a realizar cuando no se cumple la condición 
Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones. 

Múltiples: 

Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma común es la siguiente: 


Pseudocódigo:Diagrama de flujo:

Ejemplo de condicionales de desicion:

Realizar un pseudocodigo en donde se pide la edad del usuario; si es mayor de edad debe aparecer un mensaje indicándolo. 





Pseudocódigo:Diagrama de flujo:


TALLER INDIVIDUAL

PROBLEMA:
SE PIDE INGRESAR LOS DATOS DE UN ALUMNO NOMBRE, APELLIDO, DIRECCION, CURSO, PARALELO Y TRES NOTAS/CALIFICACIONES DEL ALUMNO, LUEGO CALCULAR EL PROMEDIO DE LAS 3 NOTAS, PROCEDA A VERIFICAR SI EL PROMEDIO ES MAYOR O IGUAL A 7 PRESENTAR UN MENSAJE QUE INDIQUE "APROBO EL CURSO"; SI EL PROMEDIO ES IGUAL A 6 PRESENTAR UN MENSAJE “DEBE ASISTIR A CLASES DE ACOMPAÑAMIENTO”, CASO CONTRARIO SI LA NOTA ES MENOR A 6  PRESENTE UN MENSAJE QUE INDIQUE "REPROBO EL CURSO" Y PRESENTE LOS DATOS DEL ALUMNO POR PANTALLA.
Una vez terminado enviarlo al mail del profesor jorgetobarccc@gmail.com

domingo, 20 de octubre de 2013

2Q. CLASE 2. TECNICAS ELABORACION DE PSEUDOCODIGO.

El pseudocódigo (falso lenguaje) 
es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un pseudocodigo.


El pseudocódigo está pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una implementación. 

Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programación concretos. Sin embargo, el pseudocódigo en general es comprensible sin necesidad de conocer o utilizar un entorno de programación específico, y es a la vez suficientemente estructurado para que su implementación se pueda hacer directamente a partir de él.

PROBLEMA:
Se requiere elaborar un programa/pseudocodigo que pida 2 numeros y realice las 4 operaciones mateticas y muestre el resultado de cada operacion.

Que datos de entrada requiere el ejercicio?
Que datos de salida presentara el ejercicio?
2 numeros
1 Resultados
Num1
Resul1
Num2


VARIABLE.
En programación, una variable está formada por un espacio en el sistema de almacenaje (memoria principal de un ordenador) y un nombre simbólico (unidentificador) que está asociado a dicho espacio. Ese espacio contiene una cantidad o información conocida o desconocida, es decir un valor. El nombre de la variable es la forma usual de referirse al valor almacenado

DATO.
Es un valor o referente que recibe el computador por diferentes medios, los datos representan la información que el programador manipula en la construcción de una solución o en el desarrollo de un algoritmo.

CONTENEDOR
=
CONTENIDO
VARIABLE
=
DATO
NUM1
=
23


ASIGNACION DE VALOR
Una asignación es cuando a una variable se le hace equivaler una expresión; le da un valor a la variable. Primero se evalúa o resuelve la expresión de la derecha, y después se le da el valor resultante a la asignación o expresión de la izquierda.

VARIABLE
ASIGNACION
VARIABLE
OPERADOR
VARIABLE
RESULTADO1
<------
NUM 1
+
NUM2

Tipo de dato informático 
es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar. Tipos de datos comunes son: enteros, números de coma flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, etc.


VARIABLE
=
DATO
TIPO DATO
INGRESE NUMERO:
NUM1
=
23
NUMERICO
INGRESE NOMBRE
NOMBRE
=
JORGE
TEXTO
INGRESE FECHA
FECHA
=
13/10/2013
FECHA

  • Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.
  • Todo diagrama debe tener un Inicio y un Fin.


ESCRITURA Y REGLAS

(se deben usar variables para el almacenamiento de calquier valor)
 Var   numero1, numero2, resultado: numerica
  
(todo programa debe definir su inicio con la palabra INICIO)
 Inicio
 (el programa requiere de que lo alimenten de datos)
   Escribir "Introduce el primer numero"
   Leer numero1
   Escribir "Introduce el segundo numero"
   Leer numero2
   resultado<-numero1+numero2
   Escribir resultado
   resultado<-numero1-numero2
   Escribir resultado
   resultado<-numero1*numero2
   Escribir resultado
   resultado<-numero1/numero2
   Escribir resultado
 (todo programa debe definir su final con la palabra FIN)
 Fin

Si reemplazamos las variables por datos reales el comportamiento del pseudocodigo sera:

Inicio
 Escribir "Introduce el primer numero"
   Leer 23
   Escribir "Introduce el segundo numero"
   Leer 11
   resultado <--- 23 +  11
   Escribir 34
   resultado <--- 23 - 11
   Escribir 12
   resultado <---  23 * 11
   Escribir 253
   resultado  <----  23 / 11
   Escribir 2,09
Fin

ESTRUCTURAS DE DECISIÓN
 Estas permiten seleccionar la próxima sentencia a ejecutarse sobre la base de una desición (expresión lógica o variable lógica)

Los tipos de estructuras de desición que podemos encontrar son:
● Simples
● Dobles
● Múltiples

ESTRUCTURAS DE DECISION SIMPLE
La estructura de decisión más sencilla, es la llamada simple, Si-Entonces Su efecto es el de ejecutar una determinada acción cuando se cumpla una cierta condición y en caso contrario seguir el orden secuencial.

La selección Si-Entonces evalúa la condición y de acuerdo a los resultados:
Si es verdadero, ejecuta una o varias opciones
Si es falsa, entonces no hace nada y sigue la ejecución normal del programa


EJEMPLO:
   ● En Pseudocódigo

Si (condición) entonces               Si (A>B) entonces                    Si (hora <12) entonces
sentencias...                                Escribir ('El mayor es A')           Escribir ('buenos dias')
fin si                                             Fin si                                         Fin si


TALLER EN CLASE - INDIVIDUAL
  1. En una hoja de texto resuelva los siguientes ejercicios,en cada ejercicio especifique los datos de entrada, de sallida y las variables a usar. 
  • Escribir un Pseudocódigo de un programa que permita leer el nombre de la persona, la edad y peso de una persona y posteriormente presentarla por pantalla.
  • Escribir un Pseudocódigo que calcule el área de un triángulo recibiendo como entrada el valor de base y altura.
  • Escribir un Pseudocodigo que pida la el nombre de una persona, la edad y el sexo y dependiendo si la edad es mayor a 18 presente un mensaje que indique "SI PUEDE VOTAR".
  1. Una vez terminado envie los ejericicios al mail del profesor jorgetobarccc@gmail.com