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

ULPGC

Introduccin a la Programacin DEV C++

Mg. Patricia Janet Benites Yglesias

Lenguajes de Programacin
ULPGC

Lenguaje Mquina: Los programas expresados en lenguaje mquina son directamente ejecutables por el procesador
111000 . 010110 101101

Programa en Lenguaje Mquina (o en cdigo binario, o en cdigo ejecutable)

Unidades Centrales Memoria Principal Datos Entrada Salida ALU Datos

Procesador Unidad de Control

Mg. Patricia Janet Benites Yglesias

Lenguajes de Programacin
ULPGC

Lenguajes de Alto Nivel: Los programas expresados en lenguajes de alto nivel precisan ser traducidos a lenguaje mquina para poder ser ejecutados por el procesador
111000 . 010110 101101

Traductor (Compilador o Intrprete)

Unidades Centrales Programa en Lenguaje de Alto Nivel


#include Int main( ) { } 111000 . 010110

Memoria Principal

Programa Ejecutable
101101

Procesador Unidad de Control ALU

Fichero fuente

Fichero ejecutable

Mg. Patricia Janet Benites Yglesias

Lenguajes de Programacin
ULPGC

Lenguajes de Alto Nivel FORTRAN: orientado al clculo cientfico COBOL: orientado haca las aplicaciones de tipo comercial C: orientado a la programacin de sistemas operativos y aplicaciones de ingeniera C++: lenguaje derivado del C Java: lenguaje derivado del C++ de amplio uso en Internet Pascal y BASIC: orientados a la didctica de la programacin Ada: orientado a la programacin de sistemas de tiempo real

(aviones, cohetes, satlites, barcos, )


Prolog y LISP: orientados haca la inteligencia artificial

Mg. Patricia Janet Benites Yglesias

Lenguaje C
ULPGC

Algunos datos Fue creado en 1970 por Dennis Ritchie en los Laboratorios Bell (Estados Unidos) Los principales sistemas operativos (Windows y UNIX) y todos sus derivados han sido creados utilizando C como lenguaje de programacin Es un lenguaje de propsito general, aunque fue especialmente diseado para la programacin de sistemas operativos Ha influenciado en numerosos lenguajes de programacin (C++,

Java, )

Mg. Patricia Janet Benites Yglesias

Lenguaje C
ULPGC

El Lenguaje C es un lenguaje de programacin compilado

111000 . 010110 101101

Compilador (DevC++)

Unidades Centrales Programa en C


#include Int main( ) { } 111000 . 010110

Memoria Principal

Programa Ejecutable
101101

Procesador Unidad de Control ALU

Fichero fuente

Fichero ejecutable

Mg. Patricia Janet Benites Yglesias

ULPGC

Lenguaje C: Proceso de Realizacin de Programas


Ficheros fuente
.c main.c .h .c

.h

(1) Edicin programa fuente

(6) Error de Ejecucin

S (2) Compilacin (3) Error de Compilacin (5) Error de enlazado S Ficheros objeto
.o .o .o

error?

.exe

No

S
error? No

Programa ejecutable final

(5) Ejecucin Programa ejecutable

(4) Enlazado

error? No

.exe

Mg. Patricia Janet Benites Yglesias

Lenguaje C: El Compilador Dev-C++


ULPGC

Bloodshed Dev-C++ es el

compilador de
C/C++ que se va a utilizar (accesible en www.bloodshed .net y en la pgina web de

la asignatura).

Mg. Patricia Janet Benites Yglesias

ULPGC

Primer ejemplo
Librera para entrada y salida

#include <iostream.h> #include <conio.h> int main() { cout << "!Hola Mundo!\n"; getch(); return 0; }

Librera para manejo de consola

Sentencia de salida

Espera una tecla

Mg. Patricia Janet Benites Yglesias

Lenguaje C: Nuestro Primer Programa


ULPGC

El programa Hola Mundo

cabecera de programa

#include <stdio.h> #include <stdlib.h>

ficheros cabecera

cuerpo del programa

int main(int argc, char *argv[]) { printf("Hola Mundo!\n"); escritura en pantalla system("PAUSE"); return 0; } espera por una pulsacin de teclado finalizacin de programa

Mg. Patricia Janet Benites Yglesias

ULPGC

. Compilar usando Dev-C++


1. Escribir el cdigo 2. Guardar en disco

3. Compilar

4. Ejecutar (correr)

Mg. Patricia Janet Benites Yglesias

ULPGC

Secuencias de escape para la salida


Sirven para modificar la salida de datos Se utilizan con cout para formatear la salida

\n
\t \r \\ \

Salto de lnea, tambin endl


tabulacin horizontal retorno de lnea diagonal invertida imprime comillas

\OOO
\xHHH

visualiza un carcter cuyo cdigo ASCII es OOO en octal.


visualiza un carcter cuyo cdigo ASCII es HHH en hexadecimal.

Mg. Patricia Janet Benites Yglesias

ULPGC

Variables
nombre un identificador vlido tipo int, float, double, char, etc. valor el valor almacenado

Las variables permiten almacenar valores de diferentes tipos. Sus caractersticas son

En C es necesario definir todas las variables que se utilicen Las variables se declaran con la siguiente sintaxis: tipo var1, var2, ; Ejemplos: int a, b, c; float r, s; Declara a, b y c como enteras

Declara r y s como reales

Mg. Patricia Janet Benites Yglesias

ULPGC

Tipos de datos numricos

La siguiente tabla resume los tipos de datos numricos en Turbo C++

Tipo unsigned char char enum unsigned int short int int unsigned long long float double long double

Longitud Rango 8 bits 0 a 255 8 bits -128 a 127 16 bits -32,768 a 32,767 16 bits 0 a 65,535 16 bits -32,768 a 32,767 16 bits -32,768 a 32,767 32 bits 0 a 4,294,967,295 32 bits -2,147,483,648 a 2,147,483,647 32 bits 3.4*(10^-38) a 3.4*(10^+38) 64 bits 1.7*(10^-308) a 1.7*(10^+308) 80 bits 3.4*(10^-4932) a 1.1*(10^+4932)

Mg. Patricia Janet Benites Yglesias

ULPGC

Constantes numricas

Las constantes numricas enteras pueden escribirse en decimal, hexadecimal u octal. Decimal secuencias de dgitos decimales con o sin signo (+, -). Hexadecimal secuencias de dgitos hexadecimales (0..9, a..f, o A..F) que inicia con 0x. Ejemplo: 0x00ff o 0x00FF = 255 Octal secuencias de dgitos octales (0..7) que inicia con 0. Ejemplo: 0456 = 302

Las constantes reales se especifican como secuencias de dgitos decimales y el punto decimal. Los nmeros en notacin cientfica se expresan indicando el multiplicador de 10 mediante E+nn o e+nn. Ejemplo: 12.4 x 104 = 12.4E+4 o 12.4E4

Mg. Patricia Janet Benites Yglesias

ULPGC

Operacin de asignacin

La operacin bsica para el uso de variables es la asignacin El tipo de constante a asignar debe de ser congruente con el tipo con el que fue declarada la variable. Para la asignacin se utiliza el smbolo = Ejemplos: a = 5; b = 8; cout << a << b; Imprime 58

Mg. Patricia Janet Benites Yglesias

Ejemplo
ULPGC

//Ejemplo de secuencias de escape #include <iostream.h> #include <conio.h> int main() { int a,b,c,d; //4 variables reales a = 45; b = 23; c = 368; d = 345;
cout << "Impresin de \"variables\"\n"; cout << "a\tb\tc\td\n"; cout << a << "\t" << b << "\t" << c << "\t" << d << endl; gerch(); return 0; }
Impresin de "variables" a b c 45 23 368

Salida

d 345

Mg. Patricia Janet Benites Yglesias

Ejemplo de asignaciones
ULPGC
//Ejemplo de asignaciones #include <iostream.h> int main() { int a,b,c; // 3 variables enteras float x,y,z; //3 variables reales a = 5; b = -2; c = 8; x = a; a = b; y = x; z = 8.5; x = z; cout << "a=" << a << "\nb=" << b << "\nc="<< c << "\n"; cout << "x=" << x << "\ny=" << y << "\nz="<< z << "\n"; return 0; }

Que valores se imprimen?

Mg. Patricia Janet Benites Yglesias

ULPGC

Algunos operadores en C
Operadores aritmticos

Operacin Suma Resta Multiplicacin Divisin Mdulo

Operador Ejemplo + * / % 5 + 8 5 2 4 * 8 2 / 7 5 % 3

Mg. Patricia Janet Benites Yglesias

ULPGC

Reglas de precedencia

El operador () se utiliza para modificar la precedencia de los operadores

Operador
( )

Operacin
Parntesis

Precedencia
Precedencia ms alta. Se evalan primero los ms anidados

*, / o % + o -

Multiplicacin, divisin, mdulo Se evalan de izquierda a derecha Suma o resta Se evalan de izquierda a derecha

Mg. Patricia Janet Benites Yglesias

ULPGC

Ejemplos de operadores
Notacin estndar Notacin en C

ab

d c

a + b d/c

a modc d
ab 2c 3 ac 4bc

a % c + d

(a + b)/(2*c + 3)

(a - c)/(4*b*c) o (a - c)/4/b/c

Mg. Patricia Janet Benites Yglesias

ULPGC

Entrada de datos
cin >> var;

Para la lectura de datos desde el teclado puede utilizarse la funcin cin. El formato para cin es:

Al ejecutarse la funcin cin se detiene la ejecucin del programa hasta que se teclee el valor de la variable solicitada. Pueden leerse varias variables en una sola lnea. cin >> var1 >> var2 >> var3; Las variables se leen separadas por espacios o la tecla enter.

Mg. Patricia Janet Benites Yglesias

ULPGC

Suma de enteros
Declaracin de enteros

// Programa de suma. #include <iostream.h> // la funcin main comienza la ejecucin del programa int main() { int entero1; // primer nmero que introduce el usuario int entero2; // segundo nmero que introduce el usuario int suma; // variable en la que se almacena la suma cout << "Digite el primer entero\n"; // indicador cin >> entero1; // lee un entero cout << "Digite el segundo entero\n"; // indicador cin >> entero2; // lee un entero suma = entero1 + entero2; // asignacin del resultado a suma cout << "La suma es " << suma << endl; // impresin de suma return 0; // indica que el programa termin satisfactoriamente } // fin de la funcin main
Operacin de suma

Sentencia de entrada
Asigna valor a variable desde el teclado

Concatenacin de flujo Mg. Patricia Janet Benites Yglesias

ULPGC

Memoria del programa de suma


integer1
38

Variables
(direcciones de memoria) integer2 54 Contenido

suma

92

Mg. Patricia Janet Benites Yglesias

ULPGC

Ejemplo
Se desea un programa para calcular el rea de un tringulo dadas las coordenadas de sus vrtices. El rea se calcula utilizando la siguiente frmula:

area

1 x1 y2 x2 y3 x3 y1 x1 y3 x2 y1 x3 y2 2

Variables de entrada: x1, x2, x3, y1, y2, y3

Variables de salida:

area

Mg. Patricia Janet Benites Yglesias

ULPGC

Solucin
//Programa para calcular el rea de un tringulo #include <iostream.h> #include <math.h> int main() { float x1,x2,x3,y1,y2,y3; // coordenadas del tringulo float area; // rea del tringulo cout << "Teclee las coordenadas del primer punto: "; cin >> x1 >> y1; cout << "Teclee las coordenadas del segundo punto: "; cin >> x2 >> y2; cout << "Teclee las coordenadas del tercer punto: "; cin >> x3 >> y3; area = (x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2)/2.0; cout << "rea: " << area << endl; return 0; } Mg. Patricia Janet Benites Yglesias

ULPGC

Funciones matemticas

La biblioteca math.h contiene la definicin de muchas funciones matemticas tiles. El siguiente es un listado breve de algunas funciones.

ceil(x)- redondea al entero ms pequeo no menor que x. cos(x)exp(x)coseno de x. ex.

pow(x,y)- xy.
sin(x)seno de x.

sqrt(x)- raz cuadrada de x. tan(x)- tangente de x.

fabs(x)- valor absoluto de x. floor(x)- redondea al entero ms grande no mayor que x. log(x)- logaritmo natural de x. log10(x)- logaritmo base 10 de x.

Mg. Patricia Janet Benites Yglesias

ULPGC

Ejemplo

Clculo del rea de un tringulo conocidas las longitudes de los lados //Programa para calcular el rea de un tringulo #include <iostream.h> #include <math.h> int main() { float a,b,c; // lados del tringulo float s; //semipermetro float area; // rea del tringulo cout << "Teclee la longitud de los lados: "; cin >> a >> b >> c; // lee los lados s = (a + b + c)/2.0; area = sqrt(s*(s-a)*(s-b)*(s-c));

cout << "rea: " << area << endl; return 0;


}

Mg. Patricia Janet Benites Yglesias

ULPGC

Tarea #2

Escriba un programa que lea el radio de un crculo e imprima su permetro y rea. Defina el valor de pi como 3.141592.

Escriba un programa para calcular la magnitud de la fuerza entre dos cargas elctricas dadas las coordenadas de las cargas y la magnitud de cada carga. La fuerza se calcula con la expresin

q1q2 F k x2 x1 2 y2 y1 2
k = 8.99x109.

Mg. Patricia Janet Benites Yglesias