SlideShare una empresa de Scribd logo
1 de 65
Descargar para leer sin conexión
Contenidos de la unidad
Unidad 1: Lenguajes de programación.
Clasificación del software. Lenguajes de Programación. Lenguajes de
Máquina. Lenguajes de Alto Nivel.
Lenguajes de Bajo Nivel. Paradigmas de Programación. Programación
Estructurada.
El lenguaje C. Proceso de desarrollo. Variables y expresiones. El
preprocesador. Constantes.
¿Cuáles son los elementos que integran un sistema informático?
HARDWARE
SOFTWARE
PERSONAS
DATOS
¿Qué es el software?
Se define el software como el componente lógico de las computadoras (son los programas).
Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos
asociados, que forman parte de las operaciones de un sistema de computación.
Clasificación del Software
¿Qué es un lenguaje de programación?
Es un lenguaje formal que, mediante una serie de instrucciones, le permite a un programador
escribir un conjunto de órdenes, acciones consecutivas, datos y algoritmos para, de esa forma,
crear programas que controlen el comportamiento físico y lógico de una máquina.
Lenguajes de Programación
Lenguaje Máquina
El lenguaje de máquina es aquel cuyas instrucciones son directamente entendibles por la
computadora y no necesitan traducción posterior para que la CPU pueda comprender y ejecutar el
programa.
Las instrucciones en lenguaje maquina se expresan en términos de la unidad de memoria más pequeña
(bit) = digito binario 0 o 1, en esencia una secuencia de bits que especifican la operación y las celdas de
memoria implicadas en una operación
Ejemplo: Instrucciones en lenguaje de máquina :
0010, 0000, 1001, 1001, 10001, 1110.
Lenguaje Ensamblador
● Representación más entendible para el humano .
● Cada instrucción en lenguaje ensamblador representa una instrucción en el lenguaje máquina.
● El lenguaje ensamblador aparece casi a la par con el lenguaje máquina, esto debido a que los
fabricantes de hardware diseñan sus Chips pensando ya en las instrucciones de un lenguaje de
ensamblado.
Traducción a lenguaje máquina
Lenguajes de Alto nivel
● Son lenguajes más afines con el programador en los que una instrucción puede representar varias
instrucciones en lenguaje máquina. Incluyen los lenguajes estructurados y no estructurados. Como
ejemplos tenemos: Basic, Pascal, C, APL, FORTRAN (Aplicaciones Científicas), COBOL (para
aplicaciones de procesamiento de datos), LISP Y PROLOG (para Inteligencia Artificial), etc.
● Los lenguajes de alto nivel necesitan de un traductor que pueden ser interpretados o compilados. Los
interpretadores o intérpretes, necesitan de un programa auxiliar que traduce en tiempo real las
instrucciones al lenguaje máquina, por lo tanto, cada vez que un programa interpretado se ejecuta debe
ejecutarse también su intérprete. Ejemplos de lenguajes interpretados: Basic, PROLOG, LISP, entre
otros.
● Los lenguajes compilados son aquellos que necesitan de un compilador para la traducción al lenguaje
máquina. La traducción o compilación se hace solo una vez, y el resultado es un código objeto
entendible por la máquina. Para ejecutar un programa compilado no se necesita de su compilador.
Ejemplos de lenguajes compilados: Pascal, C, Fortran, Cobol, Modula-2 (evolución del Pascal), etc.
Lenguajes de Alto nivel
Algunas de las características de los lenguajes de alto nivel:
Depuración más sencilla: Debido a que el código es más legible, la depuración también se hace más fácil.
Con la ayuda editores (IDEs – Entornos de Desarrollo Integrados) la compilación, depuración y ejecución se
hacen más fácilmente.
- Productividad aceptable: son más productivos que los lenguajes de alto nivel.
- Algunos permiten la Portabilidad: generalmente los interpretados.
¿Qué es un paradigma de programación?
● Un estilo de desarrollo de programas.
● Modelo para resolver problemas computacionales.
Los lenguajes de programación, necesariamente, se encuadran en uno o varios paradigmas a la
vez a partir del tipo de órdenes que permiten implementar, algo que tiene una relación directa con
su sintaxis.
¿Cuáles son los principales paradigmas de programación?
● Imperativo. Los programas se componen de un conjunto de sentencias que cambian su estado. Son
secuencias de comandos que ordenan acciones a la computadora.
● Declarativo. Opuesto al imperativo. Los programas describen los resultados esperados sin mostrar
explícitamente los pasos a llevar a cabo para alcanzarlos.
● Lógico. El problema se modela con enunciados de lógica de primer orden.
● Funcional. Los programas se componen de funciones, es decir, implementaciones de comportamiento
que reciben un conjunto de datos de entrada y devuelven un valor de salida.
● Orientado a objetos. El comportamiento del programa es llevado a cabo por objetos, entidades que
representan elementos del problema a resolver y tienen atributos y comportamiento.
Otros son de aparición relativamente reciente y no forman parte del grupo principal:
● Dirigido por eventos. El flujo del programa está determinado por sucesos externos (por ejemplo, una
acción del usuario).
● Orientado a aspectos. Apunta a dividir el programa en módulos independientes, cada uno con un
comportamiento bien definido.
Paradigmas de programación
Programación estructurada
La programación estructurada es un paradigma de programación basado en utilizar funciones o
subrutinas, y únicamente tres estructuras de control:
● secuencia: ejecución de una sentencia tras otra.
● selección o condicional: ejecución de una sentencia o conjunto de sentencias, según el valor de
una variable booleana.
● iteración (ciclo o bucle): ejecución de una sentencia o conjunto de sentencias, mientras una
variable booleana sea verdadera.
Programación estructurada
Lenguaje C
● Es un lenguaje de propósito general.
● Altamente transportable.
● Se considera un lenguaje de alto nivel orientado a la máquina
● C fue creado por Brian Kernighan y Dennis Ritchie en los laboratorios Bell de AT&T.
● El sistema operativo Unix está escrito principalmente en C.
● El sistema Linux es de la familia Unix
Lenguaje C
Breve Historia
● El lenguajes C nació en los Laboratorios Bell de AT&T
● Asociado con el Sistema Operativo UNIX
● Su eficacia y claridad han hecho que el lenguaje ensamblador apenas haya sido utilizado en UNIX.
● Este lenguaje está inspirado en el lenguaje B escrito por Ken Thompson en 1970
● B era un lenguaje evolucionado e independiente de la máquina, inspirado en lenguajes BCPL
concedido por Martin Richard en 1967.
● En 1972, Dennis Ritchie, modifica el lenguaje B, creando el lenguaje C y reescribiendo el UNIX en
dicho lenguaje.
● La novedad que proporcionó el lenguaje C sobre el B fue el diseño de tipos y estructuras de datos.
Lenguaje C
Lenguaje C
● 1967, Martin Richard crea el lenguaje BCPL (Lenguaje de Programación Básico Combinado)
● 1970, Ken Thompson crea el lenguaje B.
○ Transportable.
○ Lenguaje evolucionado e independiente de la máquina.
● 1972, Dennis Ritchie y Brian Kernighan en los Laboratorios Bell de AT&T crean el lenguaje C
modificando el lenguaje B. Ken Thompson reescribe Unix en C.
○ Se diseñan tipos y estructuras de datos.
○ Incluye punteros y funciones.
○ Riqueza de operadores.
● 1983, el instituto de estándares americano (ANSI) crea un estándar que definiera el lenguaje C.
● 1990, el estándar es adoptado.
Lenguaje C
● El lenguaje C se hizo muy popular en los años 80 puesto que comenzó a desplazar a BASIC
● Compiladores se hicieron muy populares y, además, de empezarse a usar en los IBM PC.
● En paralelo, Bjarne Stroustrup (que también trabajaba en los Laboratorios Bell) desarrolla C++
○ Complementando C con clases y funciones virtuales,
○ Tipos genéricos y expresiones de ADA y un
○ Motor de objetos que permitía combinar la programación imperativa de C con la programación
orientada a objetos.
● En 1983, el Instituto Nacional Estadounidense de Estándares (ANSI) organizó un comité, X3j11, para
establecer una especificación estándar de C que, tras un proceso largo, completó el estándar en
1989 (ANSI X3.159-1989), el C89
Lenguaje C Características
● Programación Estructurada.
● Economía de expresiones.
● Gran cantidad de operadores y tipos de datos.
● Codificación en alto y bajo nivel simultáneamente.
● Reemplaza ventajosamente la programación en el ensamblador.
● Utilización natural de las funciones primitivas del sistema operativo (Unix)
Lenguaje C Desventajas
● No posee instrucciones de entrada y salida.
● No posee instrucciones de manejo de cadena de caracteres.
● La libertad en la escritura en los programas lleva a errores en la programación que, por ser correctos
sintácticamente no se detectan a simple vista.
● La precedencia de operadores convierten las expresiones en pequeños rompecabezas.
Estructura de un programa
Librerías
● Conjunto de funciones que se identifican con un nombre y que
tenemos que llamar al principio del programa para utilizar unas
funciones concretas.
● Lista de librerías usuales:
● Stdio.h funciones de entrada-salida
● Conio.h más funciones de entrada-salida
● Math.h funciones matemáticas
● Stdlib.h más funciones matemáticas
● Ctype.h funciones de conversión de caracteres
● String.h funciones de cadena
● Graphics.h funciones gráficas
Variables
● Son combinaciones de letras y números que permiten almacenar
cualquier valor en la memoria del ordenador.
● Estos valores los podremos utilizar en el programa haciendo
referencia al nombre de la variable.
● Al finalizar la ejecución del programa las variables se borran.
Variables
● Modificadores de variables: Son parámetros que permiten modificar los rangos de los tipos de
variables, principalmente del tipo (int)
● Modificadores:
○ Signed
○ Unsigned
○ Long
○ short
Variables
● Modificador signed
Es el modificador por defecto que utiliza “C”, en el caso de una variable definida como:
signed int
almacenará valores entre -32000 y 32000
● Modificador unsigned
Este modificador en una variable INT se definirá como :
unsigned int
almacenará valores entre o y 65000 (pasa todo el rango de números negativos a positivos)
● Modificador long
Este modificador en una variable INT se definirá como:
long int
almacenará valores entre -2000000000 y 2000000000
Ejemplo Declaración de Variables
Declaración de una variable como un entero
int variable;
int variable2;
int variable3;
Declaración de variables y asignación de valores en una línea
int variable = 1000, variable2 = 2, variable3;
Declaración de variables tipo texto
char variable ;
Con tamaño fijo de caracteres:
char variable[15];
Con asignación de valor
char variable = 'a' ;
Pasos para obtener un programa ejecutable:
¿Qué es un identificador?
Identificadores en C
El compilador utiliza identificadores iniciados con doble subrayado o con un
subrayado seguido de una letra mayúscula.
Evite el uso del subrayado para iniciar un identificador. Esto reducirá los errores
de compilación.
La legibilidad de un programa se incrementa notablemente al utilizar nombres
descriptivos para las variables.
Los programadores de Pascal tienden a utilizar nombres descriptivos largos, pero
la mayoría de los programadores C por lo general utilizan nombres cortos y
crípticos.
Se remarca la importancia de utilizar nombres descriptivos que a su vez eviten
comentarios redundantes.
Mi primer programa en C
Los comentarios se escriben entre /* */
y pueden tener varios renglones
Analice el siguiente código e indique cuáles son las instrucciones
correctas y cuáles las incorrectas.
Tipos de Datos Simples
Tipo Int
Códigos de formato para tipos INT
Tipos de Datos Reales
Tipo de dato lógico
En C no existe el tipo de dato lógico. En su lugar se utiliza
un entero representando con 0 el valor falso y cualquier otro
valor (generalmente 1) el valor verdadero.
Ejercicio 2
Suponga que i=1, j=2, k=3, m=2. Qué imprime cada uno
Ejercicio 2
Suponga que i=1, j=2, k=3, m=2. ¿Qué imprime cada uno
de los siguientes enunciados?
Conversión explícita de tipos
Ejercicio 3
Escriba un programa C que lea de teclado un número
entero correspondiente a una temperatura en grados
fahrenheit e imprima otro valor entero correspondiente a
su conversión a grados celsius según la siguiente
ecuación
C = (5/9)*(F – 32)

Más contenido relacionado

Similar a Unidad-1.pptx.pdf

Similar a Unidad-1.pptx.pdf (20)

Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacion
 
Presentación1
Presentación1Presentación1
Presentación1
 
Presentación1
Presentación1Presentación1
Presentación1
 
Informe lpi
Informe lpiInforme lpi
Informe lpi
 
Lenguajes de desarrollo (programación)
Lenguajes de desarrollo (programación)Lenguajes de desarrollo (programación)
Lenguajes de desarrollo (programación)
 
Software
SoftwareSoftware
Software
 
Tema1 b
Tema1 bTema1 b
Tema1 b
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Powerpoint jimpulgar
Powerpoint jimpulgarPowerpoint jimpulgar
Powerpoint jimpulgar
 
Introduccion a la programación I Parte
Introduccion a la programación I Parte Introduccion a la programación I Parte
Introduccion a la programación I Parte
 
Introduccion a la Programación I parte
Introduccion a la Programación I parte Introduccion a la Programación I parte
Introduccion a la Programación I parte
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguajes de programacion22
Lenguajes de programacion22Lenguajes de programacion22
Lenguajes de programacion22
 
TEMA Nº 1
TEMA Nº 1TEMA Nº 1
TEMA Nº 1
 
ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C
 
Universidad de panamá kathia j
Universidad de panamá kathia jUniversidad de panamá kathia j
Universidad de panamá kathia j
 
Lenguajes basicos para robots
Lenguajes basicos para robotsLenguajes basicos para robots
Lenguajes basicos para robots
 
Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnostico
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- Programación
 

Último

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (16)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Unidad-1.pptx.pdf

  • 1.
  • 2. Contenidos de la unidad Unidad 1: Lenguajes de programación. Clasificación del software. Lenguajes de Programación. Lenguajes de Máquina. Lenguajes de Alto Nivel. Lenguajes de Bajo Nivel. Paradigmas de Programación. Programación Estructurada. El lenguaje C. Proceso de desarrollo. Variables y expresiones. El preprocesador. Constantes.
  • 3. ¿Cuáles son los elementos que integran un sistema informático? HARDWARE SOFTWARE PERSONAS DATOS
  • 4. ¿Qué es el software? Se define el software como el componente lógico de las computadoras (son los programas). Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de las operaciones de un sistema de computación.
  • 6. ¿Qué es un lenguaje de programación? Es un lenguaje formal que, mediante una serie de instrucciones, le permite a un programador escribir un conjunto de órdenes, acciones consecutivas, datos y algoritmos para, de esa forma, crear programas que controlen el comportamiento físico y lógico de una máquina.
  • 8. Lenguaje Máquina El lenguaje de máquina es aquel cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción posterior para que la CPU pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se expresan en términos de la unidad de memoria más pequeña (bit) = digito binario 0 o 1, en esencia una secuencia de bits que especifican la operación y las celdas de memoria implicadas en una operación Ejemplo: Instrucciones en lenguaje de máquina : 0010, 0000, 1001, 1001, 10001, 1110.
  • 9. Lenguaje Ensamblador ● Representación más entendible para el humano . ● Cada instrucción en lenguaje ensamblador representa una instrucción en el lenguaje máquina. ● El lenguaje ensamblador aparece casi a la par con el lenguaje máquina, esto debido a que los fabricantes de hardware diseñan sus Chips pensando ya en las instrucciones de un lenguaje de ensamblado.
  • 11. Lenguajes de Alto nivel ● Son lenguajes más afines con el programador en los que una instrucción puede representar varias instrucciones en lenguaje máquina. Incluyen los lenguajes estructurados y no estructurados. Como ejemplos tenemos: Basic, Pascal, C, APL, FORTRAN (Aplicaciones Científicas), COBOL (para aplicaciones de procesamiento de datos), LISP Y PROLOG (para Inteligencia Artificial), etc. ● Los lenguajes de alto nivel necesitan de un traductor que pueden ser interpretados o compilados. Los interpretadores o intérpretes, necesitan de un programa auxiliar que traduce en tiempo real las instrucciones al lenguaje máquina, por lo tanto, cada vez que un programa interpretado se ejecuta debe ejecutarse también su intérprete. Ejemplos de lenguajes interpretados: Basic, PROLOG, LISP, entre otros. ● Los lenguajes compilados son aquellos que necesitan de un compilador para la traducción al lenguaje máquina. La traducción o compilación se hace solo una vez, y el resultado es un código objeto entendible por la máquina. Para ejecutar un programa compilado no se necesita de su compilador. Ejemplos de lenguajes compilados: Pascal, C, Fortran, Cobol, Modula-2 (evolución del Pascal), etc.
  • 12. Lenguajes de Alto nivel Algunas de las características de los lenguajes de alto nivel: Depuración más sencilla: Debido a que el código es más legible, la depuración también se hace más fácil. Con la ayuda editores (IDEs – Entornos de Desarrollo Integrados) la compilación, depuración y ejecución se hacen más fácilmente. - Productividad aceptable: son más productivos que los lenguajes de alto nivel. - Algunos permiten la Portabilidad: generalmente los interpretados.
  • 13. ¿Qué es un paradigma de programación? ● Un estilo de desarrollo de programas. ● Modelo para resolver problemas computacionales. Los lenguajes de programación, necesariamente, se encuadran en uno o varios paradigmas a la vez a partir del tipo de órdenes que permiten implementar, algo que tiene una relación directa con su sintaxis.
  • 14. ¿Cuáles son los principales paradigmas de programación? ● Imperativo. Los programas se componen de un conjunto de sentencias que cambian su estado. Son secuencias de comandos que ordenan acciones a la computadora. ● Declarativo. Opuesto al imperativo. Los programas describen los resultados esperados sin mostrar explícitamente los pasos a llevar a cabo para alcanzarlos. ● Lógico. El problema se modela con enunciados de lógica de primer orden. ● Funcional. Los programas se componen de funciones, es decir, implementaciones de comportamiento que reciben un conjunto de datos de entrada y devuelven un valor de salida. ● Orientado a objetos. El comportamiento del programa es llevado a cabo por objetos, entidades que representan elementos del problema a resolver y tienen atributos y comportamiento. Otros son de aparición relativamente reciente y no forman parte del grupo principal: ● Dirigido por eventos. El flujo del programa está determinado por sucesos externos (por ejemplo, una acción del usuario). ● Orientado a aspectos. Apunta a dividir el programa en módulos independientes, cada uno con un comportamiento bien definido.
  • 16. Programación estructurada La programación estructurada es un paradigma de programación basado en utilizar funciones o subrutinas, y únicamente tres estructuras de control: ● secuencia: ejecución de una sentencia tras otra. ● selección o condicional: ejecución de una sentencia o conjunto de sentencias, según el valor de una variable booleana. ● iteración (ciclo o bucle): ejecución de una sentencia o conjunto de sentencias, mientras una variable booleana sea verdadera.
  • 18. Lenguaje C ● Es un lenguaje de propósito general. ● Altamente transportable. ● Se considera un lenguaje de alto nivel orientado a la máquina ● C fue creado por Brian Kernighan y Dennis Ritchie en los laboratorios Bell de AT&T. ● El sistema operativo Unix está escrito principalmente en C. ● El sistema Linux es de la familia Unix
  • 19. Lenguaje C Breve Historia ● El lenguajes C nació en los Laboratorios Bell de AT&T ● Asociado con el Sistema Operativo UNIX ● Su eficacia y claridad han hecho que el lenguaje ensamblador apenas haya sido utilizado en UNIX. ● Este lenguaje está inspirado en el lenguaje B escrito por Ken Thompson en 1970 ● B era un lenguaje evolucionado e independiente de la máquina, inspirado en lenguajes BCPL concedido por Martin Richard en 1967. ● En 1972, Dennis Ritchie, modifica el lenguaje B, creando el lenguaje C y reescribiendo el UNIX en dicho lenguaje. ● La novedad que proporcionó el lenguaje C sobre el B fue el diseño de tipos y estructuras de datos.
  • 21. Lenguaje C ● 1967, Martin Richard crea el lenguaje BCPL (Lenguaje de Programación Básico Combinado) ● 1970, Ken Thompson crea el lenguaje B. ○ Transportable. ○ Lenguaje evolucionado e independiente de la máquina. ● 1972, Dennis Ritchie y Brian Kernighan en los Laboratorios Bell de AT&T crean el lenguaje C modificando el lenguaje B. Ken Thompson reescribe Unix en C. ○ Se diseñan tipos y estructuras de datos. ○ Incluye punteros y funciones. ○ Riqueza de operadores. ● 1983, el instituto de estándares americano (ANSI) crea un estándar que definiera el lenguaje C. ● 1990, el estándar es adoptado.
  • 22. Lenguaje C ● El lenguaje C se hizo muy popular en los años 80 puesto que comenzó a desplazar a BASIC ● Compiladores se hicieron muy populares y, además, de empezarse a usar en los IBM PC. ● En paralelo, Bjarne Stroustrup (que también trabajaba en los Laboratorios Bell) desarrolla C++ ○ Complementando C con clases y funciones virtuales, ○ Tipos genéricos y expresiones de ADA y un ○ Motor de objetos que permitía combinar la programación imperativa de C con la programación orientada a objetos. ● En 1983, el Instituto Nacional Estadounidense de Estándares (ANSI) organizó un comité, X3j11, para establecer una especificación estándar de C que, tras un proceso largo, completó el estándar en 1989 (ANSI X3.159-1989), el C89
  • 23. Lenguaje C Características ● Programación Estructurada. ● Economía de expresiones. ● Gran cantidad de operadores y tipos de datos. ● Codificación en alto y bajo nivel simultáneamente. ● Reemplaza ventajosamente la programación en el ensamblador. ● Utilización natural de las funciones primitivas del sistema operativo (Unix)
  • 24. Lenguaje C Desventajas ● No posee instrucciones de entrada y salida. ● No posee instrucciones de manejo de cadena de caracteres. ● La libertad en la escritura en los programas lleva a errores en la programación que, por ser correctos sintácticamente no se detectan a simple vista. ● La precedencia de operadores convierten las expresiones en pequeños rompecabezas.
  • 25. Estructura de un programa
  • 26. Librerías ● Conjunto de funciones que se identifican con un nombre y que tenemos que llamar al principio del programa para utilizar unas funciones concretas. ● Lista de librerías usuales: ● Stdio.h funciones de entrada-salida ● Conio.h más funciones de entrada-salida ● Math.h funciones matemáticas ● Stdlib.h más funciones matemáticas ● Ctype.h funciones de conversión de caracteres ● String.h funciones de cadena ● Graphics.h funciones gráficas
  • 27. Variables ● Son combinaciones de letras y números que permiten almacenar cualquier valor en la memoria del ordenador. ● Estos valores los podremos utilizar en el programa haciendo referencia al nombre de la variable. ● Al finalizar la ejecución del programa las variables se borran.
  • 28. Variables ● Modificadores de variables: Son parámetros que permiten modificar los rangos de los tipos de variables, principalmente del tipo (int) ● Modificadores: ○ Signed ○ Unsigned ○ Long ○ short
  • 29. Variables ● Modificador signed Es el modificador por defecto que utiliza “C”, en el caso de una variable definida como: signed int almacenará valores entre -32000 y 32000 ● Modificador unsigned Este modificador en una variable INT se definirá como : unsigned int almacenará valores entre o y 65000 (pasa todo el rango de números negativos a positivos) ● Modificador long Este modificador en una variable INT se definirá como: long int almacenará valores entre -2000000000 y 2000000000
  • 30. Ejemplo Declaración de Variables Declaración de una variable como un entero int variable; int variable2; int variable3; Declaración de variables y asignación de valores en una línea int variable = 1000, variable2 = 2, variable3; Declaración de variables tipo texto char variable ; Con tamaño fijo de caracteres: char variable[15]; Con asignación de valor char variable = 'a' ;
  • 31. Pasos para obtener un programa ejecutable:
  • 32. ¿Qué es un identificador?
  • 33. Identificadores en C El compilador utiliza identificadores iniciados con doble subrayado o con un subrayado seguido de una letra mayúscula. Evite el uso del subrayado para iniciar un identificador. Esto reducirá los errores de compilación. La legibilidad de un programa se incrementa notablemente al utilizar nombres descriptivos para las variables. Los programadores de Pascal tienden a utilizar nombres descriptivos largos, pero la mayoría de los programadores C por lo general utilizan nombres cortos y crípticos. Se remarca la importancia de utilizar nombres descriptivos que a su vez eviten comentarios redundantes.
  • 34. Mi primer programa en C Los comentarios se escriben entre /* */ y pueden tener varios renglones
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. Analice el siguiente código e indique cuáles son las instrucciones correctas y cuáles las incorrectas.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57. Tipos de Datos Simples
  • 59. Códigos de formato para tipos INT
  • 60. Tipos de Datos Reales
  • 61. Tipo de dato lógico En C no existe el tipo de dato lógico. En su lugar se utiliza un entero representando con 0 el valor falso y cualquier otro valor (generalmente 1) el valor verdadero.
  • 62. Ejercicio 2 Suponga que i=1, j=2, k=3, m=2. Qué imprime cada uno
  • 63. Ejercicio 2 Suponga que i=1, j=2, k=3, m=2. ¿Qué imprime cada uno de los siguientes enunciados?
  • 65. Ejercicio 3 Escriba un programa C que lea de teclado un número entero correspondiente a una temperatura en grados fahrenheit e imprima otro valor entero correspondiente a su conversión a grados celsius según la siguiente ecuación C = (5/9)*(F – 32)