Вы находитесь на странице: 1из 35

PRUEBA DE ENTRADA

La prueba de entrada tiene el propsito de medir los conocimientos previos


necesarios para desarrollar el curso sin problemas. Usted debe descargar
el siguiente archivo y realizar los problemas propuestos empleando el
simulador FlowCode.

La Prueba de Entrada dura 45 minutos. Una vez que haya desarrollado


todas las preguntas, deber enviar los diagrama de flujo correspondientes a
cada pregunta por el siguiente enlace:

PETarea

Microprocesador
Con la aparicin del microprocesador se dio inicio a la programacin computacional.
Aparecen trminos como:

Hardware (Lgica cableada) y Software (Lgica Programada)

Programacin
La programacin es el proceso de disear, codificar, depurar y mantener el cdigo fuente
de programas computacionales. El cdigo fuente es escrito en un lenguaje de
programacin. El propsito de la programacin es crear programas que exhiban un
comportamiento deseado.

La programacin es un soporte fundamental de la ingeniera. Las matemticas son la


base para la programacin.

A continuacin ver el siguiente video acerca de la programacin:

Algoritmo

Es un conjunto de instrucciones o reglas bien definidas, ordenadas y finitas que permite


realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba
realizar dicha actividad.

En el siguiente diagrama mostramos un ejemplo del proceso en el cual una idea se


convierte en unalgoritmo:

Para documentar un algoritmo se puede emplear el lenguaje natural, sin embargo este
es ambiguo y extenso. Por ellos es que se utiliza un "lenguaje" ms estructurado. Tenemos
dos opciones:

Pseudocdigo
Diagramas de flujo de Datos
A continuacin vea el siguiente video acerca de lo que es un algoritmo:

Diagrama de Flujo de Datos: DFD


Los diagramas de flujo de datos o DFD, son descripciones grficas de los algoritmos; usan
smbolos conectados con flechas para indicar la secuencia de instrucciones.
Un diagrama de flujo se puede documentar mediante diversos programas como:
Microsoft Word y Power Point, con la opcin Insertar -Formas.
Microsoft Visio.
Editores de DFD.
Sin embargo todos estos programas solo nos permite documentar el diagrama de flujo de
datos.
Otra opcin es trabajar con un software que no solamente me permita documentar el DFD,
sino que tambin me permita ejecutarlo. Uno de estos programas de denomina FlowCode.

Programa
Es un archivo que contiene un conjunto de instrucciones (rdenes) que el microprocesador
entiende y ejecuta para realizar una determinada tarea. Los programas son escritos
utilizando Lenguajes de Programacin como: Java, C, Visual Basic, etc.
Todo programa debe tener por lo menos una entrada y una salida. Su funcionamento es:

El programa lee un dato la entrada (por ejemplo: lee el teclado) y lo almacena en


unavariable.
Calcula un nuevo valor para la salida en funcin a los datos de entrada y el algoritmo
implementado. En funcin a lo complejo que puede ser la informacin de la salida, esta se
puede almacenar en una variable.
Finalmente el programa enva el nuevo valor a la salida del computador (por ejemplo:
la pantalla de video).

Lenguaje de Programacin

Es un lenguaje formal diseado para expresar procesos que pueden ser llevados a cabo por
mquinas como las computadoras. Pueden usarse para crear programas que controlen el
comportamiento fsico y lgico de una mquina, para expresar algoritmos con precisin, o como
modo de comunicacin humana.

Un lenguaje de programacin es un idioma artificial

Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su
estructura y el significado de sus elementos y expresiones. Estos lenguajes se clasifican en dos
categoras:

Lenguaje Mquina (basado en "1" y "0")

Lenguaje de Bajo Nivel:

Lenguaje Ensamblador.


Lenguaje de Alto Nivel: C, Java, etc)
Se puede distinguir dos tipos de lenguajes, segn se realice su ejecucin:

Interpretado, en donde cada instruccin que contiene el programa se va


convirtiendo a cdigo mquina antes de ejecutarla, lo que hace que sean ms
lentos.
Compilado, en donde se convierte todo el programa en bloque a cdigo
mquina y despus se ejecuta.

Elementos de un Lenguaje de Programacin

Todo lenguaje de programacin debe tener los siguientes elementos:

Variables: Una variable sirve para almacenar temporalmente datos en un


programa. Las variables almacenan informacin en la memoria RAM del
computador. Dependiendo del tipo de datos que se quiere almacenar en una
variable, esta puede ser de 1 bit, 8 bits (byte), 16 bits (word), etc.

Tipo de Datos: Son los diversos "tamaos" de datos que puede trabajar un lenguaje de
programacin. Existen bsicamente dos tipos de datos:

Datos simples:

Datos Numricos: enteros, real, byte, etc.

Datos Lgicos o Booleanos.

Datos Alfanumricos: carcter y cadena.

Etc.

Estructura de datos:

Arreglos (Array)

Etc.

Operadores: Smbolos que representan operaciones.


Operadores Relacionales o Condicionales: >, <, =, etc.
Operadores Aritmticos: +, -, *. /, etc.
Operadores Lgicos o Booleanos: and, or, not, etc.
Operadores Alfanumricos.
Funciones de Entrada y Salida: Permiten comunicarse con diversos
dispositivos, sin saber exactamente como trabajan. Le brinda independencia al
programador sobre el hardware que tiene su computador. Tambien es posible que
el programador elabore funciones para un mejor entendimiento o ejecucin de su
programa.
Juego de Instrucciones o sentencias: Que permita poder leer informacin
de entrada, procesar informacin y finalmente enviar informacin a la salida. Los
nombres de las instrucciones son Palabras Reservadas y no pueden emplearse
como nombre de una constante o variables.

Estructuras de control: Secuenciales, condicionales y repetitivas.

Funciones: Son pequeos programas que elabora el programador


y que le sirve para un mejor entendimiento o ejecucin del programa
principal. Normalmente se almacenan en archivos denominados libreras.

Subprogramas

Etc.

Ensambladores

Se llama ensamblador a los programas encargados de traducir los programas escritos


usando Nemnicos a cdigo binario (byte code).

Fjese en que tanto el programa "traductor" como el lenguaje de


programacin se llaman del mismo modo: ensamblador.
Como el lenguaje ensamblador es muy prximo al binario, estos traductores
son programas relativamente sencillos.

Compiladores
El compilador es un programa que traduce cdigo de alto nivel (instrucciones de un lenguaje de
programacin de alto nivel) a cdigo binario (byte code). Es, por tanto, parecido al ensamblador,
pero mucho ms complejo.

El programa escrito en lenguaje de alto nivel se denomina programa fuente o cdigo


fuente. El programa traducido a cdigo binario se llama programa objeto o cdigo objeto.
Por lo tanto, el compilador se encarga de convertir el programa fuente en un programa
objeto.

Una vez que se ha obtenido el programa objeto ya no es necesario volver a realizar la


traduccin (o compilacin), a menos que se haga alguna modificacin en el programa
fuente, en cuyo caso habra que volver a compilarlo.

El programa objeto, una vez generado, puede ejecutarse en la mquina en la que fue
compilado, o en otra de similares caractersticas (procesador, sistema operativo, etc.).

Cuando el programa objeto se haya disperso en diferentes archivos (lo que ocurre con
frecuencia cuando el programa es grande o, sencillamente, cuando usa funciones escritas
por terceras personas), puede ser necesario un proceso previo de enlace de los diferentes

mdulos. De eso se encarga un programa llamado enlazador o linker, que suele actuar
inmediatamente despus del compilador.

Tipos de Lenguajes de Programacin


Segn la forma de las instrucciones, se pueden distinguir dos tipos de lenguajes de programacin:

Lenguajes de Programacin Textuales


Son los lenguajes de programacin en donde se debe escribir el programa, esto significa conocer
los comandos del lenguaje de programacin que se esta usando y tener cuidado de no cometer
errores de sintaxis. Ejemplos:

C
C++
Pascal
Fortran
Java
Etc.

Lenguajes de Programacin Iconogrficos


Existe una necesidad creciente que cada vez ms profesionales incursionen en la programacin y
sin que hayan estudiado programacin. Es por ello que se crearon los lenguajes de programacin
iconogrficos, cuyas caracteristicas son:

"Aslan" la complejidad de los comandos o sentencias que tiene cada lenguaje de


programacin y los representan como conos.

Minimizan la actividad de escribir los programas, simplemente los tiene que "dibujar",
arrastrando iconos al "rea de programacin".
Existen muchos ejemplos de lenguajes de programacin iconogrficos. Ejemplo:

Lenguaje Ladder (escalera) para programar equipos denominados PLC (Programmable


Logic Controller). Esta dirigido fuertemente a los ingenieros electricistas.

Lenguaje G empleado con el software LabView, para la automatizacin y control de


equipos electrnicos.

Lenguaje de Programacin Interpretados y Compilados


Se puede distinguir dos tipos de lenguajes, segn se realice su ejecucin:

Interpretado, en donde cada instruccin que contiene el programa se va convirtiendo a


cdigo mquina antes de ejecutarla, lo que hace que sean ms lentos.

Compilado, en donde se convierte todo el programa en bloque a cdigo mquina y


despus se ejecuta.
En el siguiente cuadro se esquematizan algunas de las diferencias entre compilar e interpretar:
Compilar

Interpretar

Genera un ejecutable

No genera un ejecutable

El proceso de traduccin se realiza


una sola vez

El proceso de traduccin se realiza en


cada ejecucin

La ejecucin es muy rpida debido a


que el programa ya ha sido traducido
a cdigo mquina

La ejecucin es ms lenta, ya que


para cada lnea del programa es
necesario realizar la traduccin

El ejecutable va dirigido a una


plataforma concreta (una CPU, un
sistema operativo, y quizs alguna
otra consideracin), siendo
prcticamente imposible portarlo a
otra. En ocasiones, si existe un
compilador para otra plataforma, se
puede recompilar el programa, aunque
normalmente esto plantea serias
dificultades. Los programas que se

No hay ejecutable, as que si existe un


intrprete para otra plataforma, el
programa se podr ejecutar en
ambas. Tpicamente, los programas
interpretados son mucho ms
portables que los compilados, ya que
suelen existir intrpretes del mismo
lenguaje en distintas plataformas. Los
programas que se van a interpretar no
suelen ser muy dependientes de su

van a compilar suelen estar muy


ligados a la plataforma de destino.

plataforma de destino, siendo ms


portables.

Los lenguajes compilados suelen


proporcionar al programador
mecanismos ms potentes y flexibles,
a costa de una mayor ligazn a la
plataforma.

Los lenguajes interpretados no suelen


ser muy dependientes de la
plataforma de destino, pero en
contrapartida suelen ser menos
flexibles y potentes que los
compilados.

Una vez compilado el programa, el


cdigo fuente no es necesario para
ejecutarlo, as que puede permanecer
en secreto si se desea.

El cdigo fuente es necesario en cada


ejecucin, as que no puede
permanecer en secreto

Los errores sintcticos se detectan


durante la compilacin. Si el fuente
contiene errores sintcticos, el
compilador no producir un ejecutable.

Los errores sintcticos se detectan


durante la ejecucin, ya que
traduccin y ejecucin se van
haciendo simultneamente. Algn
error sintctico podra quedar
enmascarado, si para una ejecucin
concreta no es necesario traducir la
lnea que lo contiene. (Algunos
intrpretes son capaces de evitar
esto)

Un programa compilado puede, por


error, afectar seriamente a la
estabilidad de la plataforma,
comprometiendo la ejecucin de los
otros procesos, por ejemplo,
acaparando la CPU, la memoria o
algn otro recurso, siendo a veces
complicado para el sistema operativo
interrumpir su ejecucin.

Un programa interpretado con un


comportamiento torpe normalmente
puede ser interrumpido sin dificultad,
ya que su ejecucin est bajo el
control del intrprete, y no slo del
sistema operativo.

PROGRAMAS PARA HACER PROGRAMAS

Los programas se crean mediante otros programas especializados que nos permiten:

Escribir o dibujar el programa (dependiendo si el lenguaje de programacin


es textual o iconogrfico). A esto se le conoce como el editor.
Deteccin de errores como por ejemplo: una sentencia mal escrita, una
mala definicin del tipo de datos para una variable, etc. El programa nos indica
donde esta el error para poder corregirlo. A esta funcionalidad se le conoce
como depurador (debugger).

Convertir el programa fuente en cdigo entendible por el microprocesador. A


este proceso se le denomina compilacin o interpretacin, dependiento del tipo
de lenguaje de programacin empleado.

Entorno seguro de ejecucin del programa, para evitar que por una mala
programacin la computadora se "cuelgue".
A todas estas funcionalidades se les conoce como Herramientas de Desarrollo.

Herramientas de Desarrollo

Existen diversas herramientas para "crear" programas".

SDK (Software Development Kit)


Es un conjunto de herramientas de desarrollo que le permite a un programador crear
aplicaciones para un sistema en concreto (frameworks, plataformas de hardware,
videoconsolas, sistemas operativos, etc).

Incluye:

Soporte para la escritura del programa (editor) y la deteccin de errores de


programacin (debuggers) y uno o varios compiladores. Es lo que se conoce
como un entorno de desarrollo integrado o IDE (Integrated Development
Environment).

Cdigos de ejemplo y notas tcnicas de soporte u otra documentacin de


soporte.
Ejemplos de SDK:

.Net Framework de Microsoft.


SDK de Java de Sun Microsystems.
SDK de Android de Google

IDE (Integrated Development Environment)


Es un programa informtico compuesto por un conjunto de herramientas de programacin.
Puede dedicarse en exclusivo a un solo lenguaje de programacin o bien puede utilizarse
para varios. Consiste en:

Un editor de cdigo.

Un o varios compiladores o intrpretes.

Un depurador (debugger).

Un constructor de interfaz grfica (GUI).

Un entorno de ejecucin del programa.

Los IDE proveen un marco de trabajo amigable para la mayora de los lenguajes de
programacin tales como C, C++, PHP, Python, Rub, Java, C#, Delphi, Visual Basic, etc.
Ejemplos:

Dev-C++

CodeBlocks

Netbeans (Open Source)

Eclipse (Open Source)

Creando Programas
Compilar significa traducir el cdigo escrito en un lenguaje entendible por humanos (como
puede ser C, Java, etc), a un cdigo entendible por el computador (para ser ms
especficos
debiramos
decir
el
microprocesador),
al
cual
se
le
denomina Cdigo Mquina:

El archivo ejecutable no es vlido para cualquier computador solo para aquellos que
tengan el mismo microprocesador. Es por ello que existen compiladores para cada
sistema operativo por ejemplo: compilador de C para Linux, compilador de C para
Windows, etc.

GCC
El GNU Compiler Collection (coleccin de compiladores GNU) es un conjunto de
compiladores creados por el proyecto GNU (C, C++. Fortran, ADa, etc). GCC es software
libre y lo distribuye la Free Software Foundation (FSF) bajo la licencia general pblica GPL.

MinGW (Minimalist GNU for Windows), anteriormente conocido como MinGW32, es una
implementacin de los compiladores GCC para la plataforma Windows.

Dev-C++
Es un IDE para el lenguaje de programacin C y C++ que usa entre otros compiladores
para Windows a MinGW de GCC. Permite crear:

Programas ejecutables para Windows (modo grfico).


Programas ejecutables para consola (modo texto).
Construccin de DLLs y bibliotecas estticas.
Adems, se puede utilizar en combinacin con otros compiladores basados
en GCC.

Entre sus caractersticas podemos mencionar:

Dev-C++ es software de libre con licencia GPL (Licencia Pblica General).


Permite desarrollar programas en lenguaje C y C++.
Es multilenguaje (espaol entre otros).
Soporta diversos tipos de compiladores para Windows:

Compilador MinGW GCC 4.8.1 de 32bit

Compilador TDM-GCC 4.8.1 de 32 y 64bit

El Dev-C++ puede ser descargado de la siguiente direccin:


http://sourceforge.net/projects/orwelldevcpp/?source=typ_redirect

CodeBlocks

Es un entorno de desarrollo integrado libre y multiplataforma para el desarrollo de


programas en lenguaje C y C++.

Est basado en la plataforma de interfaces grficas WxWidgets, lo cual


quiere decir que puede usarse libremente en diversos sistemas operativos.

Tiene Licencia Pblica General de GNU.

Esta desarrollado en C y C++


El programa se puede descargar de la siguiente direccin:
http://www.codeblocks.org/downloads/26#windows

Paradigmas de Programacin

Programacin Estructurada
Programacin Orientada a Objetos

LABORATORIO 1: Algoritmos
Vamos a emplear el programa FlowCode, el cual permite documentar algoritmos y tambien
ejecutarlos para comprobar su lgica.

Para poder implementar la "ejecucin del Diagrama de Flujo de Datos", el FlowCode trae dos
componentes:

Interfases para poder comunicarse con los perifricos, con los cuales vamos a
comprobar el funcionamiento del algoritmo.

Perifricos de entrada y salida, los cuales son usados como elementos de ingreso de
informacin al algoritmo y elementos de salida para mostrar el resultado del algoritmo. En
el siguiente grfico podemos observar un perifrico de entrada denominado switch y un
perifrico de salida denominado led:

LENGUAJE DE PROGRAMACIN C
C es un lenguaje de programacin creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell.
Es un lenguaje de programacin orientado a la implementacin de Sistemas Operativos como
UNIX y Linux, compiladores, manejadores de bases de datos, procesadores de textos, juegos, etc.

Caractersticas:

Es un lenguaje estructurado.
Permite el manejo de datos (bits y bytes).
C es case sensitive, es decir que distingue minsculas de maysculas.
Acceso a memoria de bajo nivel mediante el uso de punteros (posiciones de
memoria).

Ventajas:

Es el lenguaje de programacin de ms bajo nivel que otros lenguajes (excepto


elAssembler).
Existen compiladores de C para una amplia variedad de microprocesadores (uP) y
microcontroladores (uC).
C es ms facil para escribir cdigo que el lenguaje assembler (tiene mayor capacidad de
abstraccin). Se pueden manejar nmeros reales.

Desventajas:

El lenguaje Assembler es ms rpido que C.


C utiliza ms memoria que el Assembler.

Evolucin del Lenguaje C:


El lenguaje C ha ido evolucionando con el tiempo:

ANSI C, tambin conocido como C89 y C90 (indica el ao en que fue ratificado por el
Instituto Nacional Americano de Normas ANSI). Ejemplo:

#include <stdio.h>
#include <time.h>
main(){
int i;
double aleatorio;
srand(time(NULL)); //semilla
for(i=0;i<20;i++){
aleatorio=rand()%101;
printf("%.1f\n", aleatorio/10);
}
system("PAUSE");
}

C99

-std=c99
C11

-std=c11

#include <stdio.h>
#include <time.h>
main(){
double aleatorio;
srand(time(NULL)); //semilla
for(int i=0;i<20;i++){
aleatorio=rand()%101;
printf("%.1f\n", aleatorio/10);
}
system("PAUSE");
}

Para el caso de Dev C++ la configuracin del tipo de compilador a usar se hace en la siguiente
opcin: Herramientas - Opciones del Compilador

Variantes del C:

Se ha desarrollado diversas variantes del lenguaje de programacin C:

Objective-C fue el primer intento para implementar la programacin


orientada a objetos en C.

C++ fue el segundo intento de proporcionar orientacin a objetos a C y es la


variante ms difundida y aceptada.
Tambin se cre lenguajes inspirados en la sintaxis de C, pero que no son compatibles con
l:

Java
JavaScript
C# (pronunciado C Sharp) es un lenguaje desarrollado por Microsoft derivado
de C/C++ y Java.

Aplicaciones de C:
C es un lenguaje de programacin que se emplea mucho en la programacin de hardware
osistemas embebidos:

XC8: Es una implementacin del lenguaje C para programar


microcontroladores. Creado por la empresa Microchip.

La plataforma de desarrollo Arduino trabaja con un lenguaje de programacin que es


muy similar a C.

Primer programa

#include <stdio.h>
main() {
printf("FIEE-UNI\n"); /* Este es un comentario */
system("PAUSE");

Vamos a explicar el programa lnea por lnea:

#include <stdio.h>
#include es lo que se llama una directiva (las directivas son
rdenes que le damos al compilador). Sirve para indicar al compilador
que debe incluir un archivo. Cuando en compilador se encuentra con esta
directiva la sustituye por el archivo indicado. En este caso es el
archivo stdio.h que es donde est definida la funcin printf, que veremos
luego.

stdio.h, significa
"standard
input-output
header"
(cabecera estndar E/S), es una librera estndar del lenguaje de
programacin C que contiene entre otras cosas funciones para
operaciones de entrada y salida.

main()

Es la funcin principal del programa. Todos los programas de C


deben tener una funcin llamada main.

{}

Son las llaves que indican el comienzo y el fin de una funcin (en
este caso la funcin main).

printf("FIEE-UNI\n");

La funcin printf muestra un mensaje por la pantalla.

El smbolo \n hace que despus de imprimir el mensaje se pase a


la lnea siguiente. Es conocido como una "secuencia de escape".

/* Comentario */

Esto es un comentario, no se ejecuta. Sirve para describir el


programa. Un comentario puede ocupar ms de una lnea.

system("PAUSE")

system() es una funcin del lenguaje de programacin C. Sirve


para ejecutar subprocesos o comandos del sistema operativo. En el caso
de PAUSE, permite detener la ejecucin del programa hasta que se
presione una tecla.
Una variante del ejemplo anterior:

#include <stdio.h>
main() {
printf("FIEE\nUNI\n"); /* Este es un comentario */
system("PAUSE");
}

Si no ubicamos algunos simbolos en el teclado (debido a que est mal


configurado) podemos solucionar el problema escribiendo directamente el
cdigo ASCII del simbolo que queremos emplear. Esto se realiza mediante
la combinacin de teclas: ALT + nmero

Secuencias

de

escape

Una secuencia de escape es un caracter de control (realiza una determinada accin, pero
no imprime nada). Est formada por la barra invertida (\) y un carcter. Las secuencias de
escape ms utilizadas son:

\n nueva lnea
\t tabulador horizontal

Biblioteca o Librera en C
La biblioteca estndar de C (tambin conocida como libc) es una recopilacin de ficheros
cabecera y bibliotecas con rutinas, estandarizadas por un comit de la Organizacin
Internacional para la Estandarizacin (ISO), que implementan operaciones comunes, tales
como las de entrada y salida o el manejo de cadenas.
Existen una gran cantidad de libreras, la mayora son de libre uso:

math.h contiene las funciones matemticas comunes.


string.h para manipulacin de cadenas de caracteres.

Otras libreras son propietarias como por ejemplo:

conio.h, propiedad de Borland (slo sus compiladores pueden usarla). Esta


librera se utiliza por sus comandos: getch(), clrscr(), gotoxy(), textcolor(), y
textbackground(), los cuales permiten "mejorar" la presentacin de datos al
programa. Se puede instalar la librera conio.h en el IDE Dev-C++. El
procedimiento esta indicado en la siguiente direccin:
http://darkchicles.wordpress.com/2011/05/26/conio-h-en-devc/

Ejemplo 01: Ejecute el siguiente programa.

#include <stdio.h>
main() {
printf("FIEE\tUNI\n"); /* Este es un comentario */
printf("Lima\tPeru\n");
system("PAUSE");
}

La secuencia de escape \t permite desplazar el cursor una cierta cantidad de columnas


en la pantalla.

Ejercicio 01: Eleaborar un programa que imprime lo siguiente en pantalla:

TIPOS DE DATOS
El primer objetivo de un programa informtico es el manejo de datos. Un dato es toda aquella
informacin que se puede tratar en un programa. Existen datos de entrada y datos de salida.

Para ingresar un dato al programa requerimos saber previamente cual ser el tamao de este. Con
dicha informacin se escoge uno de los diversos tipos de datos que soporta el lenguaje de
programacin, con el fin de asegurar que dicho dato ser almacenado completamente en el
programa.
El Tipo de Datos, determina el tamao que ocupar dicha informacin en la memoria del
computador.
Hay dos clases de tipos de datos:

Tipo de datos fundamentales.

Tipo de datos derivados.


El lenguaje C soporta una gran variedad de tipos de datos fundamentales:

char: caracteres (letras)

short: enteros pequeos (nmeros positivos y negativos)

int: enteros grandes (nmeros enteros positivos y negativos)

float: nmeros en coma flotante de simple precisin (SP Float)

double :nmeros en coma flotante de doble precisin (DP Float)

void: no-tipo (se emplea con punteros)


Entre los datos derivados tenemos:

String o Cadenas

Array o Arreglos

etc.

VARIABLES
Una variable es un identificador para referenciar a un dato dentro del programa.
Dependiendo del tipo de dato que sea dicha variable, ocupar 1 byte (char), 2 byte (short),
4 bytes (int), etc.

Una variable es bsicamente una direccin (posicin de memoria) donde se almacena el


valor de un dato.

A las variables no se les puede dar cualquier nombre. Se puede emplear las letras (a a la
z; la no se utiliza), nmeros y el smbolo '_'. Ejemplos de nombres vlidos:

camiones

numero

buffer

a1

j10hola29

num_alumnos
Los nombres de las variables no pueden tener signos de admiracin, ni de interrogacin. El
nombre de una variable puede contener nmeros, pero su primer carcter no puede
serlo. Ejemplos de nombres no vlidos:

1abc

nombre?

num/alumnos
Tampoco valen como nombres de variable las palabras reservadas que usa el compilador.
Por ejemplo: for, main, do, while.

Declaracin de Variables

Las variables se pueden declarar como globales o locales.

Global es aquella variable que se declara fuera de la funcin main.

#include <stdio.h>
int x;
main() {
}

Local es la variable que se declara dentro de la funcin main.

#include <stdio.h>
main() {
int x;
}

VARIABLE TIPO: chr

Las variables de tipo char sirven para almacenar nmeros que representan a
caracteres.
Este tipo de variable utiliza 1 byte y puede almacenar nmeros desde -128
a +127.
Los caracteres se almacenan como nmeros. Estos nmeros son el cdigo
ASCII del caracter.
char letra;

En una variable de tipo char slo podemos almacenar un caracter. No


podemos almacenar palabras ni frases.
Para almacenar en una variable char una letra, la debemos escribir

con comilla simple:

Para imprimir en pantalla una variable char debemos emplear: %c, una por
cada variable que queremos imprimir.

Ejemplo 02: Programa que imprime en pantalla el caracter U.

#include <stdio.h>
main() {
char letra='U';
printf( "El letra es: %c\n", letra );
system("PAUSE");
}

Ejemplo 03: Programa que imprime en pantalla el valor de una variable tipo char y
luego el valor ASCII de dicha variable.

#include <stdio.h>
main() {
char letra='U';
printf( "El letra es: %c\n", letra );

/*Tambin podemos imprimir el valor ASCII de la variable*/


printf( "El numero ASCII de la letra %c es: %i\n", letra, letra );
system("PAUSE");
}

En el siguiente enlace puede descargar el tabla de cdigos ASCII y verificar el de la letra


U (mayscula):
Cdigo ASCIIArchivo
Tambien puede acceder a una tabla de cdigos Ascii interactiva:
http://www.elcodigoascii.com.ar/

Ejemplo 04: Programa que imprime en pantalla el valor de una variable tipo char y su
correspondiente cdigo ACSII, luego incrementa el valor de dicha variable e imprime en
pantalla nuevamente la variable con su correspondiente cdigo ASCII.

#include <stdio.h>
main() {
char letra='A';
printf("La letra es %c y su valor ASCII es %i\n", letra, letra);
letra = letra + 1;
printf("Ahora es %c y su valor ASCII es %i\n", letra, letra);
system("PAUSE");
}

VARIABLE TIPO: short

En un tipo de datos que permite almacenar nmeros enteros (sin decimales).


Este tipo de datos utiliza 2 bytes. Se puede expresar nmeros desde:
-32,768 a 32,767
Se define de la siguiente manera:
short num1;

Para imprimir en pantalla una variable tipo short debemos emplear %i

VARIABLE TIPO: int

En un tipo de datos que permite almacenar nmeros enteros (sin decimales).


Este tipo de datos utiliza 4 bytes. Se puede expresar nmeros desde:
-2,147,483,648 a 2,147,483,647
Cuando definimos una variable, lo que estamos haciendo es decirle al
compilador que reserve una zona de la memoria para almacenar datos de
tipo int.
int num1;

Esto hace que declaremos una variable llamada num1 que va a contener un nmero
entero.

Para imprimir en pantalla una variable entera debemos emplear %i, una por
cada variable que queremos imprimir.

Ejemplo 05: Programa

que imprime en pantalla los valores de dos variables


enteras. Observe que se puede definir las variables por separado o en una sola fila
separados por coma:

#include <stdio.h>
main() {
int x=10;
int y=20,z=30;
printf( "%i\n", x);
printf( "%i\n", y);
printf( "%i\n", z);
/*otra forma es:*/
printf( "%i\n%i\n%i\n",x,y,z);
system("PAUSE");
}

Ejemplo 06: El mismo ejemplo anterior, pero adicionando texto.

#include <stdio.h>
main() {
int x=10;
int y=20,z=30;
printf( "El valor de x es: %i\n", x);
printf( "El valor de y es: %i\n", y);
printf( "El valor de z es: %i\n", z);
/*otra forma es:*/
printf( "El valor de x es: %i\nEl valor de y es: %i\nEl valor de z es: %i\n",x,y,z);
system("PAUSE");
}

Ejemplo 07: Programa que imprime en pantalla el valor inicial de una variable entera y luego
dicha variable es incrementada en 1 para nuevamente ser impresa en pantalla.

#include <stdio.h>
main() {
int x=10;
printf( "El valor inicial de x es %i\n", x );
x=x+1;
printf( "Ahora el valor es %i\n", x );
system("PAUSE");
}

Ejercicio 02: Elabore un programa que permita sumar, restar y multiplicar dos variables. Debe
crear tres variables: suma, resta y producto. Los resultados deben ser mostrados igual que el
grfico siguiente:

Modificador Unsigned

Este modificador (que significa sin signo) modifica el rango de valores que puede contener
una variable. Slo admite valores positivos. Ejemplo:

unsigned char variable;


Esta variable en vez de tener un rango de -128 a 127 pasa a tener un rango de 0 a 255.

Ejemplo 08: Programa que muestra como trabaja el modificador unsigned.

#include <stdio.h>
main() {
char caracter1=-1;
printf( "El valor de caracter1 es %i\n", caracter1 );
unsigned char caracter2=-1;
printf( "El valor de caracter2 es %i\n", caracter2 );
system("PAUSE");
}

Observar que para la impresin en pantalla de las dos variables estamos empleando %i

Porque el -1 se expresa como 255 ?.


Para responder debemos saber como
negativos: mediante el complemento a 2

expresa

la

computadora

los

nmeros

VARIABLE TIPO: float

En este tipo de variable la utilizamos para almacenar nmeros decimales de


simple precisin denominado SP Float. Utiliza 4 bytes.
Este tipo de variable de declara de la siguiente manera:
float numero;
Para imprimir valores tipo float Usamos %f.
Si queremos escribirlo en notacin exponencial usamos %e:

Ejemplo 09: Programa que imprime en pantalla el valor de una variable tipo float en
notacin decimal y notacin exponencial.

#include <stdio.h>
main() {
float num=512.56;
printf( "El valor de num es: %f\n", num );
system("PAUSE");
printf( "El valor de num es: %e\n", num );
system("PAUSE");
}

VARIABLE TIPO: double

Permite almacenar nmeros decimales de doble precisin denominados DP


Float. Utilizan 8 bytes.
Se declaran de la siguiente manera:
double numero;

Para imprimir una variable tipo double se usa los mismos modificadores que
en float.
Ejemplo 10: En el siguiente programa veremos que ocurre cuando combinamos
diversos tipos de datos.

#include <stdio.h>
main() {
int x=5,y;
double b=32.67345;
y=x+b;
printf("El valor es %i\n", y);
system("PAUSE");

Observe que el resultado es 37. Porqu?. Redondea o trunca?

Ejemplo 11: Modifiquemos el programa anterior para poder visualizar el resultado


correcto:

#include <stdio.h>
main() {
int x=5;
double y;
double b=32.67345;
y=x+b;
printf("El valor es %f\n", x+b);
system("PAUSE");
}

Limitar el nmero de decimales


En muchos programas vamos a necesitar restringir el nmero de decimales que queremos
visualizar. Para ello se utiliza el punto y luego se indica el nmero de decimales a mostrar. Ejemplo:

#include <stdio.h>
main() {
double a=32.67385;
printf("El valor es %.3f\n", a);
system("PAUSE");
}

Observar que el compilador redondea a 3 decimales.

Clculo del tamao de cada tipo de datos


Para calcular el tamao que tiene cada tipo de datos, debemos hacer uso del
operador sizeof, el cual devuelve el tamao en bytes que ocupa una variable
o algn tipo de dato. Escriba el siguiente programa:

#include <stdio.h>
main() {
printf( "El tipo char ocupa %i bytes\n", sizeof(char) );
printf( "El tipo short ocupa %i bytes\n", sizeof(short) );
printf( "El tipo int ocupa %i bytes\n", sizeof(int) );
printf( "El tipo long ocupa %i bytes\n", sizeof(long) );
printf( "El tipo float ocupa %i bytes\n", sizeof(float) );
printf( "El tipo double ocupa %i bytes\n", sizeof(double) );
system("PAUSE");
}

Ir a...
Elegir...

Вам также может понравиться