You are on page 1of 75

INC-112 Programacin I o Unidad 1

Profesores: Roberto Muoz S. - Eliana Providel G. n Escuela de Ingenier Civil en Informtica a a Universidad de Valpara so
roberto.munoz.s@uv.cl, eliana.providel@uv.cl

Segundo Semestre 2011

Unidad 1

Contenidos Unidad I

Parte I: Introduccin. o Parte II: Estructura de un Programa en C. Parte III:Tipos de datos. Parte IV: Operadores.

Unidad 1

Parte I: Introduccin o

Unidad 1

Contenidos

Generaciones. Estructura f sica de un computador. La medida de informacin. o Algoritmos. Programacin. o

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Un lenguaje de programacin debe ser parte de la solucin, o o no parte del problema

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Un computador facilita el trabajo de un ser humano. Ej. multiplicar nmeros. u Qu se hace para obtener una solucin? e o Disear un algoritmo. n Programador codica en un lenguaje de programacin que el o computador es capaz de entender. Se ejecuta el programa en el computador. Computador entrega el resultado.

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Elementos principales del computador

Elementos principales del computador


La parte f sica del computador, es decir, todos aquellos componentes que conforman la estructura de un computador, se conocen como el Hardware (HW). CPU (Central Processing Unit) Memoria ROM Memoria RAM Memoria Secundaria Placa Madre Dispositivos de Salida Dispositivos de Entrada
Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Elementos principales del computador

CPU
CPU: Procesador. Es el cerebro del computador. Sus componentes t picos son la ALU y la CU.

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Elementos principales del computador

Memoria ROM
Memoria ROM: Programas bsicos para el funcionamiento del a hardware. Los datos almacenados en la ROM no se pueden modicar, permitiendo slo su lectura. o

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Elementos principales del computador

Memoria RAM
Memoria RAM: Dispositivo capaz de almacenar temporalmente informacin (al apagar el equipo, todo lo que se encontraba en la o RAM se pierde), almacena informacin que la CPU est accesando o a frecuentemente y necesita para poder trabajar. No es posible que el usuario acceda a ella. Adems, es parte de la Memoria Principal, a junto con la Memoria Cach. e

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Elementos principales del computador

Memoria Secundaria
Memoria Secundaria: Todas aquellas unidades de disco que un computador puede tener. Se usa para almacenar grandes cantidades de datos que requieren ser accesados en algn u momento. Son de lento acceso (obtener informacin toma ms o a tiempo que en la RAM). No es Voltil como la RAM (al apagar el a equipo, no se pierde lo que hay en la memoria secundaria). Aqu el usuario se puede accesar a la memoria llamando directamente a los archivos.

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Elementos principales del computador

Placa Madre
Placa Madre: Tarjeta Madre. Es el lugar donde se conectan todos los dispositivos como: procesador, memorias, tarjetas de video, sonido, red, etc.

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Elementos principales del computador

Dispositivos de Entrada
Dispositivos de Entrada: Elementos que permiten ingresar informacin al computador, tales como: teclado, mouse, o micrfono, scanner, etc. o

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Elementos principales del computador

Dispositivos de Salida
Dispositivos de Salida: Elementos por los cuales el computador entrega informacin, tales como: impresoras, monitor, parlantes, o etc.

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

La Medicin de la Informacin o o

La informacin se mide en bits (b). Un bit puede solamente tomar o los valores 0 1. 1 1 1 1 1 byte (B) kilobyte (KB) megabyte (MB) gigabyte (GB) terabyte (TB) = = = = = 8 bits 210 bytes 210 kilobytes 210 megabytes 210 gigabytes

= = =

220 bytes 230 bytes 240 bytes

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o

Denicin de Algoritmo o

Algoritmo Secuencia de pasos nita y ordenada que permite dar solucin a un o problema.

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Denicin de Algoritmo o

Algoritmo Secuencia de pasos nita, no ambigua y ordenada que permite dar solucin a un problema. o

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Denicin de Programa o
Programa Es el complemento del Hardware (la parte f sica del computador). Son conjuntos de instrucciones capaces de decirle al computador qu es lo que debe realizar. e Los programas se pueden diferenciar en 4 grupos: de gestin de o recursos, de usuario o aplicaciones, de soporte a aplicaciones, bsicos. a Todos los programas conforman el conjunto del Software (SW) del computador. Lo unico tangible del software es el lugar donde es almacenado (disco duro, CD, DVD, pendrive, diskette, etc).
Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Denicin de Programa o
Programa Es el complemento del Hardware (la parte f sica del computador). Son conjuntos de instrucciones capaces de decirle al computador qu es lo que debe realizar. e Los programas se pueden diferenciar en 4 grupos: de gestin de o recursos, de usuario o aplicaciones, de soporte a aplicaciones, bsicos. a Todos los programas conforman el conjunto del Software (SW) del computador. Lo unico tangible del software es el lugar donde es almacenado (disco duro, CD, DVD, pendrive, diskette, etc).
Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Denicin de Programa o
Programa Es el complemento del Hardware (la parte f sica del computador). Son conjuntos de instrucciones capaces de decirle al computador qu es lo que debe realizar. e Los programas se pueden diferenciar en 4 grupos: de gestin de o recursos, de usuario o aplicaciones, de soporte a aplicaciones, bsicos. a Todos los programas conforman el conjunto del Software (SW) del computador. Lo unico tangible del software es el lugar donde es almacenado (disco duro, CD, DVD, pendrive, diskette, etc).
Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Denicin de Programa o
Programa Es el complemento del Hardware (la parte f sica del computador). Son conjuntos de instrucciones capaces de decirle al computador qu es lo que debe realizar. e Los programas se pueden diferenciar en 4 grupos: de gestin de o recursos, de usuario o aplicaciones, de soporte a aplicaciones, bsicos. a Todos los programas conforman el conjunto del Software (SW) del computador. Lo unico tangible del software es el lugar donde es almacenado (disco duro, CD, DVD, pendrive, diskette, etc).
Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Denicin de Programa o
Programa Es el complemento del Hardware (la parte f sica del computador). Son conjuntos de instrucciones capaces de decirle al computador qu es lo que debe realizar. e Los programas se pueden diferenciar en 4 grupos: de gestin de o recursos, de usuario o aplicaciones, de soporte a aplicaciones, bsicos. a Todos los programas conforman el conjunto del Software (SW) del computador. Lo unico tangible del software es el lugar donde es almacenado (disco duro, CD, DVD, pendrive, diskette, etc).
Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Denicin de Programa o
Programa Es el complemento del Hardware (la parte f sica del computador). Son conjuntos de instrucciones capaces de decirle al computador qu es lo que debe realizar. e Los programas se pueden diferenciar en 4 grupos: de gestin de o recursos, de usuario o aplicaciones, de soporte a aplicaciones, bsicos. a Todos los programas conforman el conjunto del Software (SW) del computador. Lo unico tangible del software es el lugar donde es almacenado (disco duro, CD, DVD, pendrive, diskette, etc).
Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Denicin de Programa o
Programa Es el complemento del Hardware (la parte f sica del computador). Son conjuntos de instrucciones capaces de decirle al computador qu es lo que debe realizar. e Los programas se pueden diferenciar en 4 grupos: de gestin de o recursos, de usuario o aplicaciones, de soporte a aplicaciones, bsicos. a Todos los programas conforman el conjunto del Software (SW) del computador. Lo unico tangible del software es el lugar donde es almacenado (disco duro, CD, DVD, pendrive, diskette, etc).
Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Tipos de Programas
de Gestin de Recursos: Conocidos como Sistemas o Operativos. Son el programa ms importante, ya que controla a el funcionamiento del computador y de los dems programas. a El sistema operativo, establece las reglas y parmetros para a que las aplicaciones inter-acten con el hardware del u computador, utilizndolo como interprete entre ambas partes a (aplicaciones-HW). Adems, es el encargado de asignar los recursos de memoria o a procesador a las diferentes aplicaciones que estn corriendo en a un momento dado.
Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Tipos de Programas
Programas de Gestin de Recursos: Ejemplos: Windows (NT, 3.x, o 95, 98, XP, Server 2003, Vista), Unix, Linux (RedHat, Debian, Mandrake, CentOS, SuSe, Fedora, etc), MacOS, Solaris, entre muchos ms. a

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Tipos de Programas

de Usuario o Aplicaciones: Programas que son escritos para o por los usuarios para realizar una tarea espec ca en el computador. Ejemplos: procesadores de textos, hojas de clculo, a aplicaciones para sonido y/o video, navegadores, antivirus, etc.

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Tipos de Programas
de Soporte a Aplicaciones: Se tienen los drivers y los codecs. Un driver es un programa (conjunto de instrucciones) que controla un dispositivo, ya sea externo o interno que vaya conectado al computador. Los archivos de audio y sonido se comprimen y descomprimen mediante ciertos algoritmos matemticos para poder a almacenar o ejecutar aquellos archivos. Un codec es un programita desarrollado en base a estas frmulas matemticas o a de compresin. De ah su nombre que proviene de o COmpresin y DECompresin. o o
Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Denicin de Algoritmo o Denicin de Programas o Tipos de Programas

Tipos de Programas

Bsicos: La BIOS (Basic Input-Output System) es un cdigo a o que localiza y carga el sistema operativo en la RAM. Proporciona el funcionamiento y conguracin del hardware o del sistema que, como m nimo, maneja el teclado y proporciona salida bsica (emitiendo pitidos normalizados por a el altavoz del ordenador si se producen fallos) durante el arranque. La BIOS generalmente est escrito en lenguaje ensamblador. a

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Lenguajes de Programacin o

Un Lenguaje de Programacin es aquel que se utiliza para o desarrollar programas que el computador pueda entender. Estn a formados por conjuntos de s mbolos (alfabeto) y reglas. Cada d existen problemas ms diversos y complejos; los a, a lenguajes de programacin deben ser capaz de adaptarse y entregar o eciencia en la ejecucin. o

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Tipos de lenaguaje de Programacin o

Existen 3 tipos de Lenguajes de Programacin: o


1 2 3

Lenguaje de Mquina a Lenguajes de Bajo Nivel (ensamblador) Lenguajes de Alto Nivel (C, Pascal, Basic, Algol, Cobol, Fortran, Prolog, entre muchos ms) a

Los lenguajes que tiene mayor semejanza con el lenguaje humano se les llama lenguajes de alto nivel, mientras que los lenguajes ms a parecidos al lenguaje de mquina son conocidos como de bajo nivel. a

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Lenguaje Ensamblador y de Mquina a

El Lenguaje Ensamblador es una notacin del lenguaje de mquina o a que es legible por personas y es espec ca de cada arquitectura de computadoras. Mientras que el Lenguaje de Mquina es el sistema de cdigos a o directamente interpretable por un circuito microprogramable, como el microprocesador de un computador. As el lenguaje est , a compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la mquina. a

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Denicin de Compilador o
Compilador Es un programa encargado de transformar el cdigo escrito por una o persona a un cdigo que el computador pueda entender, es decir, a o un lenguaje de bajo nivel o a lenguaje de mquina. a Ejemplos de Compiladores C Borland C++; MS Visual C++; GNU gcc/c++ (versin MinGW para Windows), GNU gcc/g++ para Linux, Dev-C++ (Windows), Borland Turbo C++.

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Denicin de Compilador o
Compilador Es un programa encargado de transformar el cdigo escrito por una o persona a un cdigo que el computador pueda entender, es decir, a o un lenguaje de bajo nivel o a lenguaje de mquina. a Ejemplos de Compiladores C Borland C++; MS Visual C++; GNU gcc/c++ (versin MinGW para Windows), GNU gcc/g++ para Linux, Dev-C++ (Windows), Borland Turbo C++.

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Denicin de Ensamblador o

Ensamblador Un ensamblador es un programa que traduce de un lenguaje ensamblador a lenguaje mquina. a

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Paradigmas de Programacin o

Lenguaje Imperativo o procedural. Lenguajes funcionales. Lenguajes lgicos. o Lenguajes orientados a objetos.

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Lenguaje Imperativo o procedural.

Consiste en una secuencia de instrucciones que deben ser ejecutadas y que producen un determinado resultado deseado. Describe la programacin en trminos del estado del programa o e y sentencias que cambian dicho estado. Incorporan sentencias como: ciclos, asignaciones, ujos de control. . . etc. Algunos lenguajes imperativos: C, Perl, Algol, Ada, Pascal.

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Lenguaje Imperativo o procedural.


Niklaus Wirth: Cualquier problema algor tmico puede resolverse con el uso de estos tres tipos de instrucciones. Secuenciales Instrucciones que se ejecutan en orden normal. El ujo del programa ejecuta la instruccin y pasa a ejecutar o la siguiente. Alternativas Instrucciones en las que se evala una condicin y u o dependiendo si el resultado es verdadero o no, el ujo del programa se dirigir a una instruccin o a otra. a o Iterativas Instrucciones que se repiten continuamente hasta que se cumple una determinada condicin. o
Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Lenguajes Funcionales

Estn constituidos unicamente por deniciones de funciones, a entendiendo stas no como subprogramas clsicos de un e a lenguaje imperativo, sino como funciones puramente matemticas, basado en lgica. a o Ejemplo: Haskell, Miranda, Lisp

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Lenguajes Lgicos o

El programador, parar solucionar un problema, todo lo que tiene que hacer es describirlo v axiomas y reglas de a deduccin. o Ej. : PROLOG

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Lenguajes Orientados a Objetos

Se introducen los conceptos de objetos, clases y mtodos La e idea de la POO es poseer un conjunto de objetos que se comunican y colaboran entre si para dar solucin a un o problema. Ejemplo: Java, C++

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Caracter sticas del lenguaje C

C es un lenguaje de programacin estructurado. o El lenguaje C fue diseado por Dennis Ritchie, de los n Laboratorios Bell. Brian Kernighan y Dennis Ritchie publicaron, en el ao 1978, n el libro The C Programming Language que es la denicin o importante del lenguaje. Otro estndar:The C Programming Language-Reference a Manual (Lab.Bell) escrito por Dennis M. Ritchie.

Unidad 1

Estructura f sica de un computador La medida de informacin o Algortimos Algortimos Programacin o

Lenguajes de Programacin o Deniciones Paradigmas de Programacin o Caracter sticas del lenguaje C

Caracter sticas del lenguaje C


Permite estructuras de control while, do-while, for. Posee un conjunto reducido de palabras claves. Permite manejar bits, bytes y direcciones. A mediados de los ochenta se crea el C++, que corresponde a una extensin del lenguaje C con un paradigma Orientado a o Objetos. El C++ se convierte en estndar ISO en 1998. Para a C no se considerarn mas modicaciones, se harn para C++. a a No comprueba errores en tiempo de ejecucin Por ejemplo o que no se asignen datos a posiciones de arreglos que no han sido creadas. El programados es el encargado de vericar estas comprobaciones.
Unidad 1

Parte II: Estructura de un programa en C.

Unidad 1

Contenidos Parte II

Generalidades Estructura general de un programa Bibliotecas o Cabeceras Sentencias importantes para el compilador Funciones Proceso de compilacin o

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Generalidades

Generalidades

Un programa en C consta de una o ms funciones a Existe una funcin que siempre debe estar: main(). Es la o primera funcin que es llamada cuando el programa es o ejecutado.

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Estructura de un Programa en C

/*Declaracin de Bibliotecas*/ o #include <stdio.h> /*Declaracin de Funciones*/ o int main(){ /*Declaracin de Variables y Constantes*/ o /*Sentencias separadas por ; */ return 0; }

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Estructura de un Programa en C
Estructura Un programa en C es constru mediante 3 elementos: do Declaraciones: de variables y constantes Sentencias: las cuales se componen de conjuntos de instrucciones en donde,
Un bloque de instrucciones se delimita mediante { } Cada sentencia se separa mediante ; con la siguiente

Comentarios: los cuales no son considerados al momento de la Compilacin y se escriben entre /* */ o

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Estructura de un Programa en C
Estructura Un programa en C es constru mediante 3 elementos: do Declaraciones: de variables y constantes Sentencias: las cuales se componen de conjuntos de instrucciones en donde,
Un bloque de instrucciones se delimita mediante { } Cada sentencia se separa mediante ; con la siguiente

Comentarios: los cuales no son considerados al momento de la Compilacin y se escriben entre /* */ o

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Estructura de un Programa en C
Estructura Un programa en C es constru mediante 3 elementos: do Declaraciones: de variables y constantes Sentencias: las cuales se componen de conjuntos de instrucciones en donde,
Un bloque de instrucciones se delimita mediante { } Cada sentencia se separa mediante ; con la siguiente

Comentarios: los cuales no son considerados al momento de la Compilacin y se escriben entre /* */ o

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Estructura de un Programa en C
Estructura Un programa en C es constru mediante 3 elementos: do Declaraciones: de variables y constantes Sentencias: las cuales se componen de conjuntos de instrucciones en donde,
Un bloque de instrucciones se delimita mediante { } Cada sentencia se separa mediante ; con la siguiente

Comentarios: los cuales no son considerados al momento de la Compilacin y se escriben entre /* */ o

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Bibliotecas o Cabeceras

C posee un conjunto de bibliotecas que contiene una variedad de funciones. Se colocan al principio del archivo se la siguiente forma. #include <stdio.h> #include "cabecera.h"

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Sentencias importantes para compilar

Sentencias importantes para compilar


Son aquellas que el computador interpreta antes de la compilacin o del programa. Comienzan por el signo # Ej. #define PI 3.14 #include <stdio.h> # define PRUEBA 1 ... ...

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Funciones

Funciones
Encabezado = tipo Retorno nombreFuncin (p1, p2, p3) o Parmetros = p1, p2, p3; a { Cuerpo funcin o Declaraciones = tipo a1; Sentencias = sentencia; ... sentencia; }

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Funciones

Funciones - ejemplo

int suma(int x, int y) { int z; z=0; z=x+y; return z; }

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Proceso de compilacin o

Como se obtiene un archivo ejecutable a partir de un cdigo fuente o en C? Existen tres fases principales: Preprocesado Compilado Ensamblado Enlazado

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Proceso de compilacin o
#define PI 3.1416 main() { float area, radio; radio = 10; area = PI * (radio * radio); printf("Circulo.\n"); printf("%s%f\n\n", "Area de circulo radio 10: ", area); }
Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Preprocesado
Acta sobre el programa fuente u Permite realizar algunas operaciones antes de que el cdigo o sea compilado Operaciones como:
Sustitucin de constantes simblicas o o Aquellas l neas que comienzan con # # include <nombre de archivo> # include archivo.h La primera busca en el o los directorios estndares de las a librerias denidas en C El segundo busca en el directorio en donde se est trabajando a y en los directorios estndares de C a # dene constante
Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Preprocesado

gcc -E circulo.c > circulo.pp more circulo.pp

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Compilacin o
Compilacin Condicional o Permite compilar slo algunas partes del cdigo fuente o o Se suele utilizar cuando se tiene varias versiones de un programa
Por ej: Versiones para diferentes sistemas operativos Versin de un compilador gratuito que no tiene todas las o funcionalidades o versin completa de un programa o Uso de #if, #else, #elif, #endif Uso de #ifdef y #undef

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Compilacin o
Compilacin Condicional Ejemplo 1. o #if SYSTEM == OSX #define HDR "osx.h" #elif SYSTEM == MSDOS #define HDR "msod.h" #elif SYSTEM == BSD #define HDR "bsd.h" #else #define "default.h" #enif #include HDR
Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Compilacin o
Compilacin Condicional Ejemplo 2. Segn una constante o u #define max 10 int main() { //entrada de datos #if max >10 . . . #else . . . #endif return 0; }
Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Compilacin o

El compilador se encarga de analizar el cdigo fuente. o Busca la existencia de errores. Tiene como salida un archivo con la traduccin del cdigo o o fuente a un conjunto de instrucciones para el procesador. Si existen varios archivos, lo que es conveniente si es que un archivo es muy grande, se considerarn todos lo archivos. a La compilacin transforma el cdigo C en el lenguaje o o ensamblador propio del procesador de nuestra mquina. a

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Compilacin o

gcc -S circulo.c more circulo.s

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Ensamblado

El ensamblado transforma el programa escrito en lenguaje ensamblador a cdigo objeto, un archivo binario en lenguaje o de mquina ejecutable por el procesador. a

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Ensamblado

gcc -c circulo.c more circulo.o

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Enlazado

Rene todos los archivos objetos de la fase anterior u produciendo un slo archivo ejecutable. o C provee un conjunto de librer que es un conjunto que as, mdulos objetos que han sido reunidos en un solo archivo. o Muchas de estas librer estn declaradas en archivos as a cabeceras.

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Enlazado

gcc -o circulo circulo.o ./circulo

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Proceso Completo
Cabecera Cabecera Modulo Fuente Compilacin Cabecera

Librera Modulo Fuente Modulo Fuente

Modulo Objeto

Enlazado

Modulo Ejecutable

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Proceso Completo

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Compilar y ejecutar un programa

En un editor escribir un programa en C con nombre primerprograma.c Guardar y salir del editor Compilar mediante: gcc primerprograma.c -o primerprograma Ejecutar: ./primerprograma

Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Compilacin: Ejemplo o
#include <stdio.h> int main(){ int a = 2; char b = x; printf(El valor de a es %d y el de b es %c, a, b); return 0; } $ gcc ejemplo2.c -o ejemplo2 $ ./ejemplo2 El valor de a es 2 y el de b es x
Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Resumen
Resumen. Para producir un ejecutable con fuente de un slo archivo: o $ gcc -o circulo circulo.c Para crear un mdulo objeto, con el mismo nombre del fuente y o extensin .o: o $ gcc -c circulo.c Para enlazar un mdulos objeto: o $ gcc -o circulo circulo.o Para enlazar los mdulos objeto triangulo.o, cuadrado.o, circulo.o, o ya compilados separadamente, en el archivo ejecutable area: $ gcc -o area triangulo.o cuadrado.o circulo.o
Unidad 1

Generalidades Estructura de un Programa en C Bibliotecas o Cabeceras Sentencias importantes para compilar Funciones Proceso de compilacin o

Preprocesado Compilacin o Ensamblado Enlazado Proceso Completo Proceso Completo Compilar y ejecutar un programa

Compilacin: Errores y Warnings o


Error: El compilador aborta el proceso de compilacin. o Ejemplo: variables asignadas pero sin declarar el tipo de dato. Warning (-Wall): No son errores. El compilador sugiere corregir el problema para evitar errores. Ej. variables sin uso.

Unidad 1

Preguntas

Preguntas

Unidad 1

You might also like