SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
Profesor Jaime Sousa
Facultad de Informática, Electrónica y Comunicación
Centro Regional Universitario de San Miguelito
Fundamentos de la programación
1
Página 2Fundamentos de la programación: Computadoras y programación
Los procesadores trabajan con ceros y unos (bits)
Unidad de memoria básica: Byte (8 bits)
(2 dígitos hexadecimales: 01011011 → 0101 1011 → 5B)
Lenguaje máquina
Códigos hexadecimales que representan instrucciones,
registros de la CPU, direcciones de memoria o datos
Instrucción Significado
A0 2F Acceder a la celda de memoria 2F
3E 01 Copiarlo el registro 1 de la ALU
A0 30 Acceder a la celda de memoria 30
3E 02 Copiarlo en el registro 2 de la ALU
1D Sumar
B3 31 Guardar el resultado en la celda de memoria 31
Página 3Fundamentos de la programación: Computadoras y programación
Lenguaje de bajo nivel
Dependiente de la máquina
Programación difícil
Nemotécnicos para los códigos hexadecimales:
A0 → READ 3E → REG 1D → ADD …
Mayor legibilidad:
READ 2F
REG 01
READ 30
REG 02
ADD
WRITE 31
Lenguaje de nivel medio
Página 4Fundamentos de la programación: Computadoras y programación
Código objeto
(lenguaje máquina)
Programa
ensamblador
Código fuente
(lenguaje ensamblador)
Página 5Fundamentos de la programación: Computadoras y programación
✓ Más cercanos a los lenguajes natural y matemático
resultado = dato1 + dato2;
✓ Mayor legibilidad, mayor facilidad de codificación
✓ Estructuración de datos / abstracción procedimental
Página 6Fundamentos de la programación: Computadoras y programación
Traducción
Compiladores:
Compilan y enlazan
programas completos
Intérpretes:
Compilan, enlazan
y ejecutan instrucción
a instrucción
Página 7Fundamentos de la programación: Computadoras y programación
Compilador
Enlazador
Código
objeto de
biblioteca
Código fuente
#include <iostream>
using namespace std;
int main()
{
cout << "Hola Mundo!" << endl;
return 0;
}
Código objeto 0100010100111010011100…
Programa
ejecutable
Para una arquitectura concreta
y un sistema operativo
Genealogía de lenguajes
Página 8Fundamentos de la programación: Computadoras y programación
BASIC
1964
Logo
1968
Ruby
1993
Python
1991
Eiffel
1986
Modula
1975
Fuente:
http://www.levenez.com/lang/
Versiones / Estándares
Prolog
1970
Haskell
1987
C#
2000
Java
1995C++
1983
Smalltalk
1971
Scheme
1975
PL/I
1964
Simula
1964
Ada
1979
C
1971
Pascal
1970
CPL
1963
COBOL
1959
ALGOL
1958
FORTRAN
1954
Lisp
1958
Página 9Fundamentos de la programación: Computadoras y programación
¿Qué es programar?
Especificar la estructura y el comportamiento de un programa,
así como probar que realiza su tarea adecuadamente y con un
rendimiento aceptable.
Programa: Transforma entrada en salida
Algoritmo: Secuencia de pasos y operaciones que debe realizar
el programa para resolver el problema.
El programa implementa el algoritmo en un lenguaje concreto
SalidaPrograma
Página 10Fundamentos de la programación: Computadoras y programación
Entrada
La programación es sólo una etapa del proceso de desarrollo
Modelo de desarrollo “en cascada”:
Página 11Fundamentos de la programación: Computadoras y programación
Mantenimiento
Prueba y depuración
Programación
Diseño
Análisis
Planificación Recursos necesarios, presupuesto, plan, …
¿Qué?
¿Cómo?
Implementación
Página 12Fundamentos de la programación: Computadoras y programación

Más contenido relacionado

La actualidad más candente

Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensambladorjoseruiz_66
 
Conceptos basicos de programacion
Conceptos basicos de programacionConceptos basicos de programacion
Conceptos basicos de programacionBarbara brice?
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensambladorjuan1993are
 
Lenguaje ensamblador
Lenguaje ensamblador   Lenguaje ensamblador
Lenguaje ensamblador duvalin02
 
Linea del tiempo.
Linea del tiempo.Linea del tiempo.
Linea del tiempo.LorenaCMtz
 

La actualidad más candente (8)

Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
ARDUINO
ARDUINOARDUINO
ARDUINO
 
Assambler
AssamblerAssambler
Assambler
 
Clasificacion de los lenguajes abel
Clasificacion de los lenguajes abelClasificacion de los lenguajes abel
Clasificacion de los lenguajes abel
 
Conceptos basicos de programacion
Conceptos basicos de programacionConceptos basicos de programacion
Conceptos basicos de programacion
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador
Lenguaje ensamblador   Lenguaje ensamblador
Lenguaje ensamblador
 
Linea del tiempo.
Linea del tiempo.Linea del tiempo.
Linea del tiempo.
 

Similar a Lenguaje de Programación

Similar a Lenguaje de Programación (20)

FUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓNFUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN
 
FP01 (1).pptx
FP01 (1).pptxFP01 (1).pptx
FP01 (1).pptx
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
Presentacion_Programacion.pptx
Presentacion_Programacion.pptxPresentacion_Programacion.pptx
Presentacion_Programacion.pptx
 
02- Clase 1 - UD2 - Lenguajes.pdf
02- Clase 1 - UD2 -  Lenguajes.pdf02- Clase 1 - UD2 -  Lenguajes.pdf
02- Clase 1 - UD2 - Lenguajes.pdf
 
Ec2
Ec2Ec2
Ec2
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Como programar un pic
Como programar un pic  Como programar un pic
Como programar un pic
 
Introduccion_a_la_programacion.pdf
Introduccion_a_la_programacion.pdfIntroduccion_a_la_programacion.pdf
Introduccion_a_la_programacion.pdf
 
Fase3 t1-introduccion- a-la- programacion new
Fase3 t1-introduccion- a-la- programacion newFase3 t1-introduccion- a-la- programacion new
Fase3 t1-introduccion- a-la- programacion new
 
Clase 6 introduccion_a_la_programacion
Clase 6 introduccion_a_la_programacionClase 6 introduccion_a_la_programacion
Clase 6 introduccion_a_la_programacion
 
Conferencia1
Conferencia1Conferencia1
Conferencia1
 
Conferencia1 - Programacion de Computadores
Conferencia1 - Programacion de ComputadoresConferencia1 - Programacion de Computadores
Conferencia1 - Programacion de Computadores
 
Conferencia1
Conferencia1Conferencia1
Conferencia1
 
Semana II Clase 1
Semana II Clase 1 Semana II Clase 1
Semana II Clase 1
 
Universidad De Los Andes
Universidad De Los AndesUniversidad De Los Andes
Universidad De Los Andes
 
Presentación Informática
Presentación InformáticaPresentación Informática
Presentación Informática
 
5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas
 
01 - Introducción al lenguaje de programación Python 3
01 - Introducción al lenguaje de programación Python 301 - Introducción al lenguaje de programación Python 3
01 - Introducción al lenguaje de programación Python 3
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 

Más de Jaime Alberto Sousa Adames

Practicas de flujogramas 5 - mayor de 3 números y menor
Practicas de flujogramas 5 - mayor de 3 números y menorPracticas de flujogramas 5 - mayor de 3 números y menor
Practicas de flujogramas 5 - mayor de 3 números y menorJaime Alberto Sousa Adames
 
Rubrica de Evaluación de Experto de Informática
Rubrica de Evaluación de Experto de InformáticaRubrica de Evaluación de Experto de Informática
Rubrica de Evaluación de Experto de InformáticaJaime Alberto Sousa Adames
 
Rubrica de Evaluación de Experto de Contenido
Rubrica de Evaluación de Experto de ContenidoRubrica de Evaluación de Experto de Contenido
Rubrica de Evaluación de Experto de ContenidoJaime Alberto Sousa Adames
 
Rubrica de Evaluación de Experto de Metodología
Rubrica de Evaluación de Experto de MetodologíaRubrica de Evaluación de Experto de Metodología
Rubrica de Evaluación de Experto de MetodologíaJaime Alberto Sousa Adames
 
Metodología de la Investigación - Conceptos básicos
Metodología de la Investigación  -  Conceptos básicosMetodología de la Investigación  -  Conceptos básicos
Metodología de la Investigación - Conceptos básicosJaime Alberto Sousa Adames
 
Metodología para Selección o Desarrollo de MECs
Metodología para Selección o Desarrollo de MECsMetodología para Selección o Desarrollo de MECs
Metodología para Selección o Desarrollo de MECsJaime Alberto Sousa Adames
 
Metodologías para el Desarrollo de Software Educativo
Metodologías para el Desarrollo de Software EducativoMetodologías para el Desarrollo de Software Educativo
Metodologías para el Desarrollo de Software EducativoJaime Alberto Sousa Adames
 

Más de Jaime Alberto Sousa Adames (20)

Guía básica para programar en PSeint
Guía básica para programar en PSeintGuía básica para programar en PSeint
Guía básica para programar en PSeint
 
Introducción a la Programación
Introducción a la Programación Introducción a la Programación
Introducción a la Programación
 
Practicas de flujogramas 5 - mayor de 3 números y menor
Practicas de flujogramas 5 - mayor de 3 números y menorPracticas de flujogramas 5 - mayor de 3 números y menor
Practicas de flujogramas 5 - mayor de 3 números y menor
 
Rubrica de Evaluación de Experto de Informática
Rubrica de Evaluación de Experto de InformáticaRubrica de Evaluación de Experto de Informática
Rubrica de Evaluación de Experto de Informática
 
Rubrica de Evaluación de Experto de Contenido
Rubrica de Evaluación de Experto de ContenidoRubrica de Evaluación de Experto de Contenido
Rubrica de Evaluación de Experto de Contenido
 
Rubrica de Evaluación de Experto de Metodología
Rubrica de Evaluación de Experto de MetodologíaRubrica de Evaluación de Experto de Metodología
Rubrica de Evaluación de Experto de Metodología
 
Evaluación de Software Educativo - 2021
Evaluación de Software Educativo - 2021Evaluación de Software Educativo - 2021
Evaluación de Software Educativo - 2021
 
Resolución de Problemas
Resolución de ProblemasResolución de Problemas
Resolución de Problemas
 
Metodología de la Investigación - Conceptos básicos
Metodología de la Investigación  -  Conceptos básicosMetodología de la Investigación  -  Conceptos básicos
Metodología de la Investigación - Conceptos básicos
 
Metodología para Selección o Desarrollo de MECs
Metodología para Selección o Desarrollo de MECsMetodología para Selección o Desarrollo de MECs
Metodología para Selección o Desarrollo de MECs
 
Metodologías para el Desarrollo de Software Educativo
Metodologías para el Desarrollo de Software EducativoMetodologías para el Desarrollo de Software Educativo
Metodologías para el Desarrollo de Software Educativo
 
Estructuras de Control
Estructuras de Control Estructuras de Control
Estructuras de Control
 
Flujogramas 2021
Flujogramas 2021Flujogramas 2021
Flujogramas 2021
 
Modulo 1 - Qué es un Software Educativo
Modulo 1 - Qué es un Software EducativoModulo 1 - Qué es un Software Educativo
Modulo 1 - Qué es un Software Educativo
 
Modulo 1 -_algoritmos
Modulo 1 -_algoritmosModulo 1 -_algoritmos
Modulo 1 -_algoritmos
 
Modulo 1 resolucion de problemas
Modulo 1   resolucion de problemasModulo 1   resolucion de problemas
Modulo 1 resolucion de problemas
 
Introducción al PSeint
Introducción al PSeintIntroducción al PSeint
Introducción al PSeint
 
Guía de la herramienta PSeint
Guía de la herramienta PSeintGuía de la herramienta PSeint
Guía de la herramienta PSeint
 
Practicas de Flujogramas 7
Practicas de Flujogramas 7Practicas de Flujogramas 7
Practicas de Flujogramas 7
 
Practicas de Flujogramas - 4
Practicas de Flujogramas - 4Practicas de Flujogramas - 4
Practicas de Flujogramas - 4
 

Último

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 

Último (20)

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 

Lenguaje de Programación

  • 1. Profesor Jaime Sousa Facultad de Informática, Electrónica y Comunicación Centro Regional Universitario de San Miguelito Fundamentos de la programación 1
  • 2. Página 2Fundamentos de la programación: Computadoras y programación
  • 3. Los procesadores trabajan con ceros y unos (bits) Unidad de memoria básica: Byte (8 bits) (2 dígitos hexadecimales: 01011011 → 0101 1011 → 5B) Lenguaje máquina Códigos hexadecimales que representan instrucciones, registros de la CPU, direcciones de memoria o datos Instrucción Significado A0 2F Acceder a la celda de memoria 2F 3E 01 Copiarlo el registro 1 de la ALU A0 30 Acceder a la celda de memoria 30 3E 02 Copiarlo en el registro 2 de la ALU 1D Sumar B3 31 Guardar el resultado en la celda de memoria 31 Página 3Fundamentos de la programación: Computadoras y programación Lenguaje de bajo nivel Dependiente de la máquina Programación difícil
  • 4. Nemotécnicos para los códigos hexadecimales: A0 → READ 3E → REG 1D → ADD … Mayor legibilidad: READ 2F REG 01 READ 30 REG 02 ADD WRITE 31 Lenguaje de nivel medio Página 4Fundamentos de la programación: Computadoras y programación Código objeto (lenguaje máquina) Programa ensamblador Código fuente (lenguaje ensamblador)
  • 5. Página 5Fundamentos de la programación: Computadoras y programación
  • 6. ✓ Más cercanos a los lenguajes natural y matemático resultado = dato1 + dato2; ✓ Mayor legibilidad, mayor facilidad de codificación ✓ Estructuración de datos / abstracción procedimental Página 6Fundamentos de la programación: Computadoras y programación
  • 7. Traducción Compiladores: Compilan y enlazan programas completos Intérpretes: Compilan, enlazan y ejecutan instrucción a instrucción Página 7Fundamentos de la programación: Computadoras y programación Compilador Enlazador Código objeto de biblioteca Código fuente #include <iostream> using namespace std; int main() { cout << "Hola Mundo!" << endl; return 0; } Código objeto 0100010100111010011100… Programa ejecutable Para una arquitectura concreta y un sistema operativo
  • 8. Genealogía de lenguajes Página 8Fundamentos de la programación: Computadoras y programación BASIC 1964 Logo 1968 Ruby 1993 Python 1991 Eiffel 1986 Modula 1975 Fuente: http://www.levenez.com/lang/ Versiones / Estándares Prolog 1970 Haskell 1987 C# 2000 Java 1995C++ 1983 Smalltalk 1971 Scheme 1975 PL/I 1964 Simula 1964 Ada 1979 C 1971 Pascal 1970 CPL 1963 COBOL 1959 ALGOL 1958 FORTRAN 1954 Lisp 1958
  • 9. Página 9Fundamentos de la programación: Computadoras y programación
  • 10. ¿Qué es programar? Especificar la estructura y el comportamiento de un programa, así como probar que realiza su tarea adecuadamente y con un rendimiento aceptable. Programa: Transforma entrada en salida Algoritmo: Secuencia de pasos y operaciones que debe realizar el programa para resolver el problema. El programa implementa el algoritmo en un lenguaje concreto SalidaPrograma Página 10Fundamentos de la programación: Computadoras y programación Entrada
  • 11. La programación es sólo una etapa del proceso de desarrollo Modelo de desarrollo “en cascada”: Página 11Fundamentos de la programación: Computadoras y programación Mantenimiento Prueba y depuración Programación Diseño Análisis Planificación Recursos necesarios, presupuesto, plan, … ¿Qué? ¿Cómo? Implementación
  • 12. Página 12Fundamentos de la programación: Computadoras y programación