Visitas del mes pasado a la página

jueves, 19 de junio de 2014

Introducción

Introducción



¿ Que es la programación informática ? 


La programación informática, a menudo acortada como programación, es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales.

El código fuente es escrito en un lenguaje de programación.

El propósito de la programación es crear programas que exhiban un comportamiento deseado.

El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal.


Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.

Este video no es de mi autoria




1. SOLUCIONA PROBLEMAS

1.1. Resuelve problemas cotidianos mediante el uso de algoritmos.


En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. 
Algunos ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos números.


1.2. Que es un algoritmo.


En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución.

1.3. Clasificación de algoritmos.

  • Algoritmos voraces (greedy): seleccionan los elementos más prometedores del conjunto de candidatos hasta encontrar una solución. En la mayoría de los casos la solución no es óptima.
  • Algoritmos paralelos: permiten la división de un problema en subproblemas de forma que se puedan ejecutar de forma simultánea en varios procesadores.
  • Algoritmos probabilísticos: algunos de los pasos de este tipo de algoritmos están en función de valores pseudoaleatorios.
  • Algoritmos determinísticos: el comportamiento del algoritmo es lineal: cada paso del algoritmo tiene únicamente un paso sucesor y otro antecesor.
  • Algoritmos no determinísticos: el comportamiento del algoritmo tiene forma de árbol y a cada paso del algoritmo puede bifurcarse a cualquier número de pasos inmediatamente posteriores, además todas las ramas se ejecutan simultáneamente.
  • Divide y vencerás: dividen el problema en subconjuntos disjuntos obteniendo una solución de cada uno de ellos para después unirlas, logrando así la solución al problema completo.
  • Metaheurísticas: encuentran soluciones aproximadas (no óptimas) a problemas basándose en un conocimiento anterior (a veces llamado experiencia) de los mismos.
  • Programación dinámica: intenta resolver problemas disminuyendo su coste computacional aumentando el coste espacial.
  • Ramificación y acotación: se basa en la construcción de las soluciones al problema mediante un árbol implícito que se recorre de forma controlada encontrando las mejores soluciones.
  • Vuelta atrás (backtracking): se construye el espacio de soluciones del problema en un árbol que se examina completamente, almacenando las soluciones menos costosas.

1.4. Medios de expresión de un algoritmo.


Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros.

Las descripciones en lenguaje natural tienden a ser ambiguas y extensas.

El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural.

Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.




Ejmplos unidad 1

1.5. Ejemplos


A) Escriba un algoritmo para cambiar un foco (bombillo) fundido.


  1. Verificar que el interruptor se encuentre en la posición de apagado
  2. Alcanzar el foco.
  3. Sujetar el socket (cuenca donde esta enroscado el foco) y sujetar el foco.
  4. Mientras sujeta el socket girar el foco suavemente hasta desenroscar.
  5. Mientras sujeta el socket colocar el foco
  6. Enroscar el foco mientras sujeta el socket
  7. Cambiar la posición del interruptor a "encendido" y verificar que el foco se encienda.


B) Escriba un algoritmo para preparar una salchicha caliente (hot dog)


  1. encender el fuego en la estufa
  2. colocar el sarten
  3. verter aceite en el sarten
  4. colocar la salchicha y freir al gusto
  5. apagar el fuego
  6. colocar otro sarten
  7. colocar el pan y calentarlo al gusto
  8. servir la salchicha dentro del pan
  9. preparar al gusto


Ejercicios unidad 1

Ejercicios



  1. Realizar un algoritmo que indique como cambiar una llanta desinflada de un auto
  2. Realizar un algoritmo que indique como preparar un emparedado
  3. Realizar un algoritmo para comprar boletos en taquilla del cine


2. DESARROLLA DIAGRAMAS DE FLUJO DE ALGORITMOS

2.1. Utilizando diagramas lineales y/o modular

Un diagrama de flujo es una representación visual de un procedimiento potencialmente complejo. El procedimiento se divide en los pasos generales que utilizan los círculos, rombos, rectángulos y flechas direccionales para dar al lector una idea de lo que sucede a un producto o a los datos. Un diagrama de flujo modular tiene un procedimiento general y lo divide en secciones o módulos separados. Estos módulos ilustran los procesos que pueden funcionar solos, pero cuando se ponen juntos con los otros módulos, constituyen todo el procedimiento. Los diagramas de flujo pueden ser escritos a mano, con un procesador de textos o con el software de diagrama de flujo. 

algoritmo para calcular el área de un rectángulo

Programación lineal


Programación modular

Ejemplos unidad 2

2.2 Ejemplos 


A) diseñe un algoritmo para calcular el área de un rectángulo.


B) diseñe un algoritmo que permita realizar una suma o una  resta de dos números enteros.

Ejercicios unidad 2

2.3 Ejercicios

  1. Realizar un diagrama de flujo que indique como cambiar una llanta desinflada de un auto.
  2. Realizar un diagrama de flujo que indique como preparar un emparedado.
  3. Realizar un diagrama de flujo para comprar boletos en taquilla del cine.
  4. Realizar un diagrama de flujo que permita leer 2 números y sumarlos.
  5. Realizar un diagrama de flujo que lea un caracter desde el teclado.

3. ELABORA PSEUDOCÓDIGO DE LOS DIAGRAMAS DE FLUJO

3.1. Utilizando conceptos lingüísticos y/o matemáticos en la solución de los problemas.


El pseudocódigo es un medio informal de expresar la lógica de un programa. En realidad no es un lenguaje de programación, pero podemos usarlo como un tipo de bosquejo para guiarnos a medida que escribimos nuestro código.


No existe una sintaxis estándar para el pseudocódigo, aunque los ocho IDE's que manejan pseudocódigo tengan su sintaxis propia. Aunque sea parecido, el pseudocódigo no debe confundirse con los programas esqueleto que incluyen código ficticio, que pueden ser compilados sin errores. Los diagramas de flujo y UML pueden ser considerados como una alternativa gráfica al pseudocódigo, aunque sean más amplios en papel.


3.2. Ejemplo de pseudocódigo


1.- Inicio
2.- Leer base(b)y altura (h)
3.- Área almacena (base que multiplica a altura)
4.- Imprime valor de área (A)
5.- Fin

Ejemplos unidad 3

3.3. Ejemplos 

A) Escriba pseudocódigo para el siguiente diagrama de flujo

Pseudocódigo

Inicio
entero x.y,r
leer x,y
leer operacion
llamar operacion
fin

funcion suma
inicio suma
r=x+y
imprime r
fin suma

funcion resta
inicio resta
r=x-y
imprimir r
fin resta



Ejercicios unidad 3

3.4 Ejercicios unidad 3

Realizar el pseudocódigo para los siguientes ejercicios
  1. Realizar el pseudocódigo que indique como cambiar una llanta desinflada de un auto.
  2. Realizar el pseudocódigo que indique como preparar un emparedado.
  3. Realizar el pseudocódigo para comprar boletos en taquilla del cine.
  4. Realizar el pseudocódigo que permita leer 2 números y sumarlos.
  5. Realizar el pseudocódigo que lea un caracter desde el teclado.