viernes, 29 de septiembre de 2017

ALGORITMOS

PROBLEMA?


  1. La palabra PROBLEMA tiene muchas acepciones, a continuación algunas definiciones:
  • PROBLEMA es una necesidad inicial que tiene un objetivo o solución a alcanzar, mediante una serie de operaciones, actividades o métodos bien definidos.

  • PROBLEMA es un planteamiento de una situación cuya respuesta desconocida o solución debe obtenerse a través de métodos lógicos o científicos.

  • PROBLEMA suele ser un asunto del que se espera una rápida y efectiva solución.


LÓGICA COMPUTACIONAL


La lógica es la capacidad de pensar en soluciones alternativas. Se remonta a la época de Aristóteles en la que desarrolló reglas para establecer un razonamiento encadenado.

La lógica es una rama del conocimiento que nos permite determinar que algo está aprobado por la razón como bien deducido o bien pensado. En pocas palabras en la forma más obvia y más fácil de hacer algo.

La lógica es muy importante, ya que determina la manera en que se puede resolver un problema. Es un nivel de abstracción sin el cual no es posible estructurar los pasos que generen lo que esperamos obtener.

La computadora trabaja con una lógica especial, exacta y matemática. Aunque tal vez no te hayas dado cuenta, todas las acciones que realizas en la computadora están haciendo uso de esta lógica en la forma de procedimientos o secuencias de pasos que hay que realizar para lograr lo que se quiere.















ALGORITMOS

Resultado de imagen para algoritmo

Un Algoritmo es una serie ordenada de instrucciones, pasos o procesos que llevan a la solución de un determinado problema. Los hay tan sencillos y cotidianos como seguir la receta del médico, abrir una puerta, lavarse las manos, etc; hasta los que conducen a la solución de problemas muy complejos.

Los Algoritmos permiten describir claramente una serie de instrucciones que debe realizar el computador para lograr un resultado previsible. Vale la pena recordar que un procedimiento de computador consiste de una serie de instrucciones muy precisas y escritas en un lenguaje de programación que el computador entienda.

En la naturaleza hay muchos procesos que puedes considerar como Algoritmos ya que tienen procedimientos y reglas. Incluso, muchas veces no somos conscientes de ellos.


CARACTERÍSTICAS DE UN ALGORITMO

Todo algoritmo debe tener las siguientes características:


PARTES DE UN ALGORITMO

Todo Algoritmo debe tener las siguientes partes:

· Entrada, son los datos necesarios que el algoritmo necesita para ser ejecutado.

· Proceso, es la secuencia de pasos para ejecutar el algoritmo, es decir son los cálculos matemáticos o lógicos para que a partir de un dato de entrada se pueda llegar a un resultado.

· Salida, son los datos obtenidos después de la ejecución del algoritmo, es decir la información obtenida.

Resultado de imagen para partes de un algoritmo
CLASIFICACIÓN DE ALGORITMOS

Los algoritmos se pueden clasificar en cuatro tipos:
  • Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x.
  • Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido.
  • Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro.
  • Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos numéricos. Ejemplo: Solución de una ecuación de segundo grado.

Ejemplo1: 

Lavarnos los dientes es un procedimiento que realizamos varias veces al día. 

Veamos la forma de expresar este procedimiento como un Algoritmo:

1. Tomar la crema dental
2. Destapar la crema dental
3. Tomar el cepillo de dientes
4. Aplicar crema dental al cepillo
5. Tapar la crema dental
6. Abrir la llave del lavamanos
7. Remojar el cepillo con la crema dental
8. Cerrar la llave del lavamanos
9. Frotar los dientes con el cepillo
10. Abrir la llave del lavamanos
11. Enjuagarse la boca
12. Enjuagar el cepillo
13. Cerrar la llave del lavamanos
14. Secarse la cara y las manos con una toalla

Ejemplo2:

Los pasos para cambiar una bombilla (foco).

Veamos que algo tan común se pueden expresar en forma de Algoritmo:

  1. Ubicar una escalera o un banco debajo de la bombilla a cambiar
  2. Tomar una bombilla nueva
  3. Subir por la escalera o al banco
  4. Sujetar y girar la bombilla a cambiar hacia la izquierda hasta retirarla de la boquilla.
  5. Enroscar la bombilla nueva hacia la derecha en la boquilla hasta apretarla.
  6. Bajar de la escalera o del banco

LOS DATOS Y OPERACIONES BÁSICAS

1. IDENTIFICADOR. 

Un identificador es una serie de caracteres formados por letras, dígitos y el carácter subrayado ( _ ) que no inicie con un dígito, así mismo es el nombre que damos a todo lo que manipulamos dentro de un programa (variables, constantes, funciones, etc). 

Por ejemplo: a, numero1, resultado_suma, velocidad, etc.

2. TIPOS DE DATOS. 

Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como la letra b, un valor numérico entero tal como 35. 

El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.

3. VARIABLES. 

Una variable es un identificador que puede tomar diferentes valores dependiendo del tipo que esta se declare.

Una variable es un identificador que puede cambiar de valor durante la ejecución de un programa.

Una variable es una posición de memoria donde se puede almacenar una valor para uso de un programa.
Resultado de imagen para que es una variable
Resultado de imagen para que es una variable

4. CONSTANTES. 

Constantes son los valores que no pueden ser modificados. Pueden ser de cualquier tipo de datos.
Resultado de imagen para que es una variable en matematicas

Resultado de imagen para ejemplos de constantes matematicas


5. OPERADORES.

Un operador es un símbolo que indica al compilador que realice manipulaciones lógicas o matemáticas específicas.

También, conviene utilizar paréntesis para hacer más claro el orden en que se producen las evaluaciones, tanto para la persona que lo elabora o para los que después tengan que seguir el programa.

Operadores Aritméticos y Asignación




Operadores Relacionales o Comparación

Resultado de imagen para tipos de operadores logicos

Resultado de imagen para expresiones logicas

Operadores Lógicos

Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión relacional.

Resultado de imagen para operadores logicos

6. EXPRESIONES.

Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas.

Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en:
  • Aritméticas
  • Relacionales
  • Lógicas

7. PALABRAS RESERVADAS.

Son palabras que tienen un significado especial para el lenguaje y no se pueden utilizar como identificadores.

miércoles, 27 de septiembre de 2017

INTRODUCCION A LA PROGRAMACIÓN

QUÉ ES UNA COMPUTADORA?

"Una computadora es un dispositivo electrónico utilizado para el procesamiento de datos. La misma posee dispositivos de entrada y salida (E/S) que permiten a los usuarios interactuar con esta información."

Este procesamiento de datos es mucho mas amplio que apenas calcular números o imprimir datos. Es posible escribir notas e informes, proyectar, realizar complejos cálculos de ingeniería, utilizarla como medio para la creación de obras fotográficas, musicales y de vídeo y por supuesto interactuar con otras personas.


Para continuar entendiendo que es una computadora, hay que saber reconocer dos partes básicas, estas son: el hardware y el software.

Software 

El software es el término que se le da a los programas que funcionan dentro de una computadora. Podría decirse que el software es el que le da vida a una computadora, pero este no funcionaria de no ser por el hardware, es decir que se necesitan mutuamente.

El programa Windows es uno de los mas claros exponentes de software. Windows es un sistema operativo, es decir, el software "alma" de la computadora, el programa en el cual se basan los demás programas para funcionar. 

Hardware

El hardware es el término utilizado para referirse a los componentes físicos de una computadora. Son componentes electrónicos, que se pueden tocar. Es el nivel más básico en el cual la computadora funciona. Toda la información que se procesa en una computadora, pasa si o si por el procesador, un chip responsable de esa tarea, de procesar información. Es el cerebro de una computadora. La memoria es hardware, la grabadora de CD es hardware, el monitor es hardware. 

Resultado de imagen para software basico


¿QUÉ ES UN PROGRAMA DE COMPUTADORA?

Básicamente, un programa de computadora, aplicación o software, como también son llamados, son un conjunto de instrucciones en forma secuencial, llamado código, que a través de su interpretación por el sistema operativo y hardware, le permiten desarrollar una acción específica a una computadora.


Antes de poder llegar a nuestra mesa, un programa de computadora debe ser primero escrito en un lenguaje de programación y luego compilado para lograr un ejecutable que nosotros podamos correr en nuestra computadora.

Cómo se dividen los programas de computadoras?

Software de Sistema: Este grupo comprende el sistema operativo, controladores de dispositivos, utilitarios de sistema y toda aquella herramienta que sirva para el control específico de las características de la computadora.

Resultado de imagen para sistemas operativos

Los Sistemas Operativos son indispensables para que una computadora reconozca los periféricos y hardware interno de la misma y finalmente nos ofrezca una interfaz de usuario en la cual poder usar los demás programas.


Resultado de imagen para interfaz de windows 10

Software de Aplicación: Se le llama software de aplicación a todos aquellos programas utilizados por los usuarios para la concreción de una tarea, y en este grupo podemos encontrar software del tipo ofimático, de diseño gráfico, de contabilidad y de electrónica, por solo citar una pequeña fracción de todas las categorías de aplicaciones que podemos encontrar en el mercado.

Resultado de imagen para software de aplicacion


QUÉ ES PROGRAMACIÓN INFORMÁTICA?
Resultado de imagen para que es programacion informatica

La programación consiste en desarrollar programas para procesar información, se utiliza para designar la creación de programas a pequeña escala, el desarrollo de sistemas complejos se denomina ingeniería de software. También es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas informáticos. 

    • Resultado de imagen para que es programacion computacional

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. Al proceso por el cual se escribe, se pruebase depurase compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación. 



Los lenguajes de programación se pueden clasificar atendiendo a varios criterios:


Clasificación de los lenguajes de programación según su Nivel de Abstracción: 
1. Lenguajes de Bajo Nivel: Son lenguajes de código máquina, son un conjunto de instrucciones en código binario que el ordenador es capaz de ejecutar directamente, específicos de cada tipo de procesador o CPU.Ejemplos: Lenguaje de máquina y lenguajes ensambladores.
2.  Lenguajes de Medio Nivel: Permiten un mayor grado de abstracción pero al mismo tiempo mantienen algunas cualidades de los lenguajes de bajo nivel. Ejemplo: C puede realizar operaciones lógicas y de desplazamiento con bits, tratar todos los tipos de datos como lo que son en realidad a bajo nivel (números), etc.
3. Lenguajes de Alto Nivel: Son más parecidos al lenguaje natural, cercanos al problema, nos olvidamos de la estructura interna del ordenador. Ejemplos: C, Basic, Java, Ruby.

Clasificación de los lenguajes de programación según su Propósito:
1. Lenguajes de Propósito General: Permiten la implementación de prácticamente cualquier algoritmo, el nivel de abstracción es más uniforme, proporciona razonable rendimiento. Ejemplos: Pascal, C, C++, Java, Delphi, Lisp, Scheme.
2. Lenguajes de Propósito Específico: Tienen por lo general un conjunto muy restringido de características y un alto nivel de abstracción para cumplir tareas específicas como el procesamiento de textos, gráficos, audio, video e ingeniería. Ejemplos: Snobol, SQL, Matlab.

Clasificación de los lenguajes de programación según su método de Ejecución:
1.  Lenguajes Compilados: Traducen el código fuente del programa a código máquina o código objeto. Ejemplos: C, Pascal.
2. Lenguajes Interpretados: Ejecutan línea a línea las instrucciones de un programa. Requieren del código fuente para ejecutar el programa.Ejemplos: Perl, Lisp.

Clasificación de los lenguajes de programación según su Paradigma de Programación.
1. Lenguajes Imperativos: Son abstracciones de alguna secuencia de instrucciones que especifican con detalle el orden de ejecución del programa. Ejemplos: Fortran, Algol, Ada, Pascal, C, C++.
2. Lenguajes Declarativos: Expresan lo que el programa debe lograr sin prescribir cómo hacerlo, en términos de secuencias de acciones que deben tomarse. Ejemplos: SQL, HTML, RPG.
3. Lenguajes Funcionales: Constan de un conjunto de funciones pre-definidas. Ejemplos: Lisp, Scheme, Common Lisp, ML, CAML.
4. Lenguajes de Lógicos: Expresan tareas utilizando la lógica formal matemática. Ejemplo: Prolog.
5.  Lenguajes Orientados a Objetos: Crean un sistema de clases y objetos siguiendo el esquema del mundo real para definir los objetos, acciones y forma de comunican entre objetos. Ejemplos: C++, Java.

Bloque Control

               nnnn                                                      nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...