I Corte

Semana 1:

1. La programación.   Ir a Programacion


La Programación es la acción de escribir un conjunto  de instrucciones en un determinado lenguaje, que dirigen a un ordenador para la ejecución de una serie de operaciones, con el objetivo de resolver un problema que se ha definido previamente.


Lenguajes de programación. 

Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente.

Existen dos tipos de lenguajes claramente diferenciados:

a) Lenguajes de bajo nivel: Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas.

Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo.  Dentro de este grupo se encuentran:


El lenguaje máquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina.  Este lenguaje es mucho más rápido que los lenguajes de alto nivel.  La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible. 

    
     El lenguaje ensamblador es un derivado del lenguaje maquina y está formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener. 




b) Lenguajes de alto nivel: Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema.
         Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina.
         Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos).

3. Precedencia de los operadores aritméticos y lógicos
4. Tablas de verdad



Un operador es un símbolo (+, -, *, /, etc) que tiene una función predefinida (suma, resta, multiplicación, etc)
Son elementos que relacionan de forma diferente, los valores de una o más variables y/o constantes. Es decir, los operadores nos permiten manipular valores.

2.1. OPERADORES ARITMÉTICOS
Los operadores aritméticos permiten la realización de operaciones matemáticas con los valores (variables y constantes).
Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.
Operadores Aritméticos
+ Suma
- Resta
* Multiplicación
/ División
mod Modulo (residuo de la división entera)

Ejemplos:
Expresión
Resultado
7 / 2
3.5
12 mod 7
5
4 + 2 * 5
14

2.1.1. Prioridad de los Operadores Aritméticos

Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúa primero.
Dentro de una misma expresión los operadores se evalúan en el siguiente orden:

1.            ^ Exponenciación
2.            *, /, mod Multiplicación, división, modulo.
3.            +, - Suma y resta.

Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha.

Ejemplos:
4 + 2 * 5 = 14
   
23 * 2 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23
   
2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98

Ejercicios propuestos:
Resuelva aplicando la precedencia de operadores aritméticos
a) (4 -5 / 2 * 1 -3 ^ 3 *2+5)    Resp. -47.5
b) (( 4 ( 5 / 2 * 1)) – ( 3^ 3) * (2 + 5))  
Resp. -179
c) 4  ^ 2  ^ 2 ^ 1 / 4 / 5 * 2 -1   
Resp. 24.6
d) (6/2^4 -(3(8/2^3 ) - 5 - 4)^ 2 )   Resp. -35.63

2.2. OPERADORES RELACIONALES
Se utilizan para establecer una relación entre dos valores. Luego compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso).
Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas). Estos tienen el mismo nivel de prioridad en su evaluación.
Los operadores relaciónales tiene menor prioridad que los aritméticos.

2.2.1. Tipos de operadores Relacionales
1.            >         Mayor que
2.            <         Menor que
3.            > =      Mayor o igual que
4.            < =      Menor o igual que
5.            < >      Diferente
6.            =         Igual
Ejemplos:
Si a = 10, b = 20, c = 30
a + b > c
  ® 
Falso
a - b < c
  ®
Verdadero
a - b = c
  ® 
Falso
a * b < > c
  ®
Verdadero

2.3. OPERADORES LÓGICOS
Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión relacional.
2.3.1. Tipos de operadores Lógicos  
And ®Y
Or
®O
Not
®Negación

Ejemplo: Para los siguientes ejemplos T significa verdadero y F falso.
Operador Not
Operando
   
Resultado
T
   
F
F
   
T

Operador And
Operando1
   
Operador
   
Operando2
   
Resultado
T
   
AND
   
T
   
T
T
F
   
F
F
T
   
F
F
F
   
F

Operador Or
Operando1
   
Operador
   
Operando2
   
Resultado
T
   
Or
   
T
   
T
T
F
   
T
F
T
   
T
F
F
   
F

Prioridad de los Operadores Lógicos
7.            Not
8.            And
9.            Or
Prioridad de los Operadores en General
1.            ( )
2.            ^
3.            *, /, Mod, Not
4.            +, -, And
5.            >, <, > =, < =, < >, =, Or
Ejemplos:
Sea: a = 10 b = 12 c = 13 d =10
 Realiza los siguientes ejercicios

1. Suponga que a = V, b= F c = F,
              (((a and b) and c) or not a)


2. Suponga que a = V, b= F  = F,
             ( (((b or not b) and c) and  not a) and (c and a ))


Algoritmos
Ii corte algoritmo_tr_1era_clase
View more presentations from tammyrodriguez2010.

Características del Pseudocódigo

El pseudocódigo es un método para representar de manera textual la solución de problemas mediante algoritmos; utiliza un lenguaje no formal para describir la secuencia de acciones que se deben ejecutar.
Algunas características del pseudocódigo son:
  • Emplea palabras normales de un idioma por ejemplo: inicio, leer solicitar, escribir, imprimir, calcular, fin.
  • No existe un vocabulario obligado, aunque por el uso frecuente y la comodidad se han establecido estándares.
  • Las instrucciones deben ser escritas con precisión, sin ambigüedades como prodría suceder con el método de texto narrativo.
  • Las instrucciones aunque escritas con precisión no requieren la rigurosidad de la empleadas en un lenguaje de programación.
  • Un algoritmo representado en pseudocódigo puede convertirse con facilidad en el código de cualquier lenguaje de programación.
      Reglas Básicas para un diagrama de fujo


1.    Los Diagramas de flujo deben escribirse de arriba hacia  bajo,  y/o de izquierda a derecha.
2.    Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales).
3.    Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se van a utilizar conectores cuando sea estrictamente necesario.
4.    No deben quedar líneas de flujo sin conectar
5.    Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras.
6.    Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.

7.    Solo los símbolos de decisión pueden y deben tener mas  de una línea de flujo de salida.

    Objetos en DFD (Diagrama de flujo de datos)
Objeto Inicio
     Es el primer objeto a ejecutar en cualquier algoritmo. Al ser ejecutado, el objeto Inicio transfiere el control al siguiente objeto.
   


 Objeto Fin
Este objeto junto con el objeto Inicio, delimita el cuerpo del procedimiento principal. Solo existe un objeto Fin en el diagrama; la ejecución de este objeto finaliza la ejecución del algoritmo.



     Objeto Lectura
            El objeto Lectura permite la entrada de valores y se los asigna a campos variables. Podrá ser leída cualquier cantidad de variables utilizando un objeto Lectura. Este cuadro de diálogo espera que el usuario introduzca un valor constante que será asignado a la respectiva variable.



Objeto Salida
El objeto Salida muestra valores por pantalla. Puede ser visualizada cualquier cantidad de valores utilizando un objeto Salida. 
     El cuadro de diálogo para la edición del objeto contiene un espacio para ingresar una lista de expresiones separadas por comas. Debe existir por lo menos una expresión.





Objeto Asignación
      El objeto Asignación asigna valores a campos variables. 
            El campo variable situado siempre a la izquierda, el símbolo de asignación y un espacio para la expresión situada siempre a la derecha. Esto indica que al campo variable se le asigna el resultado de la evaluación de la expresión. Debe realizarse por lo menos una asignación.



Objeto Decisión
     El objeto decisión selecciona el flujo a seguir de acuerdo al valor lógico de una condición. La condición debe ser siempre una expresión que al ser evaluada de como resultado un valor de tipo de dato Lógico.
     El objeto Decisión está asociado a dos bloques de objetos ubicados a lado y lado de este, y un objeto Cierre Decisión ubicado a continuación de ambos bloques.
Si al evaluar la condición se obtiene el valor lógico .V., se ejecuta el bloque rotulado con la palabra Si, en caso contrario se ejecuta el bloque rotulado con No. En ambos casos la ejecución continúa en el objeto Cierre Decisión.
     El cuadro de dialogo del objeto Decisión contiene espacio para la expresión que conforma la condición, y dos casillas por medio de las cuales se puede especificar por cual lado continuara el flujo en caso de  que la condición sea verdadera.




Veamos algunos ejemplos:

2. Hacer el diagrama de flujo para calcular el promedio de 3 valores usando el DFD
           
          

Estructura de control

Estructura Secuencial

Sigue el orden de las instrucciones planteadas en el algoritmo, por lo que existe un solo camino para obtener el resultado.
Ejjemplo de un algoritmo en pseudocódigo para obtener la suma de 2 números:
  1. Inicio
  2. imprimir introduzca dos valores a sumar
  3. leer x,y
  4. Calcular Suma=x+y
  5. Imprimir Suma
  6. Fin

Estructura Alternativa

El algoritmo Cuenta con dos alternativas, de las cuales se selecciona una, dependiendo del resultado lógico (Verdadero o falso ) que se obtenga.
Las estructuras alternativas pueden ser:
  • Estructura de selección simple: Si - Entonces
  • Estructura de selección doble: Si -Entonces - Si No
Estructura de selección simple Sí - Entonces. 
Por ejemplo, dada la calificación de un alumno se muestre "reprobado" o "aprobado", la calificación mayor o igual a 10 es aprobatoria.
  1. Inicio
  2. Leer Cal
  3. Resultado= "Reprobado"
  4. SI Cal >=10 ENTONCES
          Resultado="Aprobado"
  5. Mostrar Resultado
  6. Fin

Estructura de selección doble SI - ENTONCES - SI NOEn la siguiente figura se mustra el diagrama de flujo y el pseudocódigo para la estructura de selección doble.
Por ejemplo, diseñar el algoritmo para calcular el salario de un trabajador semanal. 
Se proporcionan como datos de entrada el número de horas laboradas por semana y el pago por hora ordinaria. Las horas extraordinarias se definen como el excedente a 40 horas, y éstas se pagan al doble.
  1. Inicio
  2. Imprimir " Introduzca el numero de horas trabajadas a la semana y el precio por hora"
  3. leer Horas, Precio_hora
  4. SI Horas ≤ 40 ENTONCES
    Salario = Horas * Precio_hora
    SI No
    Salario = (40 * Precio_hora) +  [(Horas - 40) * Precio_hora* 2)]
  5. Imprimir " las horas trabajadas en la semana son ", Horas, Salario
  6. FIn

Otro Ejemplo:
Planteamiento: Si 2 refrescos cuestan 19.50 Bsf ¿Cuántos podemos comprar con 78 Bsf?.
• Identificación del problema. ¿Cuántos refrescos se pueden comprar?
• Entrada:
- Costo de 2 refrescos = 19.50
- Cantidad de dinero con que se cuenta = 78.00
• Salida:
- Total de refrescos que se pueden comprar con = 78.00
Planteamiento de alternativas de solución. Se plantean todas las posibles formas que existen para obtener el resultado.
 

Alternativa 1 
78/19.5 = 4 pares
4*2 = 8 refrescos

Alternativa 2

19.50/2 = 9.75 valor de cada refresco
78/9.75 = 8 refrescos

Alternativa 3
19.50 = 2
19.50 = 2
19.50 = 2
19.50 = 2  Total 8 refrescos

Elección de una alternativa. De la alternativa que se considere mas compleja, sencilla o mejor, según las necesidades o el criterio de elección.

Alternativa 01
78/19.5 = 4
4*2 = 8

Desarrollo de la solución. Se escriben los pasos (algoritmo) que habrán de seguirse para obtener el resultado.
1.- Inicio
2.- Leer el precioparefrescos 

3.- Dineroconquesecuenta = 78
4.- Dividir la cantidad de dinero entre el precio de los dos refrescos 

       Proceso  PR = 78/19.5
                      RT = 4*2
5.-
Salidas

Mostrar el numero de refrescos que se puede adquirir con esa cantidad de dinero. RT = 8
7.- Fin



  A continuación desarrollaremos un diagrama de flujo que permita leer un valor cualquiera N y escribe si es Positivo o Negativo.

Para poder desarrollarlo primero tenemos que pensar cómo matemáticamente se sabe si un número es positivo o negativo. Significa que todo valor mayor a "0" será positivo de lo contrario es negativo. Por eso se debe pensar primeramente que después de leer el valor por teclado habrá que preguntar usando el simbolo de decición que permitirá escoger la ruta para que escriba si el valor es positivo o negativo o neutro.

1. Inicio
2. Escribir ´Introduzca un valor para saber si es positivo o negativo o neutro´
3. Leer la variable NUM
4.  Si el valor leido NUM es igual a cero
6.      Escribir "el valor leido es neutro"
7.   Sino
8.          Si el valor leido es mayor cero
9.                escribir " El valor leido es positivo"
10         Sino
11.             escribir " El valor leido es negativo"

12. Fin


 
 A c t i v i d a d

Busca en google las áreas de las figuras geométricas y realiza los algoritmos que 
a) Calcule y muestre el área de un rectángulo, 
b) Calcule y muestre el área de un cuadrado 
b) Calcule y muestre el área de una elipse.

 2. Calcule y muestre la edad de un persona, a través de la lectura del año de 4 digitos.

3. Calcule el promedio de tres valores numéricos leidos.

4. Calcule la nota final de 3 calificaciones cuyo porcentaje para  el 1er corte es del 30%,  del 2do corte, 30 % y 3er corte 40 %.

5. Calcule y muestre el salario diario de un obrero eventual que trabaja por hora, tambien calcule las deducciones por concepto de uso de transporte diario con un valor fijo de 5 Bsf y por último la deducción de un 1% de su salario neto para accidentes laborales.


 6. Realice un algoritmo donde lea un valor numérico que representa el tiempo en horas, Calcule y muestre los minutos y los segundos respectivamente.

7. Realice un algoritmo que calcule el salario semanal de un empleado que trabaja por horas, donde cada día es diferente,  y debe ser leído porque labora de lunes a viernes (5 días), a un precio  fijo, además el empleado  presenta un descuento  semanal de 1 % fijo por concepto de alimentación de su salario base y recibirá un bono mensual de 5% a su salario neto o base por concepto de cada hijo que posea.
Resp.
1. Inicio
2. Ingrese " Cuantas horas trabajó el dia Lunes"
3. Leer lunes
4. Ingrese " Cuantas horas trabajó el dia Martes"
5. Leer martes
6. Ingrese " Cuantas horas trabajó el dia miercoles"
7 leer miercoles
8. Ingrese " Cuantas horas trabajó el dia Jueves"
9. leer jueves
10. Ingrese " Cuantas horas trabajó el dia Viernes"
11. leer viernes
12. Ingrese precio de la hora
13. leer precio
14. Ingrese el numero de hijos
15, leer hijos
16. Salariobase = 
(lunes+martes+miercoles+jueves+viernes) * precio
17. desc = salariobase * 0.01 (descuento del 1%)
 18. salariosem= salariobase - desc
19. salariomens=salariosem * 4
20.  bonohijo= salariomens *0.05 * hijos
21. salariototal = salariomens + bonohijo
22. Imprima "el salario semanal es",  salariosem
23. Imprima "el salario mensual es",  salariototal
24. fin

I Parte del taller.


8.  Realice un algoritmo que lea un valor que representa una cantidad representada en Kilogramos y diga : Cuantos gramos y miligramos hay?


9. Realice un algoritmo donde Calcule y muestre el Sueldo o Salario Integral diario y mensual  en Venezuela con sus utilidades (aguinaldos) y vacaciones.

Explicación: 
 El salario  básico se divide entre 30 días. Ejemplo: 1.000,00 / 30 = 33,33 diario.

Las utilidades
Ejemplo: se pagaron dos meses de utilidades que son 60 días (equivalen a los 2 meses) / 12 meses = 5 este monto lo dividimos entre 30 días 5/30 = 0,17 diario este monto lo multiplicamos por el salario base que son Bs. 0.17* 33,33 = 5,66 

Las vacaciones
Ejemplo: se pagaron 15 días de bono vacacional / 12 meses = 1,25 este monto lo dividimos entre 30 días = 0,04 diario  este monto lo multiplicamos por el salario base que son Bs. 0.04 * 33,331,33

Sumamos todos los resultados salario base Bs. 33,33 mas utilidades Bs. 5,66 mas vacaciones Bs. 1,33 = Bs. 40,32 (este es el salario integral diario) 

Para sacar el salario integral mensual multiplicamos por 30 días = Bs. 1.209,6.


10. Realice un algoritmo que calcule y muestre el salario semanal de un obrero eventual que trabaja 7 días a la semana, pero sábado y domingo se les paga el doble de su valor. Suponiendo que el obrero trabaja máximo 8 horas diarias. El algoritmo debe leer el número de inasistencias a la semana, mostrar las inasistencias y muestre las deducciones por concepto de inasistencias semanales, calcule y muestre la deducción de un  7% .

II. Parte del taller. Realiza en Word.

Teoría:

1. Indica y explica cuáles son las diversas formas de representar los algoritmos?

2. Explica cuáles son los pasos que debes tener en cuenta al momento de desarrollar un algoritmo?

3. Dibuja los símbolos básicos de un diagrama de flujo.

4. Indica si las siguientes variables son Válidas o No válidas
Promedio de Notas
2Media
Sueldo
1erSueldo

5. Cuál es la diferencia entre un lenguaje de programación de alto nivel con lenguaje de bajo nivel?

6. Indica cual es el valor final de la variable a?
Suponga que  a= 1    b = -1

1. Inicio 
2.a = a + b
3. a= a-b
4. a = a + a
5. imprimir a
6. fin

7. Aplica la precedencia de operadores aritméticos a la siguiente expresión:
(Desarrolla paso a paso)
Se toma en cuenta los paréntesis mas internos y tomando en cuenta cada prioridad de cada uno de los operadores aritméticos
(6/2^4 -(3(8/2^3) - 5 - 4) ^ 2)

8. Aplica la precedencia de operadores lógicos: Suponga que a = V,     b= V    c = F,
( ( ( (b or not b) and c) and not a) and (c and a )) ( Desarrolla paso a paso)

9. Realiza los siguientes algoritmos:

10. El gobierno  ha implementado como parte de su programa social, un  subsidio familiar bajo la siguiente reglamentación, calcule y muestre cuanto es el subsidio que recibe la familia en base a :

  • a) Las familias que tienen hasta 2 hijos, reciben 500 Bsf., las que tienen entre 3 y 5 reciben 1000 Bsf. 

    Además:

  • b) Las familias que tengan algún hijo sin importar la cantidad, en edad entre 6 y 18 años, recibe un bono de 100 Bsf.

  • Por otra parte:

    c) Si la  de familia fuera viuda o soltera recibe 200.00 adicionales, si fuera casada no recibe. 
    1 = viuda, 2=soltera, 3= casada.


Enviar al correo: 

tammyrodriguez2008@hotmail.com

1 comentario: