¿QUÉ ES ALGORITMO?



La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre
de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y
ecuaciones en el siglo IX.


Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir,
para dar solución a un problema específico.



¿TIPOS DE ALGORITMOS…
                    ?



Existen dos tipos y son llamados así por su naturaleza:

        Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
        Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los
        pasos del proceso.



LAS CARACTERÍSTICAS DE LOS ALGORITMOS

    1. Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

    2. Un algoritmo debe estar definido. Si se sigue el algoritmo dos veces, se debe
    obtener el mismo resultado cada vez.

    3. Un algoritmo debe ser finito. Si se sigue el algoritmo. Se debe terminar en algún
    momento, o sea debe tener un número finito de pasos.


    Lenguajes Algorítmicos


    Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de
    manera explícita un proceso.
Tipos de Lenguajes Algorítmicos

       Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo
       (diagrama de flujo).




       No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un
       algoritmo (pseudocodigo).

       INICIO
                Edad: Entero
                ESCRIBA “(“cual es tu edad?”);”
                Lea Edad
                SI Edad >=18 entonces

                       ESCRIBA “(“Eres mayor de Edad”“);

                FINSI
                ESCRIBA “fin del algoritmo”

       FIN
Metodología para la solución de problemas por medio de computadora

       DEFINICIÓN DEL PROBLEMA

       Esta fase está dada por el enunciado del problema, el cual requiere una definición clara
       y precisa. Es importante que se conozca lo que se desea que realice la computadora;
       mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente
       etapa.

       ANÁLISIS DEL PROBLEMA


       Una vez que se ha comprendido lo que se desea de la computadora, es necesario
       definir:

           o    Los datos de entrada.
           o    Cual es la información que se desea producir (salida)
           o    Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación muy práctica es el de colocarse en el lugar de la computadora y
        analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los
        resultados esperados.

        DISEÑO DEL ALGORITMO

        Las características de un buen algoritmo son:

            o   Debe tener un punto particular de inicio.
            o   Debe ser definido, no debe permitir dobles interpretaciones.
            o   Debe ser general, es decir, soportar la mayoría de las variantes que se puedan
                presentar en la definición del problema.
            o   Debe ser finito en tamaño y tiempo de ejecución.
            o   Diseño del Algoritmo
            o   Prueba de escritorio o Depuración

Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si
está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la
secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados
indicará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o hacerle
ajustes.




DATO

El dato es una representación simbólica (numérica, alfabética, algorítmica, entre otros.), un
atributo o característica de una entidad. Los datos describen hechos empíricos, sucesos y
entidades.

Los datos aisladamente pueden no contener información humanamente relevante. Sólo cuando
un conjunto de datos se examina conjuntamente a la luz de un enfoque, hipótesis o teoría se
puede apreciar la información contenida en dichos datos. Los datos pueden consistir en
números, estadísticas o proposiciones descriptivas. Los datos convenientemente agrupados,
estructurados e interpretados se consideran que son la base de la información humanamente
relevante que se pueden utilizar en la toma decisiones, la reducción de la incertidumbre o la
realización de cálculos. Es de empleo muy común en el ámbito informático y, en general,
prácticamente en cualquier disciplina científica.

En programación, un dato es la expresión general que describe las características de las
entidades sobre las cuales opera un algoritmo.




Un dato por sí mismo no constituye información, es el procesamiento de los datos lo que nos
proporciona información.
INFORMACION

En sentido general, es un conjunto organizado de datos procesados, que constituyen un mensaje
que cambia el estado de conocimiento del sujeto o sistema que recibe dicho mensaje.

Desde el punto de vista de la ciencia de la computación, la información es un conocimiento
explícito extraído por seres vivos o sistemas expertos como resultado de interacción con el
entorno o percepciones sensibles del mismo entorno. En principio la información, a diferencia de
los datos o las percepciones sensibles, tienen estructura útil que modificará las sucesivas
interacciones del ente que posee dicha información con su entorno.

Constantes

Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del
programa.
Ejemplo:
pi = 3.1416Constantes


Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del
programa.
Ejemplo:


pi = 3.1416



Variable

Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato
durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del
programa.
Para poder reconocer una variable en la memoria de la computadora, es necesario darle un
nombre con el cual podamos identificarla dentro de un algoritmo.


Ejemplo:
area = pi * radio ^ 2


Las variables son : el radio, el area y la constate es pi
Tipos De Datos

Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal
como ‘b’, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de
valores que puede tomar una variable.




Tipos de Datos Simples



Datos Numéricos:


Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y
los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes.


Datos lógicos:


Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado
de una comparación entre otros datos (numéricos o alfanuméricos).


Datos alfanuméricos (string):


Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de
forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar
números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es
posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre
comillas.



INSTRUCCIONES DE ENTRADA SALIDA Y ASIGNACION

ENTRADA Y SALIDA DE INFORMACION
Los cálculos que realizan las computadoras requieren para ser útiles la entrada de datos
necesarios para ejecutar las operaciones que posteriormente se convertirán en resultados, es
decir, salida.

Las operaciones de entrada permiten leer determinados valores y asignarlos a determinada
variables. Esta entrada se conoce como operación de lectura ( read). Los datos de entrada se
introducen al procesador mediante dispositivos de entrada. La salida puede aparecer en un
dispositivo de salida. La operación de salida se denomina escritura (write)

En la escritura de algoritmos las acciones de lectura y escritura se representan por los formatos
siguientes:

Leer (lista de variables de entrada)

Escribir (lista de variables de salida)


PROCESO DE ASIGNACION

               La operación de asignación es el modo de darle valores a una variable. La
operación de asignación se representa con el símbolo u operador        . La operación de
asignación se conocen como instrucciones o sentencia de asignación cuando se refiere a un
lenguaje de programación.

El formato general de una operación de asignación es:

        nombre de la variable ← expresión

La flecha (operador de asignación) se sustituye en otros lenguajes por = (BASIC, FORTRAN ) o
= Pascal). Sin embargo, es preferible el uso de la flecha en la redacción del algoritmo, pera evitar
ambigüedades dejando el uso del símbolo = exclusivamente para el operador de igualdad.

La operación de asignación:

         A    ←      5;

Significa que a la variable A se le ha asignado el valor 5.

Las operaciones de asignación se clasifican en:

    -        Asignación aritmética

    -        Asignación lógica

    -        Asignación de caractéres

EXPRESIONES
las expresiones son combinaciones de constantes, variables, símbolos de operaciones,
paréntesis y nombres de funciones especiales. Las mismas ideas son utilizadas en notación
matemática tradicional; por ejemplo:

a - ( b + 3 ) /c



Una expresión consta de operadores y operando. Según sea el tipo de objetos que manipulan,
se clasifican las expresiones en:

      -      Aritméticas

      -      Relaciónales

      -      Lógicas

      -      Carácter



OPERADORES ARITMETICOS

lasexpresiones aritméticas son análogas a las fórmulas matemáticas. Las variables y constantes
son numéricas (real o entera) y las operaciones son las aritméticas.

+ Suma

- Resta

*         Multiplicación

/         División

**        Exponenciación

div       División entera

mod       Módulo (resto)




Operadores DIV y MOD
El símbolo / se utiliza para la división real y el operador div – en algunos lenguajes, por ejemplo
BASIC.

        A div B

Sólo se pueden utilizar si A y B son expresiones enteras y obtienen la parte entera A/B. Por
consiguiente.

        19 div 6

toma el valor 3.



OPERADORES LOGICOS (BOOLEANOS)

un segundo tipo de expresiones es la expresión lógica o booleana, cuyo valor es siempre
verdadero o falso. Se denomina también expresiones booleanas.

Las expresiones lógicas se forman combinando constantes lpogicas, variables lógicas y otras
expresiones utilizando los operadores not, and, y or, y los operadores relacionales (de relación
o comparación ) =, <, >, <=, >=, <>.



OPERADORES RELACIONALES

Los operadores relacionales o de relación permiten realizar comparaciones de valores de tipo
numérico o carácter. Los operadores de relación sirven para expresar las condiciones en los
algoritmos.

       Los operadores de relación se recogen en la Tabla.



Operador                                         Significado
<                                                Mayor que
>                                                Menor que
=                                                Igual que
<=                                               Mayor o Igual a
=>                                               Menor o Igual a
<>                                               Distinto de
OPERADORES LOGICOS

Los operadores lógicos o boléanos básicos son not(no), and (y), y or (o). La tabla recoge el
funcionamiento de dichos operadores.

Operador lógico                 Expresión lógica                Significado
No (no)                         No p (not p)                    Negación de p
And (y)                         P y a (p and q)                 Intersección de p y q
Or (o)                          P o q (p or q)                  Unión de p y q




TALLER



Evaluar las siguientes expresiones numéricas

2*3+5 =?

5+2*3=?

1+4*4+6=?

8/2*3/6=?

(3+2)*(8+2)=?

5+(3*8)+1=?

3+4*(8+2)

(3+(8-2)-4)/6

5*(75/15)+4*(4-1)+2*(7+4)

(15/(8-3)+4*(6+2)*2

(8+3)*(40-(7*4))



Realizar un algoritmo que sirva para convertir pulgadas a centímetros.



Escribir un algoritmo que lea un numero e imprima su cuadrado y cubo.
Determinar por medio de un algoritmo el área y volumen de un cilindro cuyas diemnsiones radio
y altura se leen desde el teclado



Determinar la hipotenusa de un triangulo rectángulo conocidos los catetos.



Que se obtiene en las variables A,B y C, después de las instrucciones siguientes?

A       5
B       A+6
A       A+1
B       B-5

Encontrar el valor de la variable VALOR después de la ejecución de las siguientes operaciones:

    a) Valor         4.0 *5
    b) X         3.0
    Y        2.0
       VALOR             X el gorrito Y- Y

Algoritmo variables, constantes, tipos de datos y asignacion

  • 1.
    ¿QUÉ ES ALGORITMO? Lapalabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. ¿TIPOS DE ALGORITMOS… ? Existen dos tipos y son llamados así por su naturaleza: Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. LAS CARACTERÍSTICAS DE LOS ALGORITMOS 1. Un algoritmo debe ser preciso e indicar el orden de realización de cada paso. 2. Un algoritmo debe estar definido. Si se sigue el algoritmo dos veces, se debe obtener el mismo resultado cada vez. 3. Un algoritmo debe ser finito. Si se sigue el algoritmo. Se debe terminar en algún momento, o sea debe tener un número finito de pasos. Lenguajes Algorítmicos Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
  • 2.
    Tipos de LenguajesAlgorítmicos Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo). INICIO Edad: Entero ESCRIBA “(“cual es tu edad?”);” Lea Edad SI Edad >=18 entonces ESCRIBA “(“Eres mayor de Edad”“); FINSI ESCRIBA “fin del algoritmo” FIN Metodología para la solución de problemas por medio de computadora DEFINICIÓN DEL PROBLEMA Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa. ANÁLISIS DEL PROBLEMA Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: o Los datos de entrada. o Cual es la información que se desea producir (salida) o Los métodos y fórmulas que se necesitan para procesar los datos.
  • 3.
    Una recomendación muypráctica es el de colocarse en el lugar de la computadora y analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los resultados esperados. DISEÑO DEL ALGORITMO Las características de un buen algoritmo son: o Debe tener un punto particular de inicio. o Debe ser definido, no debe permitir dobles interpretaciones. o Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema. o Debe ser finito en tamaño y tiempo de ejecución. o Diseño del Algoritmo o Prueba de escritorio o Depuración Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados indicará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes. DATO El dato es una representación simbólica (numérica, alfabética, algorítmica, entre otros.), un atributo o característica de una entidad. Los datos describen hechos empíricos, sucesos y entidades. Los datos aisladamente pueden no contener información humanamente relevante. Sólo cuando un conjunto de datos se examina conjuntamente a la luz de un enfoque, hipótesis o teoría se puede apreciar la información contenida en dichos datos. Los datos pueden consistir en números, estadísticas o proposiciones descriptivas. Los datos convenientemente agrupados, estructurados e interpretados se consideran que son la base de la información humanamente relevante que se pueden utilizar en la toma decisiones, la reducción de la incertidumbre o la realización de cálculos. Es de empleo muy común en el ámbito informático y, en general, prácticamente en cualquier disciplina científica. En programación, un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo. Un dato por sí mismo no constituye información, es el procesamiento de los datos lo que nos proporciona información.
  • 4.
    INFORMACION En sentido general,es un conjunto organizado de datos procesados, que constituyen un mensaje que cambia el estado de conocimiento del sujeto o sistema que recibe dicho mensaje. Desde el punto de vista de la ciencia de la computación, la información es un conocimiento explícito extraído por seres vivos o sistemas expertos como resultado de interacción con el entorno o percepciones sensibles del mismo entorno. En principio la información, a diferencia de los datos o las percepciones sensibles, tienen estructura útil que modificará las sucesivas interacciones del ente que posee dicha información con su entorno. Constantes Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Ejemplo: pi = 3.1416Constantes Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Ejemplo: pi = 3.1416 Variable Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo. Ejemplo: area = pi * radio ^ 2 Las variables son : el radio, el area y la constate es pi
  • 5.
    Tipos De Datos Todoslos datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como ‘b’, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable. Tipos de Datos Simples Datos Numéricos: Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes. Datos lógicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos). Datos alfanuméricos (string): Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas. INSTRUCCIONES DE ENTRADA SALIDA Y ASIGNACION ENTRADA Y SALIDA DE INFORMACION
  • 6.
    Los cálculos querealizan las computadoras requieren para ser útiles la entrada de datos necesarios para ejecutar las operaciones que posteriormente se convertirán en resultados, es decir, salida. Las operaciones de entrada permiten leer determinados valores y asignarlos a determinada variables. Esta entrada se conoce como operación de lectura ( read). Los datos de entrada se introducen al procesador mediante dispositivos de entrada. La salida puede aparecer en un dispositivo de salida. La operación de salida se denomina escritura (write) En la escritura de algoritmos las acciones de lectura y escritura se representan por los formatos siguientes: Leer (lista de variables de entrada) Escribir (lista de variables de salida) PROCESO DE ASIGNACION La operación de asignación es el modo de darle valores a una variable. La operación de asignación se representa con el símbolo u operador . La operación de asignación se conocen como instrucciones o sentencia de asignación cuando se refiere a un lenguaje de programación. El formato general de una operación de asignación es: nombre de la variable ← expresión La flecha (operador de asignación) se sustituye en otros lenguajes por = (BASIC, FORTRAN ) o = Pascal). Sin embargo, es preferible el uso de la flecha en la redacción del algoritmo, pera evitar ambigüedades dejando el uso del símbolo = exclusivamente para el operador de igualdad. La operación de asignación: A ← 5; Significa que a la variable A se le ha asignado el valor 5. Las operaciones de asignación se clasifican en: - Asignación aritmética - Asignación lógica - Asignación de caractéres EXPRESIONES
  • 7.
    las expresiones soncombinaciones de constantes, variables, símbolos de operaciones, paréntesis y nombres de funciones especiales. Las mismas ideas son utilizadas en notación matemática tradicional; por ejemplo: a - ( b + 3 ) /c Una expresión consta de operadores y operando. Según sea el tipo de objetos que manipulan, se clasifican las expresiones en: - Aritméticas - Relaciónales - Lógicas - Carácter OPERADORES ARITMETICOS lasexpresiones aritméticas son análogas a las fórmulas matemáticas. Las variables y constantes son numéricas (real o entera) y las operaciones son las aritméticas. + Suma - Resta * Multiplicación / División ** Exponenciación div División entera mod Módulo (resto) Operadores DIV y MOD
  • 8.
    El símbolo /se utiliza para la división real y el operador div – en algunos lenguajes, por ejemplo BASIC. A div B Sólo se pueden utilizar si A y B son expresiones enteras y obtienen la parte entera A/B. Por consiguiente. 19 div 6 toma el valor 3. OPERADORES LOGICOS (BOOLEANOS) un segundo tipo de expresiones es la expresión lógica o booleana, cuyo valor es siempre verdadero o falso. Se denomina también expresiones booleanas. Las expresiones lógicas se forman combinando constantes lpogicas, variables lógicas y otras expresiones utilizando los operadores not, and, y or, y los operadores relacionales (de relación o comparación ) =, <, >, <=, >=, <>. OPERADORES RELACIONALES Los operadores relacionales o de relación permiten realizar comparaciones de valores de tipo numérico o carácter. Los operadores de relación sirven para expresar las condiciones en los algoritmos. Los operadores de relación se recogen en la Tabla. Operador Significado < Mayor que > Menor que = Igual que <= Mayor o Igual a => Menor o Igual a <> Distinto de
  • 9.
    OPERADORES LOGICOS Los operadoreslógicos o boléanos básicos son not(no), and (y), y or (o). La tabla recoge el funcionamiento de dichos operadores. Operador lógico Expresión lógica Significado No (no) No p (not p) Negación de p And (y) P y a (p and q) Intersección de p y q Or (o) P o q (p or q) Unión de p y q TALLER Evaluar las siguientes expresiones numéricas 2*3+5 =? 5+2*3=? 1+4*4+6=? 8/2*3/6=? (3+2)*(8+2)=? 5+(3*8)+1=? 3+4*(8+2) (3+(8-2)-4)/6 5*(75/15)+4*(4-1)+2*(7+4) (15/(8-3)+4*(6+2)*2 (8+3)*(40-(7*4)) Realizar un algoritmo que sirva para convertir pulgadas a centímetros. Escribir un algoritmo que lea un numero e imprima su cuadrado y cubo.
  • 10.
    Determinar por mediode un algoritmo el área y volumen de un cilindro cuyas diemnsiones radio y altura se leen desde el teclado Determinar la hipotenusa de un triangulo rectángulo conocidos los catetos. Que se obtiene en las variables A,B y C, después de las instrucciones siguientes? A 5 B A+6 A A+1 B B-5 Encontrar el valor de la variable VALOR después de la ejecución de las siguientes operaciones: a) Valor 4.0 *5 b) X 3.0 Y 2.0 VALOR X el gorrito Y- Y