Asignatura: Computadores

Slides:



Advertisements
Presentaciones similares
Laboratorio Lenguaje de Programación ING2101
Advertisements

Unidad 15 Características de C++ no relacionadas con el DOO.
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Algoritmos y Programas
Introducción al lenguaje C
ING SEC 3 - UCSC Agosto 2009 Laboratorio Lenguaje de Programación ING – Universidad Católica SSMA Concepción Semestre II Tema:
CLASE 4 EL ENSAMBLADOR.
Curso de JAVA. Iniciando con las Técnologias Java.
Computadoras y programación
Arquitectura de computadoras
MANUAL EXPRESS DE C J.M.sevilla.
Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program.
INSTTUTO TECNOLOGICO DE APIZACO
Repaso para la construcción del intérprete 2012
Lenguajes de programación
Fundamentos de la Programación Estructurada
Introducción a la Programación
Lenguaje de Programación C
INTRODUCCION A LOS ALGORITMOS (Conceptos previos)
Programación I Teoría I
Direcciones, Arreglos y Argumentos de Funciones
Informática Educativa Bogotá 2011 – Universidad de Santander UDES
Variables Prof. Gonzalo Pastor.
Programación de Sistemas
Assembly y el Simulador SPIM
Introducción al Lenguaje C (ANSI)
Programación 1 Introducción
Programación 1 Presentación de c++
INTRODUCCIÓN A LA PROGRAMACIÓN
Objetos y Clases en Java
Pablo Cesar Tapia Catacora
Ingeniero Anyelo Quintero
Conceptos Básicos de Java
Funciones en lenguaje C
El lenguaje de programación C - Funciones -
Programación I Teoría VI: Recursividad
Lenguaje C.
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
Computadoras analógicas Miden magnitudes físicas que se distribuyen en escala continua como pueden ser la temperatura y la presión. Este tipo de computadoras.
Estructura de un programa C
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
Informática Ingeniería en Electrónica y Automática Industrial
Programa Vespertino de Automatización Equipos y Sistemas de Control Digital Lenguaje C Profesor: Felipe Páez Mejías D e p a r t a m e n t o d e I n g e.
Tipo de Datos Básicos.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
LENGUAJES DE PROGRAMACIÓN
José Estay A Elementos de Estructura de computadores.
José Estay A / jea I semestre académico 2014 Computadores (TU Sistemas Computacionales) Tema: elementos de estructura de computadores.
Elementos básicos del lenguaje
APRENDIZ: SANDRA L. CAICEDO C. ORDEN: 20194
Asignatura: Lenguaje de Programación de Sistema PPT No.01
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Alto Nivel. Y Es un compilador. YContiene un conjunto de palabras.
INFORMATICA VII (Programación e implementación de sistemas)
Estructura de un programa C. 1 Lenguajes de Programación 1.- Lenguaje de alto nivel 2.- Lenguaje de bajo nivel (ensamblador) 3.- Lenguaje de máquina.
1 3 : METODOLOGÍA DE LA. PROGRAMACIÓN. 2 Metodología de la programación Definiciones Lenguajes de programación Traductores Ciclo de vida de los programas.
Asignatura: Computadores Profesor: José Estay Araya Sitio de la asignatura: User: cpu2014 psw: cpu#X86.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
Metodología de la programación
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
PRINCIPIOS DE PROGRAMACIÓN

UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Es un tipo especial de software que nos permite *Crear *Desarrollar *Programar otras aplicaciones. Haciendo uso de sus conocimientos lógicos y lenguajes.
Lenguaje de programación c
EL TIPO DE DATO LOGICO y constantes.
Conceptos y Lenguaje Imperativo
Fundamentos de Programación Unidad I Conceptos Básicos.
Algoritmos y Programación. Objetivos de Aprendizaje: Al finalizar esta unidad ud. debe estar en la capacidad de: Definir el propósito y el contenido de.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
Transcripción de la presentación:

Asignatura: Computadores T.U.Especialidad Sistemas Computacionales Profesor: José Estay Araya Sitio de la asignatura: http://www.jiiea.com/Computers/ User: cpu2014 psw: cpu#X86

Asignatura: Computadores 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. Usar un compilador para MCU Microchip CCSv4

SESION FECHA ACTIVIDAD DESCRIPCION 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Introducción a la asignatura Fundamentos de C 2 Exp 1 3 Exp 4 Exp 3 5 Exp 4 6 C-1 7 Exp 5 8 Exp 6 9 Exp 7 10 Exp 8 11 C-2 12 Exp 9 13 Exp 10 14 Exp 11 15 Exp 12 16 C-3 17 Notas finales y cierre del curso

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

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

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

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

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

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

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

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

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

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

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

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

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

Operadores aritméticos + - * / %

Precedencia () - * / + -

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

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

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

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

Entrada estándar Funcion scanf() Especificador de formato

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

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

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

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

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

Sentencia if Sintaxis: if (expresion) sentencia

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

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

switch

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

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

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

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

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

while

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

do-while…….

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

Recursividad Estudio personal: significado y aplicación

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

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

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

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

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

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

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;

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

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

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

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

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.

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

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)

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

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: 12345678 Si almacenamos el número como texto 31 32 33 34 35 36 37 38  8 bytes Si almacenamos binario BC614E  3 bytes Por lo cual el ahorro de espacio es considerable