La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Asignatura: Lenguaje de Programación de Sistema PPT No.01"— Transcripción de la presentación:

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: 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: user:sist2014 psw:sist#C10

5 SESION FECHA ACTIVIDAD DESCRIPCION 1 2 3 4 5 6 7 9 10 11 12 14 16
18/Marzo Introducción a la asignatura Fundamentos de C 2 25 Exp 1: Microsoft Visual C/C++ Express Edition 2010 o superior IDE, “holaMundo!”, operaciones aritm +,-,*,/ 3 1/Abril Exp 2.Win32: solución ecc cuadratica 4 8 Exp 3 5 15 Exp 4 6 22 C-1 7 29 Exp 5 6/Mayo Exp 6 9 13 Exp 7 10 20 Exp 8 11 27 C-2 12 3/Junio Exp 9 Exp 10 14 17 Exp 11 24 Exp 12 16 1/Julio C-3 Notas finales y cierre del curso

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

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

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

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

10 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

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

12 Estructuración de un programa
Programación estructurada Programación modular

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

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

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

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

17 Especificador de formato
%u %x %f %e %c %s ...entre otros...ver HELP de C.

18 Identificadores Función Sensibilidad may/min Palabras reservadas
Declaración de variables

19 Operadores aritméticos
+ - * / %

20 Precedencia () - * / + -

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

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

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

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

25 Entrada estándar Funcion scanf() Especificador de formato

26 Comentarios Comentarios en C // /* rem */ Ayuda para debugging

27 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

28 Funciones printf() scanf() sin(x) cos(x) tan(x) sqrt()
Funciones creadas por el programador

29 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

30 Toma de decisiones Operadores relacionales: > >= < <= ==
!=

31 Sentencia if Sintaxis: if (expresion) sentencia

32 Sentencia if-else Sintaxis: if (expresion) sentencia1 else sentencia2

33 switch Sintaxis: switch(expresion) { case exp1:sentencia1;break;
. default }

34 switch

35 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

36 Operador condicional Sintaxis: expresion1 ? expresion2 : expresion3
Si expresion1 es TRUE devuelve expresion2, caso contrario devuelve expresion3

37 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"); }

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

39 Lazo while Sintaxis: while(expresion) sentencia; while(expresion){
sentencias }

40 while…..

41 do-while Sintaxis: do sentencia while(expresion) do { sentencias

42 do-while…….

43 Lazos anidados Se admiten lazos anidados siempre y cuando ellos no se traslapen:

44 Recursividad Estudio personal: significado y aplicación

45 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

46 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

47 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} };

48 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

49 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

50 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 */

51 Estructura de datos Asignación de valores:
gets(resistencias.fabricante);/*permite introducir blancos*/ scanf("%d",&resistencias.cantidad); scanf("%f",&resistencias.precio_unitario); Cálculo del valor total: valor_total = resistencias.cantidad * resistencias.precio_unitario;

52 Estructura de datos La gran potencialidad está en poder escribir vectores y matrices de estructuras.

53 Estructura de datos Por ejemplo: struct{
char pieza[20]; /* Tipo de pieza */ int cantidad; /* Número de piezas */ float precio_unitario; /* Precio de cada pieza */ char existe; /* Comprobar si el registro existe. */ } registro_piezas; main(){ static registro_piezas contenido_cajas[3]; int registro; int i; ………………………………………………………………………………… }

54 I/O- Manejo de puertos Leer un puerto: inportb()
Escribir un puerto: outportb() Ejemplos: outportb(port_a,0xAA); entrada=inportb(port_c); La dirección de los puertos debe conocerse y tener soporte de ROM-BIOS

55 Dispositivos de almacenamiento de datos, en memoria secundaria(discos magnéticos, memorias flash)
La administración de archivos se maneja bajo modalidad FAT o NTFS C provee las funciones necesarias para escribir o leer archivos en memoria secundaria

56 E/S de disco (memoria 2aria.)
Condiciones de archivos de disco El archivo de disco no existe y se quiere crearlo y añadir información El archivo de disco existe y se quiere extraer información de él El archivo de disco existe y se quiere añadir más información, conservando la información que ya estaba en él. El archivo de disco existe y se quiere borrar la información, y agregar información nueva.

57 Distintos métodos de lectura y escritura de datos
Un carácter a la vez Lee y escribe a memoria 2aria. Un carácter a la vez Leer y escribir cadenas de caracteres Lee y escribe a memoria 2aria. Cadenas de caracteres. Método mixto E/S de caracteres, cadenas de caracteres, reales y enteros Método de estructura de bloques E/S de vectores y estructuras

58 Distintos métodos de …(cont.)
Para todos los casos se usan las siguientes funciones: FILE *puntero fopen(nombre_archivo, modo de operación) fclose(puntero a archivo)

59 Distintos métodos de …(cont.)
Un carácter a la vez o cada vez TXT Lee y escribe a memoria 2aria. Un carácter a la vez putc() //para escribir; getche() //para leer Leer y escribir cadenas de caracteres Lee y escribe a memoria 2aria. Cadenas de caracteres. putc() //para escribir; getc() //para leer Método mixto MIX E/S de caracteres, cadenas de caracteres, reales y enteros fprintf(); fscanf() Método de estructura de bloques BIN E/S de vectores y estructuras fread(); fwrite

60 Distintos métodos de …(cont.)
Acceso Random Se utiliza la función fseek(p,d,m ) la cual tiene 3 argumentos: p: puntero a archivo, d: desplazamiento, m: modo Modo puede tomar 3 valores SEEK_SET(0) desplazamiento desde el inicio SEEK_SET(1)desplazamiento desde posición actual SEEK_SET(2)desplazamiento desde el final del archivo

61 Archivos de texto frente a binarios
Incide en el rendimiento de la transferencia de los datos. Por ejemplo, se tiene el siguiente número entero: Si almacenamos el número como texto  8 bytes Si almacenamos binario BC614E  3 bytes Por lo cual el ahorro de espacio es considerable

62 Operaciones sobre archivos
“a” Abierto para añadir datos. Los datos se añaden al final del archivo o se crea un archivo nuevo si no existe. “r” Abierto para lectura. El archivo debe existir “w” Abierto para escritura. Los datos son escritos desde el principio, o se crea un nuevo archivo si no existe.

63 Operaciones sobre archivos(Cont)
“a+” Abierto para lectura y añadir datos. Si el archivo no existe, se crea. “r+” Abierto para lectura y escritura. El archivo debe existir. “w+” Abierto para lectura y escritura. Se escribe desde el principio del archivo


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

Presentaciones similares


Anuncios Google