Conceptos básicos sobre algortimia

33
CONCEPTOS BÁSICOS SOBRE ALGORITMIA Ing. César Augusto Gutiérrez R. 2015

Transcript of Conceptos básicos sobre algortimia

Page 1: Conceptos básicos sobre algortimia

CONCEPTOS BÁSICOS SOBRE ALGORITMIA

Ing. César Augusto Gutiérrez R.

2015

Page 2: Conceptos básicos sobre algortimia

ELEMENTOS DEL COMPUTADOR

+

HARDWARE (Elementos

físicos)

SOFTWARE (Programas)

Page 3: Conceptos básicos sobre algortimia

HARDWARE (Componentes

físicos)

Unidades PeriféricasDe Entrada

TecladoMouseEscáner.

UnidadesPeriféricasDe Salida

ImpresoraMonitor,Parlantes.

Unidades deAlmacenamiento.

Disquete,Discos compactos,

Discos duros.

Unidad deControl

UnidadAritméticaY Lógica

Memoria PrincipalRAM y ROM

UNIDAD CENTRAL DE PROCESO

Page 4: Conceptos básicos sobre algortimia

SOFTWARE (Conjunto de Programas)

TIPOS DE SOFTWARE:

- Sistemas operativos DOS, Windows, Linux.

- Aplicaciones de uso general Word, Excel, Power Point.

- Aplicaciones de uso específico Sistema de calificaciones, facturación, nomina.

Programa 1

Programa 2

Programa 3

MEMORIA RAM

Page 5: Conceptos básicos sobre algortimia

D A T O S

Page 6: Conceptos básicos sobre algortimia

GENERALIDADES

DATOEs la representación simbólica de un hecho, atributo o característica

de una entidad.

Por ejemplo: calificación de un alumno, nombre de un docente, color de un carro, entre otros.

INFORMACIÓNEs aquella que se obtiene mediante el procesamiento de los datos.

Por ejemplo: El promedio final de un alumno para un curso, número de aprobados en un examen, nombre de los primeros alumnos de cada carrera por semestre.

Page 7: Conceptos básicos sobre algortimia

ProcesadorEntrada Salid

aAlgoritmo

DATOS

INFORMACION

Es realizado por el procesador el cual ejecuta un conjunto de pasos previamente definidos (algoritmo) El procesamiento de datos puede ser:

Manual Mecanizada (uso de calculadora, sumadora, entre

otros) Automatizado (uso del computador)

PROCESAMIENTO DE DATOS

Operaciones que transforman datos en información

Page 9: Conceptos básicos sobre algortimia

FASES PARA LA CONSTRUCCIÓN DE UN PROGRAMA

SOLUCION DEL PROBLEMA

IMPLEMENTACIONEN LA

COMPUTADORA

Datos Algoritmo Programa

(Software)

Análisis del problema

Diseño del algoritmo

Verificación del algoritmo

Error de lógica

OK

Codificación del algoritmo (programa)

Ejecución del programa

Verificación del programa

Programa

Error desintaxis

OK

Algoritmo

Page 10: Conceptos básicos sobre algortimia

TIPOS DE DATOS (Reconocidos por el computador)

DATOS

BASICOS COMPUESTOS

Numéricos

Alfanumérico

Lógico Estático Dinámico-Arreglos

-Registros -Archivos

-Listas -Arboles -Grafos

-Enteros -Reales

-Cadena -Carácter

Page 11: Conceptos básicos sobre algortimia

DATOS BÁSICOS

DATOS TIPO NUMÉRICO (Integer, Float, Double)Enteros y RealesEl rango y precisión de los datos numéricos depende del lenguaje de programación que se utilice.

DATOS TIPO CARÁCTER (Char, String)Conjunto de caracteres que el computador reconoce.Se encuentran normalizados bajo el código ASCII o EBCDIC

Caracteres alfabéticos: A - Z ; a - zCaracteres numéricos:0 - 9Caracteres especiales:*, / , +, >, <, =, etc.

DATOS TIPO LÓGICO (Boolean)Conjunto formado por dos valores lógicos:verdad, falso

Page 12: Conceptos básicos sobre algortimia

EXPRESIÓN DE LOS DATOSLos datos pueden venir expresados como: constantes, variables, expresiones, funciones.

CONSTANTEEs un dato (de cualquier tipo) cuyo valor no cambia durante la ejecución del algoritmo o programa.

TIPOS DE CONSTANTESLiteral: Es un valor expresado en forma explícita. 3.1416

Simbólica: Viene expresado bajo un nombre que guarda su valorPi (Previamente se debe definir que Pi = 3.1416).

Page 13: Conceptos básicos sobre algortimia

VARIABLEEs un objeto (espacio de memoria), que almacena un dato.Para definir una variable es necesario:•Darle un Nombre •Indicar el tipo de dato que va almacenar

El valor de una variable puede cambiar durante la ejecución del algoritmo.

EJEMPLOS DE TIPOS DE VARIABLESEntero: edad, numero pares Real: promedio, estaturaCarácter: nombre, sexo Lógica: Fin, encontrado, valido

Page 14: Conceptos básicos sobre algortimia

Es una combinación de operandos y operadores

Tipos:Expresiones aritméticas Operando: Constantes, variables y expresiones numéricas.Operadores: AritméticosResultado: NuméricoX = (EP + 2*EF + PP)/4

Expresiones lógicasOperando: constantes, variables y expresiones lógicasOperadores: lógicos y relacionalesResultado: lógico(PP>6.1 y PF>6.1)

EXPRESIONES

Page 15: Conceptos básicos sobre algortimia

Son programas predefinidas que:•Tienen un nombre con el cual se les invoca y•Aceptan datos y devuelven un resultado.

Generalmente los lenguajes de programación poseen funciones matemáticas, de cadenas y otros.En C++Abs(X): Devuelve el valor absoluto del número entero XSqrt(X): Devuelve la raíz cuadrada del número X (X>=0)

IdentificadoresSon los nombres que se le dan a las constantes simbólicas, variables, funciones y otros.Constan de una cadena de caracteres que debe empezar con una letra.Deben ser significativos sugiriendo lo que representa.

FUNCIONES

Page 16: Conceptos básicos sobre algortimia

Son los símbolos que actúan como enlace entre los argumentos de una operación para formar expresiones.

TIPOS DE OPERADORES1.Relacionales o CondicionalesSe utilizan para formar expresiones booleanas, es decir, que solo pueden tener un resultado falso o verdadero.

OPERADORES

Page 17: Conceptos básicos sobre algortimia

2. AritméticosEstos operadores se utilizan para unir variables y constantes numéricas formando expresiones aritméticas.

3. AlfanuméricoCon este operador uniremos cadenas de caracteres, mediante el proceso CONCATENACIÓN.

4. Lógicos o BooleanosEstos operadores se utilizan para unir variables y constantes numéricas formando expresiones aritméticas.

Page 18: Conceptos básicos sobre algortimia

OPERACIONES CON LOS DATOS

OPERACIONES INTERVIENEN OPERADORES RESULTADO

ARITMÉTICAS DatosNuméricos

Aritméticos+, - , *, /,

modulo, entero

DatoNumérico

DE COMPARACIÓN Datos del mismo tipo

Relacionales>, <, >=, <=, =

DatoLógico

LÓGICAS Datoslógicos

LógicosNo, Y, O

DatoLógico

ALFANUMÉRICAS Datos numéricos y alfabéticos

+ Dato alfanumérico

Page 19: Conceptos básicos sobre algortimia

A L G O R I T M O S

Page 20: Conceptos básicos sobre algortimia

TIPOS DE LENGUAJES DE PROGRAMACIÓN

Lenguaje de alto nivel: lenguaje similar al lenguaje natural. Son fáciles de escribir. Es el mas usado por los programadores.

C#, C++, Basic, Php, Java

Lenguaje de bajo nivel: lenguaje nemotécnico.ADD M, N, P

Lenguaje de máquina: lenguaje binario (0 y 1) entendible directamente por el computador.

0110 1001 1010 1011

Page 21: Conceptos básicos sobre algortimia

TIPOS DE PROGRAMAS (Según el Lenguaje de

Programación)

PROGRAMA FUENTE (PF)Programa escrito en lenguaje de alto o bajo nivel.

PROGRAMA OBJETO (PO): Programa escrito en lenguaje de máquina. Es el que ejecuta el computador.

PROGRAMAEs el algoritmo escrito en un lenguaje de programación, para ser ejecutado por el computador.

Page 22: Conceptos básicos sobre algortimia

TRADUCTORES DE LENGUAJE

Programa Fuente Compilad

orProgramaObjeto

Programa Fuente Intérprete

Ejecución del Programa

Instrucción en lenguaje de maquina

Ejecución de la Instrucción

Tipos de Traductores: Compilador

instrucción

Son los encargados de traducir programas fuente a lenguaje de máquina.

Intérprete

Page 23: Conceptos básicos sobre algortimia

CONCEPTOS GENERALES

ALGORITMOSecuencia ordenada de pasos o acciones o instrucciones que se debe ejecutar para realizar una tarea o para resolver un problema.Es expresado en lenguaje natural utilizando herramientas estandarizadas.

Características de un algoritmoPreciso: El algoritmo debe indicar el orden en que se debe realizar cada paso.Finito: El algoritmo tiene un número finito de pasos y debe terminar en algún momento.Bien definido: Si el algoritmo se prueba dos veces con los mismos datos de entrada, se debe obtener el mismo resultado.

Page 24: Conceptos básicos sobre algortimia

TIPOS DE ALGORITMOS

ALGORITMOS CUALITATIVOSSon aquellos en los que se describen o se resuelven problemas de la vida cotidiana, enmarcados en tres estructuras fundamentales:

•Secuencias de acciones•Decisión de acción•Ciclos de acciones

ALGORITMOS CUANTITATIVOSSon aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

Page 25: Conceptos básicos sobre algortimia

Conjunto de técnicas para desarrollar algoritmos fáciles de escribir, leer, verificar y modificar.

•Diseño Modular ( Top-Down)En problemas grandes y complejos: dividir el problema en subproblemas y diseñar un subprograma para resolver cada uno de ellos.

•Descomposición del programa en recursos abstractosDescompone una acción compleja en acciones simples capaces de ser ejecutadas por un computador (instrucciones).

•Estructuras de control básicasUn programa se escribe utilizando 3 estructuras de control: Secuenciales, Selectivas, Repetitivas.

TÉCNICA DE PROGRAMACIÓN ESTRUCTURADA

Page 26: Conceptos básicos sobre algortimia

Son las acciones que van a ser ejecutadas por el computador para resolver el problema.Instrucciones de Inicio/Fin : Indica el Inicio y el Fin del algoritmoInstrucciones de lectura: Solicita al usuario el ingreso de datos desde un dispositivo de entrada por ejemplo el teclado.Instrucciones de escritura: Muestra los resultados a través de un dispositivo de salida por ejemplo la pantalla o impresora.Instrucciones de asignación: Almacena un valor en una variable, perdiéndose cualquier otro valor almacenado en ella.Instrucciones selectivas: Permiten ejecutar unas u otras tareas de acuerdo al resultado de una expresión condicional.Instrucciones repetitivas: Permiten la repetición de un grupo de instrucciones, generando un bucle (ciclo o loop).

INSTRUCCIONES

Page 27: Conceptos básicos sobre algortimia

HERRAMIENTAS PARA LA REPRESENTACIÓN DE ALGORITMOS

Para representar los algoritmos en forma estandarizada, existen herramientas como:

•Diagrama de flujoTécnica tipo gráfico.

•PseudocódigoLenguaje de especificación (palabras reservadas) en lenguaje natural.

•Diagrama de Nassi-ScheneidermanEs una combinación de las dos anteriores.

Page 28: Conceptos básicos sobre algortimia

ESCRITURA DE UN ALGORITMO EN PSEUDOCÓDIGO

CABECERAContiene el nombre del algoritmo (opcional)

Constantes Nombre-constante = valorVariables Tipo-dato: nombre de variables

BLOQUE DE DECLARACIONES Se utilizan para asignar espacios en la RAMSe declaran: Constantes (opcional),

Variables (obligatorio), Otros definidos por el usuario

(opc.)BLOQUE DE INSTRUCCIONES• Inicio/Fin• Lectura

Leer ( lista de variables)• Escritura

Escribir ( resultado)• Asignaciónnombre de la variable valor ó expresión

•Comentarios (no se ejecutan)Sirven para escribir información interna para facilitar el mantenimiento del algoritmo. Formato: // comentario

Algoritmo nombre del algoritmo

Inicio

instrucciones

Fin

Page 29: Conceptos básicos sobre algortimia

DIAGRAMA DE FLUJO PSEUDOCÓDIGO

Símbolos Significado Palabras reservadas Inicio / Fin

Lectura / Escritura

Proceso

Selectiva

Proceso repetitivo

Inicio / Fin

Dirección o flujo

Leer / Escribir

Si - entonces

+ - * /

Mientras/ desde/Repetir

Page 30: Conceptos básicos sobre algortimia

Se cuenta con las notas del primer corte (EP), segundo corte (EF) y corte final (PP) de un alumno. Se sabe que el promedio final (PF), se calcula con la fórmula: PF=(EP+ PP+2xEF)/4 Si el alumno cumple con la siguiente condición: PP>6.1 y PF> 6.1 tiene opción a rendir un examen sustitutorio (ES).

Escriba un algoritmo reciba las notas del alumno y luego muestre un mensaje indicando si el alumno puede rendir o no puede rendir el ES. En el caso que ya no pueda rendir el ES, debe mostrar también el PF.

EJEMPLO DE ALGORITMO

Page 31: Conceptos básicos sobre algortimia

AnálisisDatos de entrada: EP, EF, PPSalida: mensaje y PF (si no puede rendir ES)

AlgoritmoInicio del algoritmo Ingresar las notas del alumno: EP, EF y PP Calcular PF con la siguiente fórmula:

PF = (EP + 2EF + PP)/4 Si cumple la condición PP> 6.1 y PF>6.1 entonces mostrar el mensaje “Puede rendir el ES” Si no cumple la condición entonces mostrar el mensaje “No puede rendir ES” y mostrar PFFin del algoritmo.

Page 32: Conceptos básicos sobre algortimia

EL ALGORITMO EN PSEUDOCÓDIGO

Algoritmo PROMEDIO

Variablesentero: EP, EFreal: PP, PF

InicioLeer (EP, EF, PP)PF (EP+PP+2*EF)/4 // Calcula PFSi (PP>6.1 y PF>6.1) Escribir ( “Puede rendir el ES”)sino Escribir (“No puede rendir el ES”) Escribir (“La nota final es: “, PF)Fin-si

Fin

Cabecera del algoritmo

Bloque de declaraciones

Bloque de Instrucciones

Page 33: Conceptos básicos sobre algortimia

EL ALGORITMO EN DIAGRAMA DE FLUJO

Inicio

Leer EP,EF, PP

PF=(EP+PP+2*EF)/4

PP>6.1 y PF>6.1

Escribir “Puede rendir ES”

Escribir “No puede rendir ES”

Fin

Escribir “La nota final es: “ , PF