SlideShare una empresa de Scribd logo
1 de 39
ALGORITMOS Y
ESTRUCTURAS DE
DATOS
BUENAS TARDES…
Apague y/o guarde cualquier
dispositivo distractor que impida
su atención en esta exposición,
por ejemplo: Celulares, tablets,
PC, calculadoras, cuadernos de
otras asignaturas, etc.
Tome apuntes
Gracias
GENERALIDADES
DATO
Es la representación simbólica de un hecho, atributo o característica de
una entidad.
Ejm: nota de un alumno, nombre de un docente, color de un carro, etc.
INFORMACION
Es un dato útil.
Ejm. El promedio final de un alumno para un curso, número de
aprobados en un examen, nombre de los primeros alumnos
de cada especialidad por cada ciclo.
La información se obtiene mediante el procesamiento
de los datos
Procesador
Entrada Salid
a
Algoritmo
DATO
S
INFORMACIO
N
 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, etc)
Automatizado (uso del computador)
PROCESAMIENTO DE
DATOS
Operaciones que transforman datos en información
PROCESAMIENTO DE DATOS
AUTOMATIZADO
Entrada
DATO
S
Salid
a
INFORMACIO
N
Programa
Algoritmo
Procesador
Elementos del Computador
+
HARDWARE
(elem.físicos)
SOFTWARE (programa)
HARDWARE (componentes físicos)
Unidades
Periféricas
De Entrada
Ejem.
Teclado
Mouse
Escaner, etc
Unidades
Periféricas
De Salida
Ejm.
Impresora
Monitor,
Parlantes, etc.
Unidades de
Almacenamiento.
Ejem. Disquete,
Discos compactos,
Discos duros, etc.
Unidad de
Control
Unidad
Aritmética
Y Lógica
Memoria Principal
RAM y ROM
UNIDAD CENTRAL DE
PROCESO
SOFTWARE (Conjunto de Programas)
TIPOS DE SOFTWARE:
- Sistemas operativos
Ejm. DOS, Windows, Linux, etc.
- Aplicaciones de uso general
Ejm. Word, Excel, Power Point,
etc.
- Aplicaciones de uso
específico
Ejm. sistema de notas,
sistema de facturación,
etc)
Programa
1
Programa
2
Programa
3
MEMORIA RAM
FASES PARA LA CONSTRUCCION DE UN PROGRAMA
SOLUCION DEL
PROBLEMA
IMPLEMENTACION
EN LA
COMPUTADORA
Dato
s
Algoritmo
Programa
(Software)
Análisis del
problema
Diseño del
algoritmo
Verificación
del algoritmoError de
lógica
OK
Codificación
del algoritmo
(programa)
Ejecución del
programa
Verificación del
programa
Programa
Error
sintaxis
OK
Algoritmo
ALGORITMO
Secuencia ordenada de pasos (acciones) para resolver un
problema.
Se expresa en lenguaje natural
PROGRAMA
Es el algoritmo escrito en un lenguaje de programación para ser
ejecutado por el computador.
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.
Ejm. C++, Pascal, Basic, Prolog, Java, etc
 Lenguaje de bajo nivel: lenguaje mnemotécnico.
Ejm. ADD M, N, P
 Lenguaje de máquina: lenguaje binario (0 y 1) entendible
directamente por el computador.
Ejm. 0110 1001 1010 1011
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.
TRADUCTORES DE LENGUAJE
Programas que traducen programas fuente a lenguaje de máquina.
Programa
Fuente
Compilador
Programa
Objeto
Programa
Fuente Intérprete
Ejecución
del
Programa
Instrucción
en leng.máq.
Ejecución de la
Instrucción
Tipos de Traductores: Compiladores e Intérpretes
instrucción
D A T O S
Tipos de Datos (reconocidos por el computador):
DATOS
BASICOS COMPUESTO
S
Numéricos Caracter Lógico Estático Dinámico
-Arreglos
-Registros
-Archivos
-Listas
-Arboles
-Grafos
-Enteros
-Reales
DATOS SIMPLES O DATOS BASICOS
 DATOS NUMERICOS
Enteros y Reales
El rango y precisión de los datos numéricos depende del
lenguaje de programación que se utilice.
DATOS TIPO CARACTER
Conjunto de caracteres que el computador reconoce.
Se encuentran normalizados bajo el código ASCII o EBCDIC
Se tienen:
Caracteres alfabéticos: A - Z ; a - z
Caracteres numéricos: 0 - 9
Caracteres especiales: *, / , +, >, <, =, etc.
 DATOS TIPO LOGICO
Conjunto formado por dos valores lógicos:
verdad, falso
Operaciones con los datos
OPERACIONES INTERVIENEN OPERADORES RESULTADO
ARITMETICAS Datos
Numéricos
Aritméticos
+, - , *, /,
resto, entero
Dato
Numérico
DE
COMPARACION
Datos del
mismo tipo
Relacionales
>, <, >=, <=, =
Dato
Lógico
LOGICAS Datos
lógicos
Lógicos
No, Y, O
Dato
lógico
IMPORTANTE:
En operaciones aritméticas:
Muchos lenguajes cuentan con operadores adicionales a los
conocidos como los operadores para datos enteros:
entero (a/b): división entera de a/b
resto (a/b): resto de la división entera de a/b
Ejm. 10+ resto(5/3) Resultado: 12
En operaciones de Comparación:
En la comparación de datos tipo carácter se tiene:
‘0’<‘1’<‘2’<..<’9’<‘A’<‘B’<…<‘Z’<‘a’<‘b’<..<‘z’
En datos tipo lógico:
falso < verdad
Expresión de los datos
Un dato puede venir expresado como: constantes, variables,
expresiones, funciones, etc.
 CONSTANTE
Es un dato (de cualquier tipo) cuyo valor no cambia durante la
ejecución del algoritmo o programa.
Tipos de constantes:
 Literal: es un valor expresado en forma explícita.
Ejm. 3.1416
 Simbólica: viene expresado bajo un nombre que guarda
su valor
Ejm. Pi (Previamente se debe definir que Pi = 3.1416)
 VARIABLE
 Es un objeto (porción de memoria) que almacena un dato
 Para definir una variable es necesario:
- Darle un Nombre
- Indicar el tipo de dato que va almacenar
OJO: El valor de una variable puede cambiar
durante la ejecución del algoritmo.
Tipos de variables:
Entero: Ejm. nota, edad, examen,
Real: Ejm. promedio, sueldo, talla
Carácter: Ejm. sección, sexo,
Lógica: Ejm. Fin, encontrado, vale
Operador de asignación
Se utiliza para almacenar un dato en una variable,
perdiéndose cualquier otro valor
previamente almacenado en ella.
 Se representa con el símbolo 
Ejem.
Nota  12.3
Nota  Nota +2
12.3
Nota
Memoria RAM
14.3
 EXPRESIONES
Es una combinación de operandos y operadores
Tipos:
 Expresiones aritméticas
Operando: constantes, variables y expres. numér.
Operadores: aritméticos
Resultado: numérico
Ejm. (EP + 2*EF + PP)/4
 Expresiones lógicas
Operando: constantes, variables y expres. lógicas
Operadores: lógicos y relacionales
Resultado: lógico
Ejm. (PP>6.1 y PF>6.1)
 FUNCIONES
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.
Ejm. En C++
Abs(X): devuelve el valor absoluto del número entero X
Sqrt(X): devuelve la raiz cuadrada del número X (X>=0)
Identificadores
 Son 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.
ACUMULADOR
 Es una variable cuyo valor aumenta o disminuye en una
cantidad variable cada vez que se produce un determinado
suceso o acción.
 Debe ser inicializado
Ejm. Se desea acumular las notas de prácticas de un alumno
Sum 0 (el valor de sum es 0)
sum  sum + 13 (el valor de sum es 13)
sum  sum + 10 (el valor de sum es 23)
CONTADOR
 Es un acumulador cuyo valor aumenta o disminuye en una
cantidad constante cada vez que se produce un determinado
suceso o acción.
 Se usa para contar sucesos. Ejm. Contar número de aprobados
VARIABLES IMPORTANTES
DISEÑO
DE ALGORITMOS
ALGORITMO
 Secuencia 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 algoritmo
 Preciso: 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.
TECNICA DE PROGRAMACION ESTRUCTURADA
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 abstractos
Descompone una acción compleja en acciones simples
capaces de ser ejecutadas por un computador
( instrucciones )
 Estructuras de control básicas
Un programa se escribe utilizando 3 estructuras de
control:
EC Secuenciales, EC Selectivas, EC Repetitivas
INSTRUCCIONES
Son las acciones que van a ser ejecutadas por el computador
para resolver el problema.
TIPOS :
 Instrucciones de Inicio/Fin :
Indica el Inicio y el Fin del algoritmo
 Instrucciones 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, impresora, etc.
 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 (lazo o loop).
EJEMPLO DE ALGORITMO
Se cuenta con las notas del Bimestral (Bm), Seguimiento
(Sg), Autoevaluacion (Ae) de un alumno.
Se sabe que el promedio final (PF) se calcula con la fórmula:
PF=(Bm + Sg + Ae)/ 3
Si el alumno cumple con la siguiente condición: P3>3.0 gana
la asignatura
Escriba un algoritmo reciba las notas del alumno y luego
muestre un mensaje indicando si el alumno ganó o perdió la
asignatura
En cualquier caso debe mostrar un mensaje diciendo si
perdió o ganó y mostrar el promedio final (PF)
Análisis
Datos de entrada: Bm, Sg, Ae
Salida: mensaje y PF
Algoritmo
Inicio del algoritmo
Ingresar las notas del alumno: Bm, Sg, Ae
Calcular PF con la siguiente fórmula:
PF=(Bm + Sg + Ae)/ 3
Si cumple la condición PF> 3.0 Mostrar el mensaje
“Felicidades Ganó la Asignatura” y mostrar PF
Si no cumple la condición entonces mostrar el mensaje “Lo
siento, perdió la asignatura” y mostrar PF
Fin del algoritmo.
HERRAMIENTAS PARA LA
REPRESENTACION DE ALGORITMOS
Para representar los algoritmos en forma estandarizada,
existen herramientas como:
 Diagrama de flujo
Técnica tipo gráfico
 Pseudocódigo
Lenguaje de especificación (palabras reservadas) en
lenguaje natural
 Diagrama de Nassi-Scheneiderman
Es una combinación de las dos anteriores
DIAGRAMA DE FLUJO PSEUDOCODIGO
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
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
Escritura de un algoritmo en pseudocódigo
CABECERA
Contiene el nombre del algoritmo (opcional)
Constantes
Nombre-constante = valor
Variables
Tipo-dato: nombre de variables
BLOQUE DE DECLARACIONES
Se utilizan para asignar espacios en la RAM
Se 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ón
nombre de la variable  valor ó expresión
•Comentarios (no se ejecutan)
Sirven para escribir información interna para
facilitar el mantenimiento del algoritmo.
Formato: // comentario
aAlgoritmo nombre del algoritmo
Inicio
instrucciones
Fin
El algoritmo en Pseudocódigo
Algoritmo PROMEDIO
Variables
entero: EP, EF
real: PP, PF
Inicio
Leer (EP, EF, PP)
PF  (EP+PP+2*EF)/4 // Calcula PF
Si (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
ESTRUCTURAS DE CONTROL
Un algoritmo debe ser escrito utilizando tres estructuras
de control:
 E.C. Secuencial
Simple
 E.C. Selectiva Doble
Múltiple
Desde
 E.C. Múltiple Mientras
Repetir - hasta
Estructura SECUENCIAL
Las acciones del algoritmo se ejecutan en el orden que se
encuentran escritos.
acción 1
acción 2
acción 3
-------
-------
acción n
Estructuras Selectivas
La ejecución de las acciones dependen del resultado de una condición.
Se tienen tres tipos de estructuras selectivas:
1. SELECTIVA SIMPLE
Las acciones se ejecutan si la condición es verdadera .
condición
acciones
V F
Pseudocódigo
Si (condición)
acción1
acción 2
………
acción n
fin-si
2. SELECTIVA DOBLE
Si la condición es Verdadera se ejecutan unas acciones.
Si la condición es Falsa se ejecutan otras acciones
condición
Acciones-F Acciones-V
VF
Pseudocódigo
Si (condición)
acciones 1
Sino
acciones 2
Fin-si
Gracias por la atención prestada

Más contenido relacionado

La actualidad más candente

Programas diseñados para realizar algoritmo
Programas  diseñados para realizar algoritmoProgramas  diseñados para realizar algoritmo
Programas diseñados para realizar algoritmoTAMELIMAR
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosMary Sanchez
 
Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Duvan Aguilera
 
Fundamentos de programación de computadores
Fundamentos de programación de computadoresFundamentos de programación de computadores
Fundamentos de programación de computadoresNatu Orjuela
 
1. Algoritmos y Programas
1. Algoritmos y Programas1. Algoritmos y Programas
1. Algoritmos y Programas1101
 
Algoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkAlgoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkLaurence HR
 
Video Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia AbiertaVideo Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia AbiertaDanilo Jaramillo
 
Razonamiento algoritmico
Razonamiento algoritmicoRazonamiento algoritmico
Razonamiento algoritmicopaty_cursocompu
 
Algoritmos y estructura de datos
Algoritmos y estructura de datosAlgoritmos y estructura de datos
Algoritmos y estructura de datosLily- XztrzitA-
 
Introduccion a la programación Parte II
Introduccion a la programación Parte IIIntroduccion a la programación Parte II
Introduccion a la programación Parte IIYelixa Araque Angulo
 
Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmosarmando_franco
 
Algoritmica
AlgoritmicaAlgoritmica
Algoritmicasariz6
 

La actualidad más candente (20)

Programas diseñados para realizar algoritmo
Programas  diseñados para realizar algoritmoProgramas  diseñados para realizar algoritmo
Programas diseñados para realizar algoritmo
 
Unidad i-guia1
Unidad i-guia1Unidad i-guia1
Unidad i-guia1
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para Algoritmos
 
algoritmo
algoritmoalgoritmo
algoritmo
 
Tarea 4 algoritmos
Tarea 4 algoritmosTarea 4 algoritmos
Tarea 4 algoritmos
 
algortimos
algortimosalgortimos
algortimos
 
Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010
 
Fundamentos de programación de computadores
Fundamentos de programación de computadoresFundamentos de programación de computadores
Fundamentos de programación de computadores
 
1. Algoritmos y Programas
1. Algoritmos y Programas1. Algoritmos y Programas
1. Algoritmos y Programas
 
Algoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkAlgoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tk
 
Video Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia AbiertaVideo Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia Abierta
 
Razonamiento algoritmico
Razonamiento algoritmicoRazonamiento algoritmico
Razonamiento algoritmico
 
Algoritmos y estructura de datos
Algoritmos y estructura de datosAlgoritmos y estructura de datos
Algoritmos y estructura de datos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introduccion a la programación Parte II
Introduccion a la programación Parte IIIntroduccion a la programación Parte II
Introduccion a la programación Parte II
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmos
 
Algoritmica
AlgoritmicaAlgoritmica
Algoritmica
 
Unidad i
Unidad iUnidad i
Unidad i
 

Similar a Algoritmos para calcular promedio y resultado final

Similar a Algoritmos para calcular promedio y resultado final (20)

Conceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaConceptos básicos sobre algortimia
Conceptos básicos sobre algortimia
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Metodologia de la Programción
Metodologia de la ProgramciónMetodologia de la Programción
Metodologia de la Programción
 
Clase 2
Clase 2Clase 2
Clase 2
 
Ii corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_claseIi corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_clase
 
Clase algoritmo I
Clase algoritmo IClase algoritmo I
Clase algoritmo I
 
Clase algoritmo I
Clase algoritmo IClase algoritmo I
Clase algoritmo I
 
Unidad i
Unidad iUnidad i
Unidad i
 
Programación modular estructurada.ppt
Programación modular estructurada.pptProgramación modular estructurada.ppt
Programación modular estructurada.ppt
 
Pricipios de Programación
Pricipios de Programación Pricipios de Programación
Pricipios de Programación
 
Fun-programacion-201-Elementos-pseducodigo
Fun-programacion-201-Elementos-pseducodigoFun-programacion-201-Elementos-pseducodigo
Fun-programacion-201-Elementos-pseducodigo
 
manual dfd
manual dfdmanual dfd
manual dfd
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
00000
0000000000
00000
 
Tecnoooo00000000000
Tecnoooo00000000000Tecnoooo00000000000
Tecnoooo00000000000
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Presentación PSeInt
Presentación PSeIntPresentación PSeInt
Presentación PSeInt
 
Revista Algoritmos
Revista AlgoritmosRevista Algoritmos
Revista Algoritmos
 
Presentació de PSEInt
Presentació de PSEIntPresentació de PSEInt
Presentació de PSEInt
 
Tutorial p se int
Tutorial p se intTutorial p se int
Tutorial p se int
 

Más de Eliasid Rivero Madera

Presentaciones con diapositivas online
Presentaciones con diapositivas onlinePresentaciones con diapositivas online
Presentaciones con diapositivas onlineEliasid Rivero Madera
 
Los científicos más destacados de la historia
Los científicos más destacados de la historiaLos científicos más destacados de la historia
Los científicos más destacados de la historiaEliasid Rivero Madera
 
Condicionantesdeldesarrollotecnolgico
CondicionantesdeldesarrollotecnolgicoCondicionantesdeldesarrollotecnolgico
CondicionantesdeldesarrollotecnolgicoEliasid Rivero Madera
 
La ecologia y su relacion con la calidad de
La ecologia y su relacion con la calidad deLa ecologia y su relacion con la calidad de
La ecologia y su relacion con la calidad deEliasid Rivero Madera
 

Más de Eliasid Rivero Madera (20)

Eliasid rivero actividad1_2_mapac
Eliasid rivero actividad1_2_mapacEliasid rivero actividad1_2_mapac
Eliasid rivero actividad1_2_mapac
 
Experiencia significativa
Experiencia significativaExperiencia significativa
Experiencia significativa
 
Algoritmos diagramas de flujo
Algoritmos diagramas de flujoAlgoritmos diagramas de flujo
Algoritmos diagramas de flujo
 
Las nuevas tecnologias
Las nuevas tecnologiasLas nuevas tecnologias
Las nuevas tecnologias
 
Presentaciones con diapositivas online
Presentaciones con diapositivas onlinePresentaciones con diapositivas online
Presentaciones con diapositivas online
 
Tecnicas para el manejo del teclado
Tecnicas para el manejo del tecladoTecnicas para el manejo del teclado
Tecnicas para el manejo del teclado
 
Los científicos más destacados de la historia
Los científicos más destacados de la historiaLos científicos más destacados de la historia
Los científicos más destacados de la historia
 
Elementos fundamentales de la
Elementos fundamentales de laElementos fundamentales de la
Elementos fundamentales de la
 
Condicionantesdeldesarrollotecnolgico
CondicionantesdeldesarrollotecnolgicoCondicionantesdeldesarrollotecnolgico
Condicionantesdeldesarrollotecnolgico
 
Industria y comercio
Industria y comercioIndustria y comercio
Industria y comercio
 
La industria y sus
La industria y susLa industria y sus
La industria y sus
 
El método científico
El método científicoEl método científico
El método científico
 
La ecologia y su relacion con la calidad de
La ecologia y su relacion con la calidad deLa ecologia y su relacion con la calidad de
La ecologia y su relacion con la calidad de
 
Ciencia, técnica y tecnología
Ciencia, técnica y tecnologíaCiencia, técnica y tecnología
Ciencia, técnica y tecnología
 
Industria y comercio
Industria y comercioIndustria y comercio
Industria y comercio
 
Industria y comercio
Industria y comercioIndustria y comercio
Industria y comercio
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativo
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Ciencia y tecnología
Ciencia y tecnologíaCiencia y tecnología
Ciencia y tecnología
 
Procesos tecnológicos
Procesos tecnológicosProcesos tecnológicos
Procesos tecnológicos
 

Algoritmos para calcular promedio y resultado final

  • 2. BUENAS TARDES… Apague y/o guarde cualquier dispositivo distractor que impida su atención en esta exposición, por ejemplo: Celulares, tablets, PC, calculadoras, cuadernos de otras asignaturas, etc. Tome apuntes Gracias
  • 3. GENERALIDADES DATO Es la representación simbólica de un hecho, atributo o característica de una entidad. Ejm: nota de un alumno, nombre de un docente, color de un carro, etc. INFORMACION Es un dato útil. Ejm. El promedio final de un alumno para un curso, número de aprobados en un examen, nombre de los primeros alumnos de cada especialidad por cada ciclo. La información se obtiene mediante el procesamiento de los datos
  • 4. Procesador Entrada Salid a Algoritmo DATO S INFORMACIO N  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, etc) Automatizado (uso del computador) PROCESAMIENTO DE DATOS Operaciones que transforman datos en información
  • 7. HARDWARE (componentes físicos) Unidades Periféricas De Entrada Ejem. Teclado Mouse Escaner, etc Unidades Periféricas De Salida Ejm. Impresora Monitor, Parlantes, etc. Unidades de Almacenamiento. Ejem. Disquete, Discos compactos, Discos duros, etc. Unidad de Control Unidad Aritmética Y Lógica Memoria Principal RAM y ROM UNIDAD CENTRAL DE PROCESO
  • 8. SOFTWARE (Conjunto de Programas) TIPOS DE SOFTWARE: - Sistemas operativos Ejm. DOS, Windows, Linux, etc. - Aplicaciones de uso general Ejm. Word, Excel, Power Point, etc. - Aplicaciones de uso específico Ejm. sistema de notas, sistema de facturación, etc) Programa 1 Programa 2 Programa 3 MEMORIA RAM
  • 9. FASES PARA LA CONSTRUCCION DE UN PROGRAMA SOLUCION DEL PROBLEMA IMPLEMENTACION EN LA COMPUTADORA Dato s Algoritmo Programa (Software) Análisis del problema Diseño del algoritmo Verificación del algoritmoError de lógica OK Codificación del algoritmo (programa) Ejecución del programa Verificación del programa Programa Error sintaxis OK Algoritmo
  • 10. ALGORITMO Secuencia ordenada de pasos (acciones) para resolver un problema. Se expresa en lenguaje natural PROGRAMA Es el algoritmo escrito en un lenguaje de programación para ser ejecutado por el computador. 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. Ejm. C++, Pascal, Basic, Prolog, Java, etc  Lenguaje de bajo nivel: lenguaje mnemotécnico. Ejm. ADD M, N, P  Lenguaje de máquina: lenguaje binario (0 y 1) entendible directamente por el computador. Ejm. 0110 1001 1010 1011
  • 11. 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. TRADUCTORES DE LENGUAJE Programas que traducen programas fuente a lenguaje de máquina. Programa Fuente Compilador Programa Objeto Programa Fuente Intérprete Ejecución del Programa Instrucción en leng.máq. Ejecución de la Instrucción Tipos de Traductores: Compiladores e Intérpretes instrucción
  • 12. D A T O S
  • 13. Tipos de Datos (reconocidos por el computador): DATOS BASICOS COMPUESTO S Numéricos Caracter Lógico Estático Dinámico -Arreglos -Registros -Archivos -Listas -Arboles -Grafos -Enteros -Reales
  • 14. DATOS SIMPLES O DATOS BASICOS  DATOS NUMERICOS Enteros y Reales El rango y precisión de los datos numéricos depende del lenguaje de programación que se utilice. DATOS TIPO CARACTER Conjunto de caracteres que el computador reconoce. Se encuentran normalizados bajo el código ASCII o EBCDIC Se tienen: Caracteres alfabéticos: A - Z ; a - z Caracteres numéricos: 0 - 9 Caracteres especiales: *, / , +, >, <, =, etc.  DATOS TIPO LOGICO Conjunto formado por dos valores lógicos: verdad, falso
  • 15. Operaciones con los datos OPERACIONES INTERVIENEN OPERADORES RESULTADO ARITMETICAS Datos Numéricos Aritméticos +, - , *, /, resto, entero Dato Numérico DE COMPARACION Datos del mismo tipo Relacionales >, <, >=, <=, = Dato Lógico LOGICAS Datos lógicos Lógicos No, Y, O Dato lógico
  • 16. IMPORTANTE: En operaciones aritméticas: Muchos lenguajes cuentan con operadores adicionales a los conocidos como los operadores para datos enteros: entero (a/b): división entera de a/b resto (a/b): resto de la división entera de a/b Ejm. 10+ resto(5/3) Resultado: 12 En operaciones de Comparación: En la comparación de datos tipo carácter se tiene: ‘0’<‘1’<‘2’<..<’9’<‘A’<‘B’<…<‘Z’<‘a’<‘b’<..<‘z’ En datos tipo lógico: falso < verdad
  • 17. Expresión de los datos Un dato puede venir expresado como: constantes, variables, expresiones, funciones, etc.  CONSTANTE Es un dato (de cualquier tipo) cuyo valor no cambia durante la ejecución del algoritmo o programa. Tipos de constantes:  Literal: es un valor expresado en forma explícita. Ejm. 3.1416  Simbólica: viene expresado bajo un nombre que guarda su valor Ejm. Pi (Previamente se debe definir que Pi = 3.1416)
  • 18.  VARIABLE  Es un objeto (porción de memoria) que almacena un dato  Para definir una variable es necesario: - Darle un Nombre - Indicar el tipo de dato que va almacenar OJO: El valor de una variable puede cambiar durante la ejecución del algoritmo. Tipos de variables: Entero: Ejm. nota, edad, examen, Real: Ejm. promedio, sueldo, talla Carácter: Ejm. sección, sexo, Lógica: Ejm. Fin, encontrado, vale
  • 19. Operador de asignación Se utiliza para almacenar un dato en una variable, perdiéndose cualquier otro valor previamente almacenado en ella.  Se representa con el símbolo  Ejem. Nota  12.3 Nota  Nota +2 12.3 Nota Memoria RAM 14.3
  • 20.  EXPRESIONES Es una combinación de operandos y operadores Tipos:  Expresiones aritméticas Operando: constantes, variables y expres. numér. Operadores: aritméticos Resultado: numérico Ejm. (EP + 2*EF + PP)/4  Expresiones lógicas Operando: constantes, variables y expres. lógicas Operadores: lógicos y relacionales Resultado: lógico Ejm. (PP>6.1 y PF>6.1)
  • 21.  FUNCIONES 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. Ejm. En C++ Abs(X): devuelve el valor absoluto del número entero X Sqrt(X): devuelve la raiz cuadrada del número X (X>=0) Identificadores  Son 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.
  • 22. ACUMULADOR  Es una variable cuyo valor aumenta o disminuye en una cantidad variable cada vez que se produce un determinado suceso o acción.  Debe ser inicializado Ejm. Se desea acumular las notas de prácticas de un alumno Sum 0 (el valor de sum es 0) sum  sum + 13 (el valor de sum es 13) sum  sum + 10 (el valor de sum es 23) CONTADOR  Es un acumulador cuyo valor aumenta o disminuye en una cantidad constante cada vez que se produce un determinado suceso o acción.  Se usa para contar sucesos. Ejm. Contar número de aprobados VARIABLES IMPORTANTES
  • 24. ALGORITMO  Secuencia 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 algoritmo  Preciso: 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.
  • 25. TECNICA DE PROGRAMACION ESTRUCTURADA 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 abstractos Descompone una acción compleja en acciones simples capaces de ser ejecutadas por un computador ( instrucciones )  Estructuras de control básicas Un programa se escribe utilizando 3 estructuras de control: EC Secuenciales, EC Selectivas, EC Repetitivas
  • 26. INSTRUCCIONES Son las acciones que van a ser ejecutadas por el computador para resolver el problema. TIPOS :  Instrucciones de Inicio/Fin : Indica el Inicio y el Fin del algoritmo  Instrucciones 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, impresora, etc.
  • 27.  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 (lazo o loop).
  • 28. EJEMPLO DE ALGORITMO Se cuenta con las notas del Bimestral (Bm), Seguimiento (Sg), Autoevaluacion (Ae) de un alumno. Se sabe que el promedio final (PF) se calcula con la fórmula: PF=(Bm + Sg + Ae)/ 3 Si el alumno cumple con la siguiente condición: P3>3.0 gana la asignatura Escriba un algoritmo reciba las notas del alumno y luego muestre un mensaje indicando si el alumno ganó o perdió la asignatura En cualquier caso debe mostrar un mensaje diciendo si perdió o ganó y mostrar el promedio final (PF)
  • 29. Análisis Datos de entrada: Bm, Sg, Ae Salida: mensaje y PF Algoritmo Inicio del algoritmo Ingresar las notas del alumno: Bm, Sg, Ae Calcular PF con la siguiente fórmula: PF=(Bm + Sg + Ae)/ 3 Si cumple la condición PF> 3.0 Mostrar el mensaje “Felicidades Ganó la Asignatura” y mostrar PF Si no cumple la condición entonces mostrar el mensaje “Lo siento, perdió la asignatura” y mostrar PF Fin del algoritmo.
  • 30. HERRAMIENTAS PARA LA REPRESENTACION DE ALGORITMOS Para representar los algoritmos en forma estandarizada, existen herramientas como:  Diagrama de flujo Técnica tipo gráfico  Pseudocódigo Lenguaje de especificación (palabras reservadas) en lenguaje natural  Diagrama de Nassi-Scheneiderman Es una combinación de las dos anteriores
  • 31. DIAGRAMA DE FLUJO PSEUDOCODIGO 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
  • 32. 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
  • 33. Escritura de un algoritmo en pseudocódigo CABECERA Contiene el nombre del algoritmo (opcional) Constantes Nombre-constante = valor Variables Tipo-dato: nombre de variables BLOQUE DE DECLARACIONES Se utilizan para asignar espacios en la RAM Se 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ón nombre de la variable  valor ó expresión •Comentarios (no se ejecutan) Sirven para escribir información interna para facilitar el mantenimiento del algoritmo. Formato: // comentario aAlgoritmo nombre del algoritmo Inicio instrucciones Fin
  • 34. El algoritmo en Pseudocódigo Algoritmo PROMEDIO Variables entero: EP, EF real: PP, PF Inicio Leer (EP, EF, PP) PF  (EP+PP+2*EF)/4 // Calcula PF Si (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
  • 35. ESTRUCTURAS DE CONTROL Un algoritmo debe ser escrito utilizando tres estructuras de control:  E.C. Secuencial Simple  E.C. Selectiva Doble Múltiple Desde  E.C. Múltiple Mientras Repetir - hasta
  • 36. Estructura SECUENCIAL Las acciones del algoritmo se ejecutan en el orden que se encuentran escritos. acción 1 acción 2 acción 3 ------- ------- acción n
  • 37. Estructuras Selectivas La ejecución de las acciones dependen del resultado de una condición. Se tienen tres tipos de estructuras selectivas: 1. SELECTIVA SIMPLE Las acciones se ejecutan si la condición es verdadera . condición acciones V F Pseudocódigo Si (condición) acción1 acción 2 ……… acción n fin-si
  • 38. 2. SELECTIVA DOBLE Si la condición es Verdadera se ejecutan unas acciones. Si la condición es Falsa se ejecutan otras acciones condición Acciones-F Acciones-V VF Pseudocódigo Si (condición) acciones 1 Sino acciones 2 Fin-si
  • 39. Gracias por la atención prestada