1 / 63

Asignatura: Lenguaje de Programación de Sistema PPT No.01

Asignatura: Lenguaje de Programación de Sistema PPT No.01. Programa vespertino de Ingeniería (E) en Sistemas Computacionales Profesor: José Estay Araya Sitio de la asignatura: http://www.jiiea.com/SyPrgLan/ User: sist2014 psw : sist#C10. Asignatura: Lenguaje de Programación de Sistema.

Download Presentation

Asignatura: Lenguaje de Programación de Sistema PPT No.01

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Asignatura: Lenguaje de Programación de Sistema PPT No.01 Programa vespertino de Ingeniería (E) en Sistemas Computacionales Profesor: José Estay Araya Sitio de la asignatura: http://www.jiiea.com/SyPrgLan/ User: sist2014 psw: sist#C10

  2. Asignatura: Lenguaje de Programación de Sistema Objetivos: Aprender a programar, en sus aspectos elementales, un lenguaje de alto nivel, y para aplicaciones en modo nativo y plataforma virtual. Usar un compilador 32 bits: Microsoft Visual C/C++ Express 2010 o superior Aplicar el Lenguaje C en el uso y programación con recursos del sistema.

  3. Objetivos (cont): Aprender a combinar código fuente ensamblador en un programa fuente C Aprender a combinar Assembly x86 con fuente C/C++ Visual corriendo sobre maquina virtual de Microsoft .NET Framework. Adquirir una visión global del uso de compiladores IDE en lenguaje C, tanto nativo como de maquina virtual.

  4. Plan de la asignatura • De acuerdo al plan de estudios, modalidad asignatura de un semestre académico. • La asignatura contempla horas teóricas mas horas de laboratorio. • Material de la asignatura: http://www.jiiea.com/SyPrgLan/ user:sist2014 psw:sist#C10

  5. Conceptos: el TRADUCTOR • Traductores: ensambladores (ASSEMBLER), interpretadores, compiladores, enlazadores • Lenguaje de máquina

  6. Características generales de un lenguaje • Transportabilidad • Facilidad de aprendizaje • Facilidades para el usuario • Bibliotecas: dinámicas y estáticas • Control electrónico

  7. Lenguaje C • Compilador: MICROSOFT VISUAL C/C++ Express Edition 2010 o superior • Obtener desde Microsoft

  8. Lenguaje C • Instalación • Importancia de las bibliotecas • Bajar e instalar • Directorios • DISPLAY: modo de consola y modo Windows

  9. Ambito o entorno de C • *.C • *.OBJ • *.EXE • Edición / Creación • Código de máquina no-linkeado • Enlazar (Linking) • Código de máquina ejecutable

  10. Ventajas Desventajas de C • Top-down Estructurado Modular + • Eficiente +/- • Transportable + • Control del computador + • Aplicación en microcontroladores y microprocesadores, pequeños subsistemas + • Poco legible -

  11. Estructuración de un programa • Programación estructurada • Programación modular

  12. Elementos de C • Componentes léxicos (token), ejemplo main { + • Palabras reservadas ANSI C

  13. Tipos de Datos • char • int • float • Entero-32768..+32767 • Flotante+/-3.4 e +/- 38 • ...entre otros...ver HELP de C

  14. Sentencias (instrucciones) • Simples: ejemplo x = 3+5; • Compuestas: delimitada por { }

  15. Funciones • Display o despliegues en pantalla • Monitor, proyector, LCD todos con características VGA • Función printf()

  16. Especificador de formato • %d %o • %u %x • %f %e • %c %s • ...entre otros...ver HELP de C.

  17. Identificadores • Función • Sensibilidad may/min • Palabras reservadas • Declaración de variables

  18. Operadores aritméticos • + • - • * • / • %

  19. Precedencia • () • - • * / • + -

  20. Operador de asignación • Asigna zona de memoria • Antes dirección física • Ahora dirección mnemónica o literal • Ejemplo x = 10 • significado

  21. Asignación compuesta • x= x + 5 • x +=5 • Extensible a las otras operaciones aritméticas.

  22. Secuencias de escape • \n • \t • ...entre otras secuencias de escape. Ver HELP de C.

  23. Especificador de ancho de campo • “el numero %5.2f lo usa”, 6.0 • Despliega 6.00 • Donde signo, mantisa, punto decimal, dos decimales

  24. Entrada estándar • Funcion scanf() • Especificador de formato

  25. Comentarios • Comentarios en C • // • /* rem */ • Ayuda para debugging

  26. Desarrollo de un programa en C • Ejemplos con la ley de ohm. • Diseño del código • Todo el proceso hasta llegar al código ejecutable

  27. Funciones • printf() • scanf() • sin(x) • cos(x) • tan(x) • sqrt() • Funciones creadas por el programador

  28. Nombres de funciones creadas por el programador • Similar a reglas para nombres de variables • Se le pasan valores a través de una lista de parámetros formales • La función puede retornar un valor

  29. Toma de decisiones • Operadores relacionales: > >= < <= == !=

  30. Sentencia if • Sintaxis: if (expresion) sentencia

  31. Sentencia if-else • Sintaxis: if (expresion) sentencia1 else sentencia2

  32. switch • Sintaxis: switch(expresion) { case exp1:sentencia1;break; case exp2:sentencia2;break; . . default }

  33. switch

  34. Conversión de tipos • La conversión se realiza teniendo en cuenta el rango de cada tipo: Rango inferior <= char, int, long, float, double => Rango superior

  35. Operador condicional • Sintaxis: expresion1 ? expresion2 : expresion3 Si expresion1 es TRUE devuelve expresion2, caso contrario devuelve expresion3

  36. Operador condicional (cont.) #include <stdio.h> main() { int eleccion; /* Elección del usuario. */ printf("Introduzca un 1 o un 0 => "); scanf("%d",&eleccion); eleccion? printf("Un uno.\n") : printf("Un cero.\n"); }

  37. Lazo o bucle for • Sintaxis: for(expresion_inicial; expresion_condicional; expresion_de_lazo){ sentencias } Nota:si es 1 sentencia las {} no son necesarias

  38. Lazo while • Sintaxis: while(expresion) sentencia; while(expresion){ sentencias }

  39. while…..

  40. do-while • Sintaxis: do sentencia while(expresion) do { sentencias }while(expresion)

  41. do-while…….

  42. Lazos anidados • Se admiten lazos anidados siempre y cuando ellos no se traslapen:

  43. Recursividad • Estudio personal: significado y aplicación

  44. Vectores numéricos • Declaración: int vector[3], define un vector con 3 elementos vector[0], vector[1], vector[2] • Los vectores pueden declararse en alguno de los 3 formatos básicos: int, float o char, entre otros • La carga de un vector int se puede realizar por asignación

  45. Vectores………….. • La carga de un vector float se puede realizar por asignación • El contenido de las celdas de un vector determinado debe ser homogéneo

  46. Vectores multidimensionales o matrices numéricas(array) • Declaración: int matriz[2][3] • Carga de valores: int matriz[2][3]={ /*fila columna*/ {10,20,30}, {11,21,31} };

  47. Cadenas (strings) de caracteres • Definición: char cadena[]=“hola”; • También: char cadena[5]=“hola”; • El último elemento del vector de cadena es siempre ‘\0’ • Э funciones de biblioteca para comprobar el tipo de carácter. Ver Tabla 6.1

  48. Cadenas (strings) de caracteres • Э funciones para manejar cadenas de caracteres • Por ejemplo, la función que retorna la longitud de la cadena de caracteres strlen() • Ver HELP de C para otras funciones

  49. Estructura de datos • Declaración: main() { struct { char fabricante[20]; /* Fabricante */ int cantidad; /*Número de R’s*/ float precio_unitario; /* Precio cada R*/ } resistencias; /* Estructura */

More Related