P.L.E 2

BLOQUE 1

INTRODUCCIÓN A LA PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS
 OBJETIVO: Comprender los conceptos básicos que se aplican en la informática con la finalidad de orientar a la comprensión y posterior aplicación en la solución de problemas que requieren soluciones informáticas.

 ¿Qué es un programa?

ACTIVIDAD No. 1:  
  • Investigue en diferentes fuentes y escriba un concepto de los siguientes términos: Hardware, software, aplicación informática y sistema operativo; ponga ejemplos de cada uno de ser posible con imágenes.

    •  Hardware,
    Conjunto de elementos físicos o materiales que constituyen una computadora o un sistema informático.



    ·         software,
    Conjunto de programas y rutinas que permiten a la computadora realizar determinadas tareas.



    ·         aplicación informática

    En informática, una aplicación es un tipo de programa informático diseñado como herramienta para permitir a un usuario realizar uno o diversos tipos de trabajos




    ·         sistema operativo; 

    Conjunto de órdenes y programas que controlan los procesos básicos de una computadora y permiten el funcionamiento de otros programas.
     

Defina que es un programa informática

Un programa informático es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s y 1s.






ACTIVIDADNo.2:

Escriba que es un sistema de procesamiento de información

Es un conjunto de elementos que interactúan entre sí con un fin común; que permite que la información esté disponible para satisfacer las necesidades en una organización, un sistema de información no siempre requiere contar con recuso computacional aunque la disposición del mismo facilita el manejo e interpretación de la información por los usuarios.

Elabore un organizador cognitivo con las partes o elementos que se interrelacionan en un sistema de procesamiento.




Describa las cuatro actividades básicas de un sistema de información e ilustre con imágenes.
Un Sistema de Información realiza cuatro actividades básicas:

Entrada de información: proceso en el cual el sistema toma los datos que requiere.



Almacenamiento de información: pude hacerse por computadora o archivos físicos para conservar la información.



Procesamiento de la información: permite la transformación de los datos fuente en información que puede ser utilizada para la toma de decisiones



Salida de información: es la capacidad del sistema para producir  la información procesada o  sacar  los datos de entrada al exterior.










Programa Informático (Aplicación Informática)


ACTIVIDAD No. 3:
 Realice la descripción de cada una de las etapas del ciclo de vida de un programa informático. 







Tipos de Software

ACTIVIDAD No. 4: 
  Explique sobre cada uno de los tipos de software anteriormente descritos, ponga ejemplos. 
Software de Aplicación: aquí se incluyen todos aquellos programas que permiten al usuario realizar una o varias tareas específicas.  Se encuentran aquellos programas que los individuos usan de manera cotidiana como: procesadores de texto, hojas de cálculo, editores, telecomunicaciones, software de cálculo numérico y simbólico, videojuegos, entre otros.

EJEMPLOS:

·  Los Procesadores de texto como Word, Bloc de Notas.
·  Editores de imágenes como Adobe Fireworks, o Adobe Photoshop.
·  Sistemas Administradores de Bases de Datos (Oracle, SQL Server, Informix).
·  Editores de Páginas Web, Adobe Dreamweaver.
·  Editores de Lenguaje de programación Visual Studio PHP Edit.

Software de Programación: son aquellas herramientas que un programador utiliza para poder desarrollar programas informáticos.

EJEMPLOS:

·  Aplicaciones de Sistema de control y automatización industrial (Cibermatrix)
·  Aplicaciones ofimáticas (Office, Word, Excel)
·  Software educativo (Clic, GCompris, PLATO)
·  Software médico (Cardiactrex X/70)
·  Software de Cálculo Numérico (Excel, COI, NOI, SAE)

Software de Sistema: es aquel que permite a los usuarios interactuar con el sistema operativo así como también controlarlo. Este sistema está compuesto por una serie de programas que tienen como objetivo administrar los recursos del hardware y, al mismo tiempo, le otorgan al usuario una interfaz.
EJEMPLO: de esta clase de software se puede mencionar a Windows, Linux y Mac OS X, entre otros

 

Tipos de Lenguajes de Programación

ACTIVIDAD No. 5: 

·         Escriba que son los lenguajes de programación

Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.

·         Describa cuales son los tipos de lenguaje programación y para qué sirven.

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
El lenguaje maquina: 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.



Lenguajes de alto nivel 
Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina.
Están dirigidos a solucionar problemas mediante el uso de EDD's.
Lenguajes de Medio nivel

Se trata de un término no aceptado por todos, pero q seguramente habrás oído. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.

Generaciones: La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones

Tipos o Paradimas de Programación

ACTIVIDAD No. 6: 
  • Escriba a que se refiere el término programación en el campo informático
En informática, un campo es un espacio de almacenamiento para un dato en particular. En las bases de datos, un campo es la mínima unidad de información a la que se puede acceder; un campo o un conjunto de ellos forman un registro, donde pueden existir campos en blanco, siendo este un error del sistema operativo. Aquel campo que posee un dato único para una repetición de entidad, puede servir para la búsqueda de una entidad en específico. En las hojas de cálculo los campos son llamados "celdas".
Un campo puede ser de tipo:
  • Alfanumérico:
  • Numérico:
  • Autoincrementable
  • Booleano
  • Fechas
  • Memo

·         Elabore un mapa conceptual con los diferentes formas de programación






Tipos de documentación

ACTIVIDAD No. 7:

Elaborar un organizador gráfico con los tipos de documentación






ACTIVIDAD No. 7:

Escriba que es un intérprete y un compilador, escriba sus respectivas ventajas
Compilador:

Compilador,

Es un traductor que convierte un texto escrito en un lenguaje de alto nivel a un lenguaje de bajo nivel (código objeto o máquina).

Ventajas de los Compiladores:

Produce un código optimizado.
La ejecución del programa objeto es mucho más rápida que si se interpreta el programa fuente.
El compilador tiene una visión global del programa, por lo que la información de mensajes de error es más detallada.
Se debe ejecutar muchas veces el código fuente para ver los cambios en el resultado.
Mayor consumo de memoria.

Intérprete:

Un intérprete es un programa que analiza y ejecuta simultáneamente el programa fuente, es decir no producen un código objeto, siendo su ejecución simultánea a la del programa fuente. No genera código objeto, analiza y ejecuta directamente cada proposición del código fuente. Un intérprete es como un compilador, solo que la salida es una ejecución. El programa de entrada se reconoce y ejecuta a la vez. No se produce un resultado físico (código máquina) sino lógico (una ejecución).

Ventajas de los Intérpretes

Su principal ventaja es que permiten una fácil depuración. Permiten una mayor interactividad con el código en tiempo de desarrollo.
En algunos lenguajes (Smalltalk, Prolog, LISP) está permitido y es frecuente añadir código según se ejecuta otro código, y esta característica solamente es posible implementarla en un intérprete.
Puede ser interrumpido con facilidad.
Puede ser rápidamente modificado y ejecutado nuevamente.
Un Intérprete necesita menos memoria que un compilador.
Facilita la búsqueda de errores.
En algunos lenguajes está permitido añadir código según se ejecuta otro código.
Menor consumo de memoria.
Lentitud de ejecución, ya que al ejecutar a la vez que se traduce no puede aplicarse un alto grado de optimización.
Cada instrucción debe ser traducida a código máquina tantas veces como sea ejecutada
Durante la ejecución, el intérprete debe residir en memoria ya que no genera código objeto.

Elabore un organizador gráfico donde establezca sus diferencias

                              DIFERENCIA ENTRE INTÉRPRETE Y COMPILADOR

Interprete
Compilador
Es un programa que lee línea a línea un programa escrito en un lenguaje; en lenguaje fuente y lo va traduciendo a un código intermedio, para ejecutarlo.
Es un programa que lee totalmente un programa escrito en un lenguaje; el lenguaje fuente, y lo traduce a un programa equivalente a otro lenguaje, lenguaje objeto.
Un intérprete traduce el programa cuando lo lee, convirtiendo el código del programa directamente en acciones.
Un programa que ha sido compilado puede correr por si solo, pues en el proceso de compilación se lo transformo en otro lenguaje (lenguaje máquina).
La ventaja del intérprete es que dado cualquier programa se puede interpretarlo en cualquier plataforma (sistema operativo).
El archivo generado por el compilador solo funciona en la plataforma en donde se lo ha creado.
No genera un ejecutable
Un archivo compilado puede ser distribuido fácilmente conociendo la plataforma, mientras que un archivo interpretado no funciona si no se tiene el intérprete.
El proceso de traducción se realiza en cada ejecución
Hablando de la velocidad de ejecución un archivo compilado es de 10 a 20 veces más rápido que un archivo interpretado.
La ejecución es más lenta, ya que para cada línea del programa es necesario realizar la traducción
Genera un ejecutable
No hay ejecutable, así que si existe un intérprete para una plataforma concreta, el programa se podrá ejecutar en ambas. Típicamente, los programas interpretados son mucho más portables que los compilados, ya que suelen existir intérpretes del mismo lenguaje en distintas plataformas. Los programas que se van a interpretar no suelen ser muy dependientes de su plataforma de destino, siendo más portables.
El proceso de traducción se realiza una sola vez
Los lenguajes interpretados no suelen ser muy dependientes de la plataforma de destino, pero en contrapartida suelen ser menos flexibles y potentes que los compilados.
La ejecución es muy rápida debido a que el programa ya ha sido traducido a código máquina
El código fuente es necesario en cada ejecución, así que no puede permanecer en secreto
El ejecutable va dirigido a una plataforma concreta (una CPU, un sistema operativo, y quizá alguna otra consideración), siendo prácticamente imposible portarlo a otra. En ocasiones, si existe un compilador para otra plataforma, se puede recompilar el programa, aunque normalmente esto plantea serias dificultades. Los programas que se van a compilar suelen estar muy ligados a la plataforma de destino.
Los errores sintácticos se detectan durante la ejecución, ya que traducción y ejecución se van haciendo simultáneamente. Algún error sintáctico podría quedar enmascarado, si para una ejecución concreta no es necesario traducir la línea que lo contiene. (Algunos intérpretes son capaces de evitar esto)
Los lenguajes compilados suelen proporcionar al programador mecanismos más potentes y flexibles, a costa de una mayor ligazón a la plataforma.
Un programa interpretado con un comportamiento torpe normalmente puede ser interrumpido sin dificultad, ya que su ejecución está bajo el control del intérprete, y no sólo del sistema operativo.
Una vez compilado el programa, el código fuente no es necesario para ejecutarlo, así que puede permanecer en secreto si se desea.

Los errores sintácticos se detectan durante la compilación. Si el fuente contiene errores sintácticos, el compilador no producirá un ejecutable.

Un programa compilado puede, por error, afectar seriamente a la estabilidad de la plataforma, comprometiendo la ejecución de los otros procesos, por ejemplo, acaparando la CPU, la memoria o algún otro recurso, siendo a veces complicado para el sistema operativo interrumpir su ejecución.



BLOQUE 2



METODOLOGÍA DE LA PROGRAMACIÓN
 OBJETIVO:   Estudiar métodos y técnicas para el desarrollo de programas informáticos.
  Herramientas para el diseño de algoritmos y programas.

Analice: ¿Cuando usted va a realizar una determinada actividad o acción, el conjunto de pasos a realizar, tiene un orden lógico? ¿Si dejara de aplicar ese orden se llegará a cumplir la actividad que se disponía?

Puede ser que se cumpliera como por ejemplo quiero hacer  una compra de uniformes  y tengo que realizarlo en un orden lógico para que pueda lograr mi objetivo de compra



ACTIVIDAD No. 1: 

Investigue y escriba la definición de algoritmo.
Un algoritmo se puede definir como una secuencia de instrucciones que
representan un modelo de solución para determinado tipo de problemas. O
bien como un conjunto de instrucciones que realizadas en orden conducen a
obtener la solución
 de un problema.

Describa las partes de un algoritmo
Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir: entrada, proceso y salida.
·         Donde:

·         ENTRADA
·         Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer los resultados esperados.

·         PROCESO
·         Pasos necesarios para obtener la solución del problema o la situación planteada.


·         SALIDA
·         Resultados arrojados por el proceso como solución.
·         En el ejemplo del algoritmo de la sumatoria de los dos números, tenemos:

·         ENTRADA
·         Valores de de las variables A y B.

·         PROCESO
·         Asignar a la variable Suma, el valor de A mas el valor de B.

·         SALIDA
·         Impresión del valor de la variable Suma, que contiene la sumatoria
·         de los valores de A y B.

  • Describa las características de los algotitmos
·         Las características fundamentales que debe cumplir un algoritmo son:
·          
·         PRECISIÓN
·         Indica el orden de realización de cada paso dentro del proceso.
·          
·         DEFINICION
·         Indica la exactitud y consistencia de los pasos descritos en el proceso,
·         si el algoritmo se prueba dos veces, en estas dos pruebas, se debe
·         obtener el mismo resultado.
·          
·         FINITUD
·         Indica el número razonable de pasos, los cuales deben conllevar a la finalización del proceso y producir un resultado en un tiempo finito.
·         Al diseñar un algoritmo se debe tener presente las características de precisión, definición y finitud.

Escriba un ejemplo

Ejemplo: Algoritmo para hacer una torta
Entrada: Harina de trigo, mantequilla, huevos, sal, azúcar
Proceso: 1.- Unir la mantequilla con el azúcar
2.- Batir hasta lograr consistencia cremosa
3.- Agregar harina de trigo, huevos, sal y azúcar
4.- Batir hasta que esponje
5.- Precalentar el horno, en 250 °, y enmantequillar tortera
6.- Una vez logre la consistencia de esponjado, colocar en la tortera
7.- Introducir en el horno por espacio de 45 minutos



 ACTIVIDAD No. 2:

Resolver:

Desarrollar un algoritmo para:
  1. Escribir paso lo que una persona haría para cambiar la llanta baja del vehículo:
1.      Se baja del vehículo.
2.      Buscar herramientas
3.      Sacar los pernos
4.      Alzar el vehículo con la gata
5.      Sacar la llanta
6.      Poner la llanta de emergencia
7.      Poner los pernos
8.      Sacar la gata.

Para encontrar el área de un triángulo. 

1.      Ingresamos el dato de la base.
2.      Ingresamos el dato de la altura.
3.      Multiplicamos el número de la base por el número de la altura.
4.      El resultado de esa multiplicación le dividimos para dos.
5.      Y el resultado es el área.

 Se requiere obtener el promedio de las notas quimestrales, tome en 
consideración las siguientes notas parciales (Tareas Individuales, deberes, 
lecciones, evaluación final de bloque). 

1. Ingresar las tareas individuales T1

2. Ingresar las notas de deberes  D2

3. Ingresar las notas de lecciones L3

4. Ingresar  la nota de la evaluación final del bloque E4

5. Sumar las notas de los cuatro números (T1, D2, L3, E4,)

6. La suma total dividido para 4


ACTIVIDAD No. 3: 
  • Elabore dos propuestas y desarrolle los respectivos algoritmos.
 Algoritmo: La receta de un estofado de pollo:

1.       Hacer pedazos el pollo.
2.       Lavar el pollo.
3.       Hacer el refrito.
4.       Picar cebolla, tomate, poner ajos, comino, magi, achiote y sal.
5.       Cuando el refrito ya está se vierte  un poco de agua.
6.       Se vierte el pollo ya lavado.
7.       Se deja que hierva 30 minutos.
8.       Mientras hierve agrega sal a su gusto.
9.       Después de los 30 minutos lo apaga.
10.   Se sirve acompañado con arroz y una bebida. 

Algoritmo: Despejar x por el método de sustitución el siguiente sistema:

x+3y=6
5x-2y=13

1.       Enumeramos a las dos ecuaciones.
       x+3y=6          1
       5x-2y=13      2

2.       Tomamos la primera ecuación que es: x+3y=6.

3.       Despejamos la x de la primera ecuación.
          X=6-3y

4.       Tomamos la segunda ecuación (5x-2y=13) sustituyendo el valor de x.
           5(6-3y)-2y=13

5.       Resolvemos la ecuación ya sustituida:
         5(6-3y)-2y=13
     30-15y-2y=13.

6.       Ordenamos los términos ya conocidos:
      30-15y-2y=13
      -15y-2y=13-30.
7.       Se resuelve la ecuación y se halla el valor de y.
   -15y-2y=13-30
    17y=-17
    Y=-17/-17
   Y=1

8.       Se prosigue a sacar el valor de x.

9.       Tomamos la primera ecuación ya despejada:
   X=6-3y

10.   Resolvemos la ecuación tomada tomando en cuenta el valor de y, encontramos el valor de x
     X=6-3y
    X=6-3(1)
    X=6-3
    X=3


Actividad No. 4.

Determine las partes del algoritmo (entrada, proceso, salida) propuesto en la actividad tres

Se requiere obtener el promedio de las notas quimestrales, tome en consideración las siguientes notas parciales (Tareas Individuales, deberes, lecciones, evaluación final de bloque). 

1. Ingresar las tareas individuales T1

2. Ingresar las notas de deberes  D2
3. Ingresar las notas de lecciones L3
4. Ingresar  la nota de la evaluación final del bloque E4
5. Sumar las notas de los cuatro números (T1, D2, L3, E4,)
6. La suma total dividido para 4

Entrada: tomar en consideración las notas del bloque 1.2y3
Proceso: sumar todas las notas obtenidas de deberes lecciones, pruebas y el examen quimestral.
Salida: obtener el resultado de los trabajos
DIAGRAMAS DE FLUJO

ACTIVIDAD No. 5.

Escriba una definición de diagrama de flujo.
El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programacióneconomíaprocesos industriales y psicología cognitiva.
En Lenguaje Unificado de Modelado (UML), un diagrama de actividades representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un diagrama de actividades muestra el flujo de control general.
  • Identifique mediante imágenes los símbolos que se usan en los diagramas de flujo y describa para que se utiliza cada uno de los mismos.



ACTIVIDAD No. 6: 
RESOLVER: Elabore un diagrama de flujo para cada problema:
  •  Realizar la suma de tres número e imprimir o visualizar el resultado.
  •  Se requiere obtener el promedio  de las notas del primer bloque en una asignatura, para lo cual se toma en consideración los parciales (Tareas Individuales, deberes,  lecciones, evaluación final de bloque); se debe visualizar o imprimir el promedio y si la nota es menor a 7 visualizar un mensaje "Recuperación pedagógica".





ACTIVIDAD No. 7: 

 Describa el algoritmo y luego elabore diagrama de flujo para el siguiente problema:
  • Se requiere encontrar el volumen de una pirámide triangular
1.    Ingresar la base
2.    Ingresar la altura
3.    Multiplicar la base por la altura
4.    El resultado dividir para 3
5.    Se encuentra el volumen con la formula base. altura/2
                                                                     

  • En un volcán se ha colocado un sensor de temperatura, el mismo que cuando la temperatura es igual o inferior a 40 grados centígrados da un mensaje de "No hay peligro", si la temperaturas igual o inferior a 50 grados centígrados da un mensaje de "Alerta Naranja", si la temperaturas es mayor a 50 grados centígrados da un mensaje de "Peligro".
·         Ver a que temperatura esta
·         Ver que indica
·         Si indica 40 o menos no hay peligro
·         Ir a revisarlo en un tiempo determinado
·         Si indica 50  o menos  hay alerta naranja
·         Informar para tomar precauciones
·         Volver a revisarlo en un tiempo determinado
·         Si indica más de 50 existe Revisar el sensor
·         peligro
·         Informar si es que existe peligro


                                                 


ACTIVIDAD No. 8:
  •  Proponga tres problemas y presente su solución mediante el desarrollo de su respectivo algoritmo y flujo grama.
Algoritmo para preparar un chaulafán
1.       Tener los ingredientes listos: camarones salsa china  arroz aceite cebolla apio pimientos alineos  jamón
2.       Cocinar los camarones por cinco minutos.
3.       Escurra las papas pero no bote el agua.
4.       En una cacerola ponga aceite, la carne de chancho cocinada, el pollo ya cocinado, los camarones y el cubo de carne.
5.       Refría y ponga tres cucharadas de salsa de china, sal, pimienta y arroz.
6.        Agregue el agua de los camarones  hasta que cubra el arroz.
7.       Aparte ponga  aceite, cebolla, Apio, pimientos, alineos, jamón y dos cucharadas de salsa china.
8.       Cuando este seco el arroz, ponga la preparación anterior y revuelva, pero déjelo a fuego lento por cinco minutos.
9.       Haga tiritas de huevo y adorne
10.   Chaulafan listo


Algoritmo para saber cómo puedo comprar un terreno.

1.       Elaborar un plan.
2.       Determinar la razón por la quieres comprar el terreno
3.       Asegurar de que haya acceso al alcantarillado y al agua.
4.       Tomar en cuenta los caminos del lugar
5.       Preparar las preguntas que le harás al vendedor.
6.       Comenzar a buscar un terreno disponible.
7.       Ver e inspeccionar el terreno.
8.       Comprar el terreno.
9.       Has una oferta no muy alta.
10.   Asegura un préstamo.
11.   Consulta con un abogado durante el proceso de cierre.


Algoritmo para  describir como hago para ir del colegio a la casa

1.       acaba clases.
2.       Toca la sirena
3.       Salgo del colegio.
4.       Camino 5m para llegar a la parada.
5.       Llego a la parada.
6.       Espero al bus 5m.
7.       Viene el bus me bus  y me voy.
8.       el bus se demora 10m en llegar a mi barrio.
9.       Me bajo
10.   Camino 2 cuadras para llegar a mi casa.





 TABLAS DE DECISIÓN

 ACTIVIDAD No. 9:
  •  Escriba que es una tabla de decisión
TABLA DE DECISIÓN

La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones. Puede utilizarse como herramienta en los distintos momentos del proyecto, esto es: en la exposición de los hechos, en el análisis del sistema actual, en el di seño del nuevo sistema y en el desarrollo del software.


  • Describa las partes que conforman una tabla de decisión.
Conjunto de condiciones:
    • Son las condiciones que intervienen en el problema. Entrada de condiciones: Son las combinaciones posibles entre los valores de las condiciones. SI, NO, DA IGUAL.
Conjunto de acciones:
    • Abarca todas las acciones que se tienen que ejecutar cuando se cumplen un conjunto dado de condiciones.
Salida de ejecución:
    • Se determina cuándo se ejecuta cada acción.
La regla de decisión:
    • Es una combinación de un estado en la entrada de condiciones y de una o más acciones asociadas en la parte de la salida de acciones asociadas en la parte de la salida de acciones siendo N el número de condiciones y considerándolas como binarias (SI/NO) habrá un número máximo de 2 elevado a N reglas.
    • Cada regla equivale desde el parte de vista de algoritmos a una estructura si…entonces…fin si, y en cada momento solo se puede cumplir una regla. Las tablas de decisión las podemos usar para controlar la lógica de control de un algoritmo.
  • Represente mediante un organizador gráfico (tabla) como se construye una tabla de decisión (como está compuesta) y describa sus pasos.

  1. Determinar las condiciones:
    • Factores relevantes que afectan la toma de decisiones, esto permite identificar las condiciones en la decisión.
    • Cada condición tiene la posibilidad de cumplirse o no.
  2. Determinar las acciones posibles
  3. Determinar las alternativas para cada condición.
  • Tablas limitadas: solo son posible 2 alternativas (si-no) o (verdadero – falso).
  • Tablas extendidas: para cada condición existe varias alternativas.

  1. Calcular el máximo de columnas en la tabla de decisión: se calcula multiplicando el número de alternativas de cada condición.
  2. Armar una tabla de cuatro cuadrantes.


  1. Determinar las reglas que tendrá la tabla de decisión y completar las alternativas, existen dos formas:
  • Llenar la tabla considerando una condición a la vez, cada condición adicional se añade a la tabla sin considerar combinaciones y acciones duplicadas.
  • Comenzar con la primera condición, dividir el numero de columnas por el numero de alternativas de cada condición y así sucesivamente con las demás condiciones. Ejemplo: la siguiente tabla presenta 6 columnas, cada uno puede tener las alternativa (SI-NO), por lo que, 6/2=3.
  • Completar la tabla completando con X todas las acciones que debe ejecutarse con cada regla.

ACTIVIDAD No. 10:
  • Resuelva el siguiente problema, utilizando tablas de decisión.

La empresa “XYZ” reconoce el tiempo de servicio a sus empleados (antigüedad del empleado) mediante el incremento salarial, lo hace de la siguiente manera: Si el empleado trabaja de 5 años o menos se incrementa el 2% a su sueldo, Si el empleado trabaja de 5 a 10 años se incrementa el 3% a su sueldo, Si el empleado trabaja de 10 a 15 años se incrementa el 4% a su sueldo y Si el empleado trabaja de 15 años en adelante se incrementa el 5% a su sueldo. Identifique las condiciones y las acciones y elabore una tabla de decisión.  
                                                                                 REGLAS                          
CONDICIONES
1
2
3
4
ANTIGÜEDAD
< 5 AÑOS
5 A 10 AÑOS
10 A 15 AÑOS
> 15 AÑOS
ACCIONES




SUELDO 2% DEL SUELDO BÁSICO
X



SUELDO 3% DEL SUELDO BÁSICO

X


SUELDO 4% DEL SUELDO BÁSICO


X

SUELDO 5% DEL SUELDO BÁSICO



X



Una empresa comercializadora a implementado las siguientes políticas para sus clientes en cuanto a facturas de venta, si el monto de la factura es igual o menor a 100 dólares no hay  descuento, si el monto de la factura es mayor a 100 dólares y menor a 200 hay un  descuento del 5%, si el monto de la factura es mayor a 200 dólares y menor a 500 hay un  descuento del 10% y si el monto de la factura es mayor a 500 dólares el descuento es del 15%.

                                                                                Reglas
condiciones
1
2
3
4
Monto de la factura
Igual o < a 100$
< a 100$ y > a 200$
< a 200$y < a 500$
> a 500$
acciones




El 5%

x


El 10%


x

El 15%



x



BLOQUE 3

C UN LENGUAJE ESTRUCTURADO Y PROCEDIMENTAL
        
OBJETIVO: Presentar un lenguaje estructurado y procedimental

ACTIVIDADES 1: 

Acceda al enlace que se dispone a continuación y realice un breve resumen sobre la historia del Lenguaje C, sus características, sus ventajas e inconvenientes. 

Historia del lenguaje c

C es un lenguaje de programación originalmente desarrollado por Dennis M. Ritchie entre 1969 y 1972 en los Laboratorios Bell,2como evolución del anterior lenguaje B, a su vez basado en BCPL. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.

Características

Propiedades

·         Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.
·         Es un lenguaje muy flexible que permite programar con múltiples estilos.
·         Un sistema de tipos que impide operaciones sin sentido.
·         Usa un lenguaje de preprocesador, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente.
·         Acceso a memoria de bajo nivel mediante el uso de punteros.
·         Interrupciones al procesador con uniones.
·         Un conjunto reducido de palabras clave.
·         Por defecto, el paso de parámetros a una función se realiza por valor.
·         Tipos de datos agregados que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una única variable "empleado").

Carencias

·         Recolección de basura nativa, sin embargo se encuentran a tal efecto bibliotecas como la "libgc" desarrollada por Sun Microsystems, o el Recolector de basura de Boehm.
·         Soporte para programación orientada a objetos, aunque la implementación original de C++ fue un preprocesador que traducía código fuente de C++ a C.
·         Funciones anidadas, aunque GCC tiene esta característica como extensión.
·         Soporte nativo para programación multihilo.

Ventajas

·         Lenguaje muy eficiente puesto que es posible utilizar sus características de bajo nivel para realizar implementaciones óptimas.
·         A pesar de su bajo nivel es el lenguaje más portado en existencia, habiendo compiladores para casi todos los sistemas conocidos.
·         Proporciona facilidades para realizar programas modulares y/o utilizar código o bibliotecas existentes.

Inconvenientes

El mayor problema que presenta el lenguaje C frente a los lenguajes de tipo de dato dinámico es la gran diferencia en velocidad de desarrollo: es más lento programar en C, sobre todo para el principiante. La razón estriba en que el compilador de C se limita a traducir código sin apenas añadir nada. La gestión de la memoria es un ejemplo clásico: en C el programador ha de reservar y liberar la memoria explícitamente.



Estructura de un programa en C.

ACTIVIDADES 2: 
  • Describa la estructura general de un programa en Lenguaje C.
Una cabecera de la función, que consta del nombre de la función, seguido de una lista opcional de argumentos encerrados con paréntesis.
Una lista de declaración de argumentos, si se incluyen estos en la cabecera.
Una sentencia compuesta, que contiene el resto de la función.

Tipos de variables:

ACTIVIDADES 3: 
  • Escriba sobre los tipos de variables que se maneja en C.
Variables globales: son las que se declaran después del llamado a las cabeceras, pero antes de cualquier función, y son útiles para cualquier parte del programa.

Variables locales: son las que se declaran dentro de una función, y solo sirven para ser usadas dentro de esa función.


Tipos de datos básicos:

ACTIVIDADES 4: 

·         Elabore una tabla con los tipos de datos que se manejan en C

Enteros 

Nombre
Rango
Espacio en memoria
int
Máximo = 2,147,483,647
Mínimo = -2,147,483,648
Unsigned (sin signo)
Máximo = 4294967295
Mínimo = 0
4 bytes
short
Máximo = 32767
Mínimo = -32768
Unsigned (sin signo)
Máximo = 65,535
Mínimo = 0
2 bytes
long long
Máximo = 9,223,372,036,854,775,807
Mínimo = 9,223,372,036,854,775,808
Unsigned (sin signo)
Máximo = 18,446,744,073,709,551,616
Mínimo = 0
8 bytes

Reales (coma flotante)

Nombre
Rango
Espacio en memoria
float
Exponente Máximo = 10^37
Exponente Mínimo = 10^-37
4 bytes
double
Exponente Máximo = 10^308
Exponente Mínimo = 10^-308
8 bytes

Caracteres 

Nombre
Rango
Espacio en memoria
char
Máximo = 255
Mínimo = 0
1 byte


Funciones de entrada y salida que se utilizan en C.

ACTIVIDADES 5: 

Elabore una tabla de datos con la siguientes funciones: printf (), scanf (), getchar(), putchar(), fflush(), y con su respectivo uso dentro de la programación en C. Revice y estudie la presentación de la página 11 a la 17.


funciones
Programación en c
Printf
Permiten escribir una cadena de caracteres en salida estándar (stdout).
Scanf
Lee los datos de entrada en el stdin (flujo de entrada estándar)
Getchar
Las cuales obtienen el valor de un carácter de la entrada estándar
Putchar
Muestran el carácter a la salida estándar
fflush


Programación en C:

ACTIVIDADES 6: 

Siga las instrucciones dadas en clase e instale Dev-C++, o apóyese del siguiente enlace.
 ya esta hecho

ACTIVIDADES 7:

Desarrolle un programa en lenguaje C que visualice en pantalla sus datos personales.
ya esta hecho

Caracteres de control en función del tipo:

ACTIVIDADES 8:

Explique para qué sirven las secuencias de escape en C y elabore una tabla de datos con los mismos.

Secuencia
Descripción
\n
Nueva línea: Coloca el cursor en el principio de la siguiente línea
\t
Tabulador horizontal: Mueve el cursor al siguiente tabulador.
\v
Tabulador Vertical : Mueve el cursor al siguiente tabulador
\r
Retorno de carro: Coloca el cursor hacia el principio de la línea actual
\b
Retroceso: Backspace o retroceso del cursor
\\
Diagonal invertida: Imprime la diagonal invertida, una sola diagonal seria interpretada como un carácter de escape
\”
Comillas: Imprime la doble comilla. Sin la diagonal invertida, se interpretaría como un inicio o un fin de una cadena
\a
Alerta: Suena la beep del sistema.

Explique para qué sirven los modificadores de formato en C y elabore una tabla de datos con los mismos.

% C
Carácter
%d
Numero entero (int)
%D
Numero entero long (o también %ld)
%i
Numero entero (int)
%f
Punto flotante (float)
%e
Notación científica con e minúscula
%E
Notación científica con E mayúscula
%g
Utiliza % f o % e según sea más corto
%G
Utiliza %f o %E según sea más corto
%o
Numero octal sin signo
%s
Cadena de texto
%u
Entero sin signo
%U
Entero sin signo long (o también %lu)
%x
Hexadecimal sin signo con minúsculas
%X
Hexadecimal sin signo con mayúsculas
%p
Puntero dirección de memoria
%n
Numero de caracteres
%o
Formato entero octal
%O
Formato entero octal long (o también %lo)
%lf
Formato double
%LF
Formato long double


ACTIVIDADES 9:

·         Desarrolle un programa en lenguaje C que permita ingresar a través de pantalla los datos personales y luego los visualice en pantalla.
·         Suba el código  fuente debidamente documentado al blog personal.

// comentario programa que me permite ingresar datos mediante el teclado
#include<stdio.h>
main(){
       char nom[15],ape[15],dire[15],telf[15];
       printf("Ingresa tu nombre:");
       scanf("%s",&nom);
       printf("Ingresa tu apellido:");
       scanf("%s",&ape);
       printf("Ingresa tu direccion:");
       scanf("%s",&dire);
       printf("Ingresa tu telefono:");
       scanf("%s",&telf);
printf("TU NOMBRE ES: %s\n",&nom);
printf("TU APELLIDO ES:%s\n",&ape);
printf("TU DIRECCION ES:%s\n",&dire);
printf("TU TELEFONO ES:%s\n",&telf);
system("pause");
return 0;
}

ACTIVIDADES 10:
·         Desarrolle un programa en lenguaje C que permita sumar tres números ingresados por el usuario.
·         Suba el código  fuente debidamente documentado al blog personal.

//Este programa me permite realizar el ingreso y suma de tres numeros
#include<stdio.h>
main(){
       int num1,num2,num3,sum;
       printf("INGRESA UN NUMERO:");
       scanf("%i",&num1);
       printf("INGRESA OTRO NUMERO:");
       scanf("%i",&num2);
       printf("INGRESA OTRO NUMERO:");
       scanf("%i",&num3);
       sum=num1+num2+num3;
       printf("la suma es:%i\n",sum);
       system("pause");
       return 0;
       }


ACTIVIDADES 11:

LA COMPILACIÓN

Escriba una definición de compilación. 

Consiste en que el copilador traducirá el código fuente a código máquina, también llamado código objeto,siempre y cuando, el propio compilador no detecte ningún error en dicho código fuente.

Escriba las características de un compilador de Lenguaje C.

El lenguaje C es un lenguaje muy potente y eficiente de nivel medio: combina elementos de lenguajes de alto nivel con la funcionalidad del lenguaje ensamblador. Es adecuado para la programación de sistemas.
  Es un lenguaje de propósito general (puede utilizarse para desarrollar sistemas operativos, gestores de bases de datos, etc).
  El código de C es muy portable: se puede adaptar el software escrito para un tipo de computadora a otra computadora sin hacer muchos cambios.
El lenguaje C es un lenguaje estructurado: permite seccionar y esconder (mediante subrutinas y variables locales) del resto del programa toda la información e instrucciones necesarias para realizar una determinada tarea.
El lenguaje C sólo tiene 32 palabras clave, (BASIC por ejemplo tiene 159).
Suele incluir potentes librerías de funciones que aumentan su potencia.
El lenguaje C es compilado, no interpretado. Un intérprete lee el código fuente de un programa línea a línea y las traduce online para que la CPU las pueda interpretar, pero no genera ningún programa objeto. Un compilador lee el programa entero, lo traduce y genera un código objeto directamente ejecutable y entendible por el microprocesador.

¿Qué se debe considerar durante el desarrollo de un programa? (Programación)

Programación: Elaboración de un programa de manera que éste sea:
 − Correcto: Un programa será correcto si hace lo que debe hacer, de modo que se deben especificar de manera muy clara cuáles son los datos sobre los que se trabajarán y lo que se debe hacer con ellos. Todo debe ser documentado y probado antes de desarrollarlo.
 − Eficiente: Debe consumir la menor cantidad de recursos (tiempo y/o memoria) posible.
 − Claro: Es muy importante la claridad y legibilidad de todo programa, ya que facilitará al máximo la tarea de mantenimiento posterior del software.
− Modular: Los programas suelen subdividirse en subprogramas (módulos), para reducir la complejidad de aquella parte que se está implementando y facilitar la reutilización de código.

El proceso de ejecución de un programa escrito en un lenguaje de programación y mediante un compilador se ejecutan varios pasos: Descríbanos.
El proceso de ejecución de un programa escrito en un lenguaje de programación y mediante un compilador tiene los siguientes pasos:
1. Escritura del programa fuente con un editor (programa que permite a una computadora actuar de modo similar a una máquina de escribir electrónica) y guardarlo en un dispositivo de almacenamiento (por ejemplo, un disco).
2. Introducir el programa fuente en memoria.
3. Compilar el programa con el compilador.
4. Verificar y corregir errores de compilación (listado de errores).
5. Obtención del programa objeto.
6. El enlazador (linker) obtiene el programa ejecutable.
7. Se ejecuta el programa y, si no existen errores, se tendrá la salida del programa.

Elabore una tabla de datos con las librerías que se manejan en Lenguaje C. (acceda al enlace, en la parte de la página "RESUMEN DE LIBRERÍAS"), considere en el encabezado  de la tabla librería y función. 


Librerías que se manejan en lenguaje c
concepto
assert.h
Contiene una macro para el diagnóstico dentro de los programas.
Ø  ctype.h
Contiene varias funciones para comprobación de tipos y transformación de caracteres.

Ø  errno.h
Contiene varias macros usadas para informar de errores.

Ø  limits.h
Contienen varias macros que definen constantes para el tamaño de tipo enteros.

Ø  float.h
Contienen varias macros que definen constantes para el tamaño de tipo flotante.

Ø  locale.h
Contienen varias macros, funciones y tipos para unidades locales, como unidad monetaria, tiempo, dígitos, etc.
Ø  math.h
Contiene una macro y varias funciones matemáticas.

Ø  setjmp.h
Contienen declaraciones que proporcionan una forma de evitar la secuencia normal de llamada y regreso de funciones.
Ø  signal.h
Contiene un tipo, dos funciones y varias macros para manejar condiciones excepcionales que aparecen durante la ejecución, tal como una señal de interrupción de una fuente externa o un error en la ejecución.

Ø  stdarg.h
Contiene un tipo y tres macros que proporcionan recursos para recorrer una lista de argumentos de función de tamaño y tipo desconocido.

Ø  stddef.h
Contiene varios tipos y macros que también están definidas en otras librerías, como size_t.
Ø  stdio.h
Contiene tipos, macros y funciones para la realización de tareas de E/S.

Ø  stdlib.h
Contiene tipos, macros y funciones para la conversión numérica, generación de números aleatorios, búsquedas y ordenación, gestión de memoria y tareas similares.

Ø  string.h
Contiene tipos, macros y funciones para la manipulación de cadenas de caracteres.

Ø  time.h
Contiene tipos, macros y funciones para la la manipulación de información sobre fechas y horas.



BLOQUE 4

ESTRUCTURAS DE CONTROL

OBJETIVO: Utilizar  estructuras de control que se maneja en C, en el desarrollo de programas.


ACTIVIDAD 1: ESTRUCTURAS DE SELECCIÓN

Investigue para qué se utilizan las estructuras de selección y cuáles son. Escriba un ejemplo con cada estructura

Estructuras de selección

• Las estructuras de selección (o bifurcación) se utilizan para elegir entre diversos cursos de acción.
 En C hay tres tipos de estructuras de selección: if (selección simple), if…else (selección doble) y switch (selección múltiple).

Selección (ejemplos)

if (calificacion>=60 )
{
printf ( "Alumno Aprobado ");
}
Else
{
printf ( "Alumno Reprobado ");
}
if (calificacion>= 9 0 )
{
printf ("Alumno de muy buena calificación");
}
else if (calificacion>= 7 0&& calificación
{
printf ( "Alumno regular");
}
else if (calificacion>=60&& calificación
{
printf ( "Alumno");
}
Else
{
printf ( "No es alumno");

}

ACTIVIDADES 2: OPERADORES QUE SE MANEJAN EN C

Elabore una tabla con los operadores aritméticos que se utilizan en C.


operador
Nombre
Ejemplo
+
Suma
a+b
-
Resta
a-b
*
Multiplicacion
a*b
/
Division
a/b
%
Residuo entero de la división
a%b
++
Incremento en 1
a++
--
Decremento en 1
a--


Elabore una tabla con los operadores relacionales  que se utilizan en C.

operador
nombre
Ejemplo
> 
Mayor que
a>b
< 
Menor que
a<b
>=
Mayor o igual que
a>=b
<=
Menor o igual que
a<=b
==
Igual(equivalente)
a==b
!=
Diferente(no es igual)
a!=b


Elabore una tabla con los operadores lógicos que se utilizan en C.

Operador
Nombre
Ejemplo
Devuelve cierto si :
&&
Y(and)
(exp1)&&
(exp2)
Ambas son verdaderas
ll
O (or)
(Exp1)ll
(exp2)
Una o ambas es verdadero
!
No (not)
!(exp1)
Cambia el valor de la expresion


ACTIVIDADES 3: CÓDIGOS ASCII


Elabore una tabla con cada uno de los caracteres  y su respectivo código ascci.

Caracteres ASCII imprimibles
32 espacio
64 @
96 `
33 !
65 A
97  a
34
66 B
98  b
35 #
67 C
999  c
36 $
68 D
100  d
37 %
69 E
101  e
38 &
70 F
102  f
39 ‘
71 G
103 g
40 (
72  H
104 h
41 )
73  I
105 i
42 *
74  J
106 j
43 +
75  K
107 k
44 ,
76  L
108 l
45 -
77  M
109 m
46 .
78  N
110 n
47 /
79  O
111 º
48 0
80  P
112 p
49 1
81  Q
113 q
50 2
82  R
114 r
51 3
83  S
115 s
52 4
84  T
116 t
53 5
85  U
117 u
54 6
86 V
118 v
55 7
87  W
119 w
56 8
88 X
120 x
57 9
89  Y
121 y
58 :
90  Z
122 z
59 ;
91  [
123 {
60 <
92  \
124 |
61 =
93  ]
125 }
62 >
94  ^   
126 ~
63 ¿
95 _

No hay comentarios:

Publicar un comentario