Algoritmos computacionales

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Algoritmos computacionales por Mind Map: Algoritmos computacionales

1. Representación de datos en la computadora

1.1. Representación de números

1.1.1. Los números que se pueden operar aritméticamente (+,-.* y /) se almacenan en sistema binario.

1.2. Conversiones de sistemas numéricos

1.2.1. Decimal a binario

1.2.1.1. Se realizan divisiones enteras del número entre 2, para obtener el cociente y el residuo de forma. Los residuos sólo pueden ser 0 o 1 y luego se colocan todos los residuos del último al primero.

1.2.2. Binario a decimal

1.2.2.1. Cada dígito binario representa una potencia de 2, por lo que simplemente se multiplica el dígito binario por su potencia correspondiente de 2 para luego sumar todos los resultados.

1.3. Representación de simbolos

1.3.1. Cada símbolo o letra se almacena en la computadora con una combinación única de 8 ceros o unos, combinación conocida como byte. Todas estas combinaciones se han estandarizado en código conocido como el código ASCII.

1.3.1.1. Para la letra A se usa -> 01000001 Para la letra a se usa -> 01100001 Para el signo ? se usa -> 00111111

2. Variables de memoria

2.1. Definición

2.1.1. Para que una computadora pueda procesar información, ésta debe estar almacenada en la memoria RAM. La única forma de almacenar información en la RAM y procesarla, es poniéndola en variables de memoria.

2.1.2. Una variable de memoria es una espacio identificado dentro de la RAM que puede almacenar un único valor a la vez.

2.2. Características

2.2.1. Espacio que ocupa en memoria o tamaño

2.2.1.1. Espacio en memoria que se utiliza para el almacenamiento de la información. (Siempre medido en Bytes)

2.2.1.2. Generalmente no lo asigna el programador y depende del lenguaje de programación y el sistema operativo que se use.

2.2.1.3. El espacio en RAM para una variable depende del tipo de dato.

2.2.1.3.1. Un Entero en “C” ocupa 2 bytes en la memoria

2.2.1.3.2. Un Flotante ocupa 4 bytes en la memoria

2.2.2. Identificador o nombre

2.2.2.1. Es la forma de referirnos a la variable u obtener su valor. Es definido por el programador

2.2.2.2. Siempre debe empezar con una letra, no debe contener espacios ni caracteres especiales. Algunos lenguajes hacen diferencia entre minúsculas y mayúsculas.

2.2.3. Tipo de dato almacenado

2.2.3.1. Se refiere a la información que almacena la variable

2.2.3.1.1. Numéricos: Enteros o Reales/Flotantes

2.2.3.1.2. Alfanuméricos: Carácter o cadena

2.2.3.1.3. Booleanos: True o False

2.2.4. Valor que almcena

2.2.4.1. Dato que guarda la variable

2.2.4.2. Entero: 12, 8, 56 Real: 4.5, 8.9 76.5 Carácter: 'g' '7' '¿' Cadena: 'Calle 12' 'Mi nombre' Booleanos: True, false o 0, 1

2.2.4.3. Las variables sólo pueden almacenar un dato a la vez. Si se quiere almacenar otro dato en la misma variable, el nuevo reemplaza al anterior y éste se pierde

2.3. Asignación

2.3.1. La instrucción para guardar un valor en una variable puede ser de dos tipos (Asignación y Lectura).

2.3.1.1. Asignación: Guarda un valor de forma directa (<--)

2.3.1.2. Lectura: Guarda un valor que viene desde el teclado (=)

2.3.2. Se puede guardar una constante en una variable o el valor de otra variable

2.3.2.1. Constante: Edad = 21 ó Edad <-- 21 pago = 45 ó pago <-- 45

2.3.2.2. Variable: Suma = total ó Suma <-- total Pago = importe ó Pago <-- importe

3. Operadores y expresiones aritméticas

3.1. Operadores aritméticos

3.1.1. Las computadoras pueden ejecutar operaciones aritméticas, éstas son:

3.1.1.1. Suma: +

3.1.1.2. Resta: -

3.1.1.3. Multiplicación: *

3.1.1.4. División: Existen dos tipos de división, real y entera.

3.1.1.4.1. Real: / Un solo resultado, puede llevar punto decimal

3.1.1.4.2. Entera: % o MOD Dos resultados, cociente y residuo.

3.1.1.5. Para hacer agrupaciones, se usa: ( )

3.2. Jerarquía de operaciones

3.2.1. Mayor jerarquía (primero) ( ) * %, MOD + - Menor jerarquía (último)

3.3. Expresiones aritméticas algorítmicas

3.3.1. Son usadas en las asignaciones para realizar cálculos y el resultado es almacenado en una variable. Aquí utilizan los operadores aritméticos y la jerarquía de operaciones.

3.3.2. Una expresión aritmética se compone de una lista de variables y constantes separadas por los operadores y en caso agrupadas con ( ).

3.3.3. Dato = (3+b)/2*x*y

4. Operadores lógicos y relacionales

4.1. Relacionales

4.1.1. = igual que

4.1.2. <> diferente o distinto

4.1.2.1. en algunos lenguajes se puedes usar =!

4.1.3. < menor que

4.1.4. > mayor que

4.1.5. <= menor o igual que

4.1.6. >= mayor o igual que

4.2. Lógicos

4.2.1. Pueden combinarse para ser evaluadas por una computadora usando los operadores lógicos

4.2.1.1. AND

4.2.1.2. OR

4.2.1.3. NOT

4.3. Expresión lógica

4.3.1. edad > 18

4.3.1.1. Será verdad cuando el valor en la variable edad sea mayor que 18, sin ser 18.

4.3.2. Edad > 18 AND Edad < 25

4.3.2.1. Sera verdad cuando la edad esté entre 18 y 25, sin que sea 18 o 25.

4.3.3. (Pago >= 100 AND Pago <= 200) OR (Edad = 25)

4.3.3.1. Será verdad cuando el valor de la variable pago esté entre 100 y 200 o bien cuando la Edad sea 25.

4.3.4. NOT ( total >= 300 AND total <=500 )

4.3.4.1. Sera verdad cuando el total NO este ente 300 y 500.

5. Representación de algoritmos

5.1. Escritura de algoritmos

5.1.1. Para escribir algoritmos computacionales debemos asegurarnos cumplir con sus principales características:

5.1.1.1. Finito: Numero finito de pasos (inicio y fin)

5.1.1.2. Definido: Claro, específico y sin ambigüedades

5.1.1.3. Preciso: Indicar claramente los pasos y el orden

5.2. Representación de algoritmos

5.2.1. Gráfica

5.2.1.1. • Diagramas de Flujo • Representación gráfica del algoritmo o proceso

5.2.1.1.1. Inicio/Fin: Ovalo

5.2.1.1.2. Entrada: Romboide

5.2.1.1.3. Salida: Semirectángulo

5.2.1.1.4. Proceso: Rectángulo

5.2.1.1.5. Decisión: Rombo

5.2.2. Estructograma

5.2.2.1. • Diagramas Nassi Shneiderman (N-S) • Combina la descripción textual del pseudocódigo con la representación gráfica del diagrama de flujo

5.2.3. Lista de instrucciones

5.2.3.1. • Seudocódigo • Es una descripción de alto nivel compacta e informal de un algoritmo (falso lenguaje).

5.2.3.1.1. Inicio/Fin: Inicio/Fin

5.2.3.1.2. Entrada: Leer

5.2.3.1.3. Salida: Escribir

5.2.3.1.4. Proceso: <asignación>

5.2.3.1.5. Decisión: SI <exp lógica> ENTONCES SINO FIN SI

5.2.3.1.6. Ciclos: MIENTRAS FIN MIENTRAS

5.3. Instrucciones básicas

5.3.1. Las instrucciones que se pueden incluir en un algoritmo computacional y cual es su uso:

5.3.1.1. Entrada/Lectura: •Input / Read / Leer • Recibir un dato dese teclado y almacenar en una variable.

5.3.1.2. Salida/Escritura: •Display / Print / Mostrar • Mostrar el valor de una variable en pantalla

5.3.1.3. Proceso: •Asignación / Calculo • Asignar el un valor a una variable, de forma directa de otra variable o constante o del resultado de una expresión aritmética o lógica.

5.3.1.4. Decisión/Condición: •Condición / Selección / Selección múltiple • Realizar una serie de instrucción según el resultado de la evaluación de una expresión lógica. Tomar uno o varios caminos según la condición.

5.3.1.5. Repetición/Ciclos: •Bucle / Loop / Ciclo • Repetir un conjunto de instrucciones un número definido o indefinido de veces según una condición.

5.4. Agrupación de sentencias (Instrucciones)

5.4.1. Todas las instrucciones o sentencias se integrarán en 3 GRUPOS:

5.4.1.1. Secuenciales

5.4.1.1.1. Entrada

5.4.1.1.2. Proceso

5.4.1.1.3. Salida

5.4.1.2. Condicionales

5.4.1.2.1. Simples

5.4.1.2.2. Completo

5.4.1.2.3. Casos/Múltiple

5.4.1.3. Ciclo

5.4.1.3.1. Mientras

5.4.1.3.2. Hacer mientras

5.4.1.3.3. Para