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

Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...wvernetlopez
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 

Último (20)

Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 

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)