SlideShare una empresa de Scribd logo
1 de 37
Ing. Giovanni García Rodríguez
ISPA-SENA - Programación de software
22.02.2012
 Concepto de algoritmo, características
 Los lenguajes de programación
◦ Lenguajes de máquina
◦ Lenguajes de bajo nivel
◦ Lenguajes de alto nivel
◦ traductores de lenguaje (Interpretes,
Compiladores).
 La compilación y sus fases
 Datos
◦ tipos de datos
◦ operaciones primitivas
 Numéricos, Lógicos, carácter, cadena
 Constantes y variables
 Expresiones
◦ Aritméticas
◦ Lógicas
◦ Operación de asignación
◦ Diseño del algoritmo
◦ Condicionales simples y anidadas.
El programador debe resolver problemas de modo
eficaz y sistemático
◦ Definición/análisis del problema
◦ Diseño del ALGORITMO
◦ Transformación del algoritmo en programa
◦ Ejecución y validación del programa
 Método para resolver un problema
 Mohammed al-Khowarizmi (Persia, s.IX)
◦ Enunció reglas para sumar, restar, multiplicar,
dividir números decimales
 al-Khowarizmi  algorismus
 Secuencia finita de instrucciones, reglas o pasos
que describen de forma precisa las operaciones
de un ordenador debe realizar para llevar a cabo
un tarea en un tiempo mas finito. [Donald E.
Knuth, 1968]
 Descripción de un esquema de comportamiento
expresado mediante un repertorio finito de
acciones y de informaciones elementales,
identificadas, bien comprendidas y realizables a
priori. Este repertorio se denomina léxico [Pierre
Scholl, 1988]
 Un algoritmo es un conjunto finito de pasos
definidos, estructurados en el tiempo y
formulados con base a un conjunto finito de
reglas no ambiguas, que proveen un
procedimiento para dar la solución o indicar
la falta de esta a un problema en un tiempo
determinado. [Rodolfo Quispe-Otazu, 2004]
Definición/análisis del problema
Necesidades, límites, recursos…
◦ Diseño del ALGORITMO
 Secuencia ordenada de pasos
 Sin ambigüedades
◦ Transformación del algoritmo en programa
 A través de un lenguaje de programación
◦ Ejecución y validación del programa
 En un computador
 Independientes del lenguaje de programación
 Se puede expresar en distintos lenguajes y
ejecutar en plataformas distintas
 El algoritmo siempre será el mismo
 Ej. Recetas de cocina
◦ Idioma distinto, sin importar el cocinero
 Lenguaje de programación y plataforma
 = MEDIOS
Diseño de Algoritmos requiere:
 Grandes dosis de creatividad
 Conocimientos profundos de programación
Todo problema se puede describir por medio
de un algoritmo
1. Debe ser preciso e indicar el orden de realización
de cada paso.
2. Debe estar definido.
Si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez
3. Debe ser finito.
Debe terminar en algún momento. Número finito de pasos
4. Tener cero o más entradas
5. Tener una o más salidas
Siempre debe devolver “algo“
6. Efectividad
El tiempo y esfuerzo por cada paso realizado debe ser
preciso
◦ Entrada
 Datos a manipular
 Recursos del sistema
◦ Proceso
 La solución del problema a través del algoritmo
planteado
◦ Salida
 Resultado esperado y a través de distintas formas
 Pantalla, impresión, indicadores, etc
Un cliente hace un pedido a una fábrica. La
fábrica examina ficha de cliente. Si el cliente
es solvente, la empresa acepta el pedido, de
caso contrario, debe ser rechazado el pedido.
1. Inicio
2. Leer pedido
3. Examinar ficha de cliente
4. SI el cliente es solvente, ACEPTAR pedido. SI
NO, rechazar pedido
5. Fin
 Elabore algoritmo para convertir un número
en base decimal a número binario.
 El algoritmo se debe expresar en un formato
llamado PROGRAMA
 Escrito en un Lenguaje de programación
 Operaciones que expresan un algoritmo en
forma de programa: PROGRAMACIÓN
 Tipos:
◦ Lenguaje de Máquina
◦ Lenguaje de bajo nivel
◦ Lenguaje de alto nivel
 Diferentes pasos de un algoritmo
◦ Instrucciones, sentencias o proposiciones
 Un programa consta de
◦ Secuencia de instrucciones
◦ Cada una especifica ciertas operaciones
◦ Ejecutar el computador
 Instrucciones de Entrada/Salida
◦ Transferencia de data entre periféricos y memoria
central
 Instrucciones aritmético lógicas
◦ Operaciones aritméticas y lógicas
 Instrucciones selectivas
◦ Selección de tareas alternativas
 Instrucciones repetitivas
◦ Permiten la repetición de secuencias de
instrucciones en un número
determinado/indeterminado de veces
 Escritos directamente inteligible por la máquina
 Instrucciones son cadenas binarias (1/0) que
especifican operación
 posiciones de memoria (dirección): instrucciones
de máquina o código máquina
 Dependen del hardware de la computadora
(procesador)
◦ Intel
◦ PowerPc
◦ Nvidia Tegra
◦ Texas Instruments, etc
 Ventajas
◦ Transferir un programa al a memoria sin necesidad
de una traducción posterior
◦ Velocidad de ejecución superior
 Desventajas
◦ Dificultad y lentitud en codificación
◦ Poca fiabilidad
◦ Dificultad para verificar y poner a punto
◦ Los programas sólo son ejecutables en el mismo
procesador
 Más sencillos de L.Máquina
 Dependen de procesador
 Ensamblador (assembler language)
 Instrucciones  nemotécnicos (mnemonics)
◦ Contracciones de palabras comunes
◦ ADD M, N, P
 Requiere traducción
◦ Original: programa fuente
◦ Traducción: programa objeto
◦ Traductor: programa ensamblador
 Ventaja (frente a L.M)
◦ Mayor facilidad de codificación
◦ Velocidad de cálculo
 Desventajas
◦ Dependencia total de la máquina
◦ No transportabilidad
◦ PC != Apple Macintosh
◦ Formación del programador es más compleja
 Técnicas + conocimiento interior de la máquina
 Uso:
◦ Aplicaciones de tiempo real, control, dispositivos
electrónicos
 Uso más extendido por programadores
 Más entendibles que anteriores
 Independiente de la máquina
 No dependen del diseño del hardware
 Transportabilidad
◦ Ejecución con poca o ninguna modificación
 Ventajas:
◦ Formación de programadores es corto
◦ Escritura basada en reglas sintácticas de lenguajes
humanos
 READ
 WRITE
 PRINT
 OPEN, etc
◦ Modificar un programa es más fácil
◦ Reducción del coste del programa
◦ Transportabilidad
 Desventajas
◦ Incremento de tiempo de puesta a punto (traducción del
programa fuente)
◦ No se aprovecha recursos internos de la máquina
◦ Aumenta el uso de memoria
◦ Tiempo de ejecución del programa es mayor.
 Programa fuente debe ser traducido por
compiladores e intérpretes.
  C, C++, C#, Visual Basic, Java, Delphi, PHP,
ASP, SQL, JavaScript, Python, etc…
Programa Fuente
Intérprete
Traducción y
ejecución Línea a línea
 Lenguaje Interpretado: soporta traductor de tipo intérprete
 BASIC
Programa Fuente
compilador
Programa objeto
 Lenguaje de alto nivel  a lenguaje máquina
Montador / Linker
Prog. Ejecutable en Languaje máquina
Ensamblador
Edición
Memoria
Verificación
(Sintáxis, errores)
 DATO:
◦ expresión general que describe los objetos con los
cuales opera un computador
◦ Datos Simples
 Numéricos
 Lógicos
 Caracter
◦ Datos Estructurados
 Creados a partir de datos simples
 Valores numéricos
 Tipo entero (integer)
◦ Números enteros, sin componente decimal
◦ Positivos o negativos
 5 78959
 80 -1254
 -59 0
◦ Límite o rango de acuerdo al tipo de lenguaje
 Tipo real (real)
◦ Números reales, componente decimal, (+/-)
◦ 0.08 -568.45783 3.14159565
◦ 2,71828183
 Datos tipo booleano
 Toma solo dos valores
◦ TRUE = verdadero
◦ FALSE = falso
 Representar alternativas
 Caracteres que el computador reconoce
 Contiene un solo carácter
◦ Alfabéticos A, B, C… Z, a, b, c…. z
◦ Numéricos 0,1,2…9
◦ Especiales + - * / . , < > # $
 Cadena (string)
◦ Sucesión de caracteres
◦ Limitados por (‘) o (“). Det. Longitud
◦ “Hola mundo”
◦ ‘Instituto San Pablo Apóstol’
 Constantes:
◦ Valores que no cambian durante la ejecución de
programa
 Variables
◦ Cambian en cualquier momento al ejecutar el
programa
◦ Vars. de cierto tipo SOLO toma valores de ese tipo
de dato
◦ Atributos:
 Nombre (identificadores)
 Tipo que describe el uso de la var.
 Combinación de:
◦ const, vars, símbolos de operación, paréntesis y
nombre de funciones especiales.
 Operandos y operadores
 Según tipo de datos
◦ Aritméticas
◦ Relacionales
◦ Lógicas
◦ Carácter
 Analogía a fórmulas matemáticas
◦ Operadores
◦ Suma +
◦ Resta -
◦ Multiplicación *
◦ División /
◦ Exponenciación **, ^
◦ División entera div
◦ Módulo (residuo) mod , %
 5 + 6 + 8/9 - 2 ^ 5
 A. Operaciones encerradas entre paréntesis
se evalúan primero. Los más internos se
evalúan primero
 B. Operaciones aritméticas en este orden:
1. Exponencial
2. *, /
3. +, -
4. Div, mod
5. De izquierda a derecha
 De Relación
 < Menor que
 > Mayor que
 = igual que
 <= menor o igual que
 >= mayor o igual que
 <> distinto de
 Expresion1 OperadorDeRelación Expresion2
 Operadores lógicos
◦ Not (no)
◦ And (y)
◦ Or (o)
 Prioridad según el lenguaje de programación
02 algoritmos

Más contenido relacionado

La actualidad más candente

Presentacion_Lenguajes_Programacion
Presentacion_Lenguajes_ProgramacionPresentacion_Lenguajes_Programacion
Presentacion_Lenguajes_Programacionymendal
 
Algoritmos y pseudocodigo imagenes
Algoritmos y pseudocodigo imagenesAlgoritmos y pseudocodigo imagenes
Algoritmos y pseudocodigo imagenesdafemehe
 
Introdución a la programacion
Introdución a la programacionIntrodución a la programacion
Introdución a la programacionDiego Santimateo
 
Clase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionClase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionjoel210696
 
Assembler apesteguia (1)
Assembler apesteguia (1)Assembler apesteguia (1)
Assembler apesteguia (1)tonytenorio2
 
Conceptos básicos para la programación
Conceptos básicos para la programaciónConceptos básicos para la programación
Conceptos básicos para la programaciónErika Sánchez
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionlupitagarcia07
 
Generalidades del lenguaje ensamblador
Generalidades del lenguaje ensambladorGeneralidades del lenguaje ensamblador
Generalidades del lenguaje ensambladorsalvaradomar
 
Tutorial conceptos programacion
Tutorial conceptos programacionTutorial conceptos programacion
Tutorial conceptos programacionMichele André
 
Fundamentos de programación de computadores
Fundamentos de programación de computadoresFundamentos de programación de computadores
Fundamentos de programación de computadoresNatu Orjuela
 
Programación (Tarea IV)
Programación (Tarea IV)Programación (Tarea IV)
Programación (Tarea IV)Brayan Rivera
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionKarina Molina
 
Algoritmos y pseudocodigos.
Algoritmos y pseudocodigos.Algoritmos y pseudocodigos.
Algoritmos y pseudocodigos.srm28
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programaciónZarlenin docente
 

La actualidad más candente (20)

Presentacion_Lenguajes_Programacion
Presentacion_Lenguajes_ProgramacionPresentacion_Lenguajes_Programacion
Presentacion_Lenguajes_Programacion
 
Algoritmos y pseudocodigo imagenes
Algoritmos y pseudocodigo imagenesAlgoritmos y pseudocodigo imagenes
Algoritmos y pseudocodigo imagenes
 
Introdución a la programacion
Introdución a la programacionIntrodución a la programacion
Introdución a la programacion
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Clase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionClase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacion
 
Unidad 1 clase 1 - fp
Unidad 1   clase 1 - fpUnidad 1   clase 1 - fp
Unidad 1 clase 1 - fp
 
Assembler apesteguia (1)
Assembler apesteguia (1)Assembler apesteguia (1)
Assembler apesteguia (1)
 
Conceptos básicos para la programación
Conceptos básicos para la programaciónConceptos básicos para la programación
Conceptos básicos para la programación
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
GLOSARIO TECNICO
GLOSARIO TECNICOGLOSARIO TECNICO
GLOSARIO TECNICO
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacion
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Generalidades del lenguaje ensamblador
Generalidades del lenguaje ensambladorGeneralidades del lenguaje ensamblador
Generalidades del lenguaje ensamblador
 
Tutorial conceptos programacion
Tutorial conceptos programacionTutorial conceptos programacion
Tutorial conceptos programacion
 
Fundamentos de programación de computadores
Fundamentos de programación de computadoresFundamentos de programación de computadores
Fundamentos de programación de computadores
 
Programación (Tarea IV)
Programación (Tarea IV)Programación (Tarea IV)
Programación (Tarea IV)
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Clase de algoritmos
Clase de algoritmosClase de algoritmos
Clase de algoritmos
 
Algoritmos y pseudocodigos.
Algoritmos y pseudocodigos.Algoritmos y pseudocodigos.
Algoritmos y pseudocodigos.
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 

Similar a 02 algoritmos

Similar a 02 algoritmos (20)

Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Clase 1 - Programación.pptx
Clase 1 - Programación.pptxClase 1 - Programación.pptx
Clase 1 - Programación.pptx
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Algoritmos y pseudocodigo
Algoritmos y pseudocodigoAlgoritmos y pseudocodigo
Algoritmos y pseudocodigo
 
NIVELES DE LENGUAJES DE PROGRAMACION
NIVELES DE LENGUAJES DE PROGRAMACIONNIVELES DE LENGUAJES DE PROGRAMACION
NIVELES DE LENGUAJES DE PROGRAMACION
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
 
Semana 2 Lenguajes de programación.pptx
Semana 2  Lenguajes de programación.pptxSemana 2  Lenguajes de programación.pptx
Semana 2 Lenguajes de programación.pptx
 
Metodología de la programación
Metodología de la programaciónMetodología de la programación
Metodología de la programación
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Algoritmos - Curso UNE
Algoritmos - Curso UNEAlgoritmos - Curso UNE
Algoritmos - Curso UNE
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Presentacion
PresentacionPresentacion
Presentacion
 
Actividad....... 26
Actividad....... 26Actividad....... 26
Actividad....... 26
 
Programación.
Programación.Programación.
Programación.
 
Tema1b 120417003759-phpapp01
Tema1b 120417003759-phpapp01Tema1b 120417003759-phpapp01
Tema1b 120417003759-phpapp01
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
ALGORITMOS.ppsx
ALGORITMOS.ppsxALGORITMOS.ppsx
ALGORITMOS.ppsx
 
Programación estructurada presentación
Programación estructurada presentaciónProgramación estructurada presentación
Programación estructurada presentación
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 

Más de Helver Gilberto Parra Gonzalez

Guia de aprendizaje desarrollo personal e interaccion social
Guia de aprendizaje desarrollo personal e interaccion socialGuia de aprendizaje desarrollo personal e interaccion social
Guia de aprendizaje desarrollo personal e interaccion socialHelver Gilberto Parra Gonzalez
 
Talleres y actividades ludicas desarrollo personal e interaccion social
Talleres y actividades ludicas desarrollo personal e interaccion socialTalleres y actividades ludicas desarrollo personal e interaccion social
Talleres y actividades ludicas desarrollo personal e interaccion socialHelver Gilberto Parra Gonzalez
 

Más de Helver Gilberto Parra Gonzalez (20)

Ley 1801-codigo-nacional-policia-convivencia
Ley 1801-codigo-nacional-policia-convivenciaLey 1801-codigo-nacional-policia-convivencia
Ley 1801-codigo-nacional-policia-convivencia
 
Guia de aprendizaje desarrollo personal e interaccion social
Guia de aprendizaje desarrollo personal e interaccion socialGuia de aprendizaje desarrollo personal e interaccion social
Guia de aprendizaje desarrollo personal e interaccion social
 
Talleres y actividades ludicas desarrollo personal e interaccion social
Talleres y actividades ludicas desarrollo personal e interaccion socialTalleres y actividades ludicas desarrollo personal e interaccion social
Talleres y actividades ludicas desarrollo personal e interaccion social
 
Pensamiento inteligente
Pensamiento inteligentePensamiento inteligente
Pensamiento inteligente
 
Trabajo final word basico
Trabajo final word basicoTrabajo final word basico
Trabajo final word basico
 
Talleres 1 y 2
Talleres 1 y 2Talleres 1 y 2
Talleres 1 y 2
 
Carta 1
Carta 1Carta 1
Carta 1
 
Manual wordbasico2010
Manual wordbasico2010Manual wordbasico2010
Manual wordbasico2010
 
Poema
PoemaPoema
Poema
 
Ejercicio para desarrollar sesion 4(1)
Ejercicio para desarrollar sesion 4(1)Ejercicio para desarrollar sesion 4(1)
Ejercicio para desarrollar sesion 4(1)
 
Ejercicio para desarrollar sesion 4
Ejercicio para desarrollar sesion 4Ejercicio para desarrollar sesion 4
Ejercicio para desarrollar sesion 4
 
Concepto contabilidad 4 ctasnomoresul
Concepto contabilidad 4 ctasnomoresulConcepto contabilidad 4 ctasnomoresul
Concepto contabilidad 4 ctasnomoresul
 
Concepto contabilidad 3
Concepto contabilidad 3Concepto contabilidad 3
Concepto contabilidad 3
 
Ejercicio para desarrollar sesion 3
Ejercicio para desarrollar sesion 3Ejercicio para desarrollar sesion 3
Ejercicio para desarrollar sesion 3
 
Concepto contabilidad 2
Concepto contabilidad 2Concepto contabilidad 2
Concepto contabilidad 2
 
Concepto empresa
Concepto empresaConcepto empresa
Concepto empresa
 
Guia 2 ingles convenio poli-sena88
Guia 2 ingles   convenio poli-sena88Guia 2 ingles   convenio poli-sena88
Guia 2 ingles convenio poli-sena88
 
Guia 1 ingles convenio poli-sena88
Guia 1 ingles   convenio poli-sena88Guia 1 ingles   convenio poli-sena88
Guia 1 ingles convenio poli-sena88
 
Guia 3 ingles convenio poli-sena88
Guia 3 ingles   convenio poli-sena88Guia 3 ingles   convenio poli-sena88
Guia 3 ingles convenio poli-sena88
 
Guia 1 so issal ltda
Guia 1 so issal ltdaGuia 1 so issal ltda
Guia 1 so issal ltda
 

Último

PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 

Último (20)

PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 

02 algoritmos

  • 1. Ing. Giovanni García Rodríguez ISPA-SENA - Programación de software 22.02.2012
  • 2.  Concepto de algoritmo, características  Los lenguajes de programación ◦ Lenguajes de máquina ◦ Lenguajes de bajo nivel ◦ Lenguajes de alto nivel ◦ traductores de lenguaje (Interpretes, Compiladores).  La compilación y sus fases
  • 3.  Datos ◦ tipos de datos ◦ operaciones primitivas  Numéricos, Lógicos, carácter, cadena  Constantes y variables  Expresiones ◦ Aritméticas ◦ Lógicas ◦ Operación de asignación ◦ Diseño del algoritmo ◦ Condicionales simples y anidadas.
  • 4. El programador debe resolver problemas de modo eficaz y sistemático ◦ Definición/análisis del problema ◦ Diseño del ALGORITMO ◦ Transformación del algoritmo en programa ◦ Ejecución y validación del programa
  • 5.  Método para resolver un problema  Mohammed al-Khowarizmi (Persia, s.IX) ◦ Enunció reglas para sumar, restar, multiplicar, dividir números decimales  al-Khowarizmi  algorismus
  • 6.  Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]  Descripción de un esquema de comportamiento expresado mediante un repertorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomina léxico [Pierre Scholl, 1988]
  • 7.  Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]
  • 8. Definición/análisis del problema Necesidades, límites, recursos… ◦ Diseño del ALGORITMO  Secuencia ordenada de pasos  Sin ambigüedades ◦ Transformación del algoritmo en programa  A través de un lenguaje de programación ◦ Ejecución y validación del programa  En un computador
  • 9.  Independientes del lenguaje de programación  Se puede expresar en distintos lenguajes y ejecutar en plataformas distintas  El algoritmo siempre será el mismo  Ej. Recetas de cocina ◦ Idioma distinto, sin importar el cocinero  Lenguaje de programación y plataforma  = MEDIOS
  • 10. Diseño de Algoritmos requiere:  Grandes dosis de creatividad  Conocimientos profundos de programación Todo problema se puede describir por medio de un algoritmo
  • 11. 1. Debe ser preciso e indicar el orden de realización de cada paso. 2. Debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez 3. Debe ser finito. Debe terminar en algún momento. Número finito de pasos 4. Tener cero o más entradas 5. Tener una o más salidas Siempre debe devolver “algo“ 6. Efectividad El tiempo y esfuerzo por cada paso realizado debe ser preciso
  • 12. ◦ Entrada  Datos a manipular  Recursos del sistema ◦ Proceso  La solución del problema a través del algoritmo planteado ◦ Salida  Resultado esperado y a través de distintas formas  Pantalla, impresión, indicadores, etc
  • 13. Un cliente hace un pedido a una fábrica. La fábrica examina ficha de cliente. Si el cliente es solvente, la empresa acepta el pedido, de caso contrario, debe ser rechazado el pedido. 1. Inicio 2. Leer pedido 3. Examinar ficha de cliente 4. SI el cliente es solvente, ACEPTAR pedido. SI NO, rechazar pedido 5. Fin
  • 14.  Elabore algoritmo para convertir un número en base decimal a número binario.
  • 15.  El algoritmo se debe expresar en un formato llamado PROGRAMA  Escrito en un Lenguaje de programación  Operaciones que expresan un algoritmo en forma de programa: PROGRAMACIÓN  Tipos: ◦ Lenguaje de Máquina ◦ Lenguaje de bajo nivel ◦ Lenguaje de alto nivel
  • 16.  Diferentes pasos de un algoritmo ◦ Instrucciones, sentencias o proposiciones  Un programa consta de ◦ Secuencia de instrucciones ◦ Cada una especifica ciertas operaciones ◦ Ejecutar el computador
  • 17.  Instrucciones de Entrada/Salida ◦ Transferencia de data entre periféricos y memoria central  Instrucciones aritmético lógicas ◦ Operaciones aritméticas y lógicas  Instrucciones selectivas ◦ Selección de tareas alternativas  Instrucciones repetitivas ◦ Permiten la repetición de secuencias de instrucciones en un número determinado/indeterminado de veces
  • 18.  Escritos directamente inteligible por la máquina  Instrucciones son cadenas binarias (1/0) que especifican operación  posiciones de memoria (dirección): instrucciones de máquina o código máquina  Dependen del hardware de la computadora (procesador) ◦ Intel ◦ PowerPc ◦ Nvidia Tegra ◦ Texas Instruments, etc
  • 19.  Ventajas ◦ Transferir un programa al a memoria sin necesidad de una traducción posterior ◦ Velocidad de ejecución superior  Desventajas ◦ Dificultad y lentitud en codificación ◦ Poca fiabilidad ◦ Dificultad para verificar y poner a punto ◦ Los programas sólo son ejecutables en el mismo procesador
  • 20.  Más sencillos de L.Máquina  Dependen de procesador  Ensamblador (assembler language)  Instrucciones  nemotécnicos (mnemonics) ◦ Contracciones de palabras comunes ◦ ADD M, N, P  Requiere traducción ◦ Original: programa fuente ◦ Traducción: programa objeto ◦ Traductor: programa ensamblador
  • 21.  Ventaja (frente a L.M) ◦ Mayor facilidad de codificación ◦ Velocidad de cálculo  Desventajas ◦ Dependencia total de la máquina ◦ No transportabilidad ◦ PC != Apple Macintosh ◦ Formación del programador es más compleja  Técnicas + conocimiento interior de la máquina  Uso: ◦ Aplicaciones de tiempo real, control, dispositivos electrónicos
  • 22.  Uso más extendido por programadores  Más entendibles que anteriores  Independiente de la máquina  No dependen del diseño del hardware  Transportabilidad ◦ Ejecución con poca o ninguna modificación
  • 23.  Ventajas: ◦ Formación de programadores es corto ◦ Escritura basada en reglas sintácticas de lenguajes humanos  READ  WRITE  PRINT  OPEN, etc ◦ Modificar un programa es más fácil ◦ Reducción del coste del programa ◦ Transportabilidad
  • 24.  Desventajas ◦ Incremento de tiempo de puesta a punto (traducción del programa fuente) ◦ No se aprovecha recursos internos de la máquina ◦ Aumenta el uso de memoria ◦ Tiempo de ejecución del programa es mayor.  Programa fuente debe ser traducido por compiladores e intérpretes.   C, C++, C#, Visual Basic, Java, Delphi, PHP, ASP, SQL, JavaScript, Python, etc…
  • 25. Programa Fuente Intérprete Traducción y ejecución Línea a línea  Lenguaje Interpretado: soporta traductor de tipo intérprete  BASIC
  • 26. Programa Fuente compilador Programa objeto  Lenguaje de alto nivel  a lenguaje máquina Montador / Linker Prog. Ejecutable en Languaje máquina Ensamblador Edición Memoria Verificación (Sintáxis, errores)
  • 27.  DATO: ◦ expresión general que describe los objetos con los cuales opera un computador ◦ Datos Simples  Numéricos  Lógicos  Caracter ◦ Datos Estructurados  Creados a partir de datos simples
  • 28.  Valores numéricos  Tipo entero (integer) ◦ Números enteros, sin componente decimal ◦ Positivos o negativos  5 78959  80 -1254  -59 0 ◦ Límite o rango de acuerdo al tipo de lenguaje  Tipo real (real) ◦ Números reales, componente decimal, (+/-) ◦ 0.08 -568.45783 3.14159565 ◦ 2,71828183
  • 29.  Datos tipo booleano  Toma solo dos valores ◦ TRUE = verdadero ◦ FALSE = falso  Representar alternativas
  • 30.  Caracteres que el computador reconoce  Contiene un solo carácter ◦ Alfabéticos A, B, C… Z, a, b, c…. z ◦ Numéricos 0,1,2…9 ◦ Especiales + - * / . , < > # $  Cadena (string) ◦ Sucesión de caracteres ◦ Limitados por (‘) o (“). Det. Longitud ◦ “Hola mundo” ◦ ‘Instituto San Pablo Apóstol’
  • 31.  Constantes: ◦ Valores que no cambian durante la ejecución de programa  Variables ◦ Cambian en cualquier momento al ejecutar el programa ◦ Vars. de cierto tipo SOLO toma valores de ese tipo de dato ◦ Atributos:  Nombre (identificadores)  Tipo que describe el uso de la var.
  • 32.  Combinación de: ◦ const, vars, símbolos de operación, paréntesis y nombre de funciones especiales.  Operandos y operadores  Según tipo de datos ◦ Aritméticas ◦ Relacionales ◦ Lógicas ◦ Carácter
  • 33.  Analogía a fórmulas matemáticas ◦ Operadores ◦ Suma + ◦ Resta - ◦ Multiplicación * ◦ División / ◦ Exponenciación **, ^ ◦ División entera div ◦ Módulo (residuo) mod , %  5 + 6 + 8/9 - 2 ^ 5
  • 34.  A. Operaciones encerradas entre paréntesis se evalúan primero. Los más internos se evalúan primero  B. Operaciones aritméticas en este orden: 1. Exponencial 2. *, / 3. +, - 4. Div, mod 5. De izquierda a derecha
  • 35.  De Relación  < Menor que  > Mayor que  = igual que  <= menor o igual que  >= mayor o igual que  <> distinto de  Expresion1 OperadorDeRelación Expresion2
  • 36.  Operadores lógicos ◦ Not (no) ◦ And (y) ◦ Or (o)  Prioridad según el lenguaje de programación