Sei sulla pagina 1di 70

Introduccin C++

Msc. Nehil Muoz Casildo


Algortmica I
2012-1

1.2
Ranking de los lenguajes de
programacin ms utilizados en 2011
Segn los datos del ndice Comunitario de Programacin TIOBE, ofrecemos el ranking
con los lenguajes de programacin ms usados por los desarrolladores.
1.3
Estructura general de un
programa
Un programa puede considerarse como una secuencia lgica de
acciones (instrucciones) que manipulan un conjunto de objetos
(datos) para obtener unos resultados que sern la solucin al
problema que resuelve dicho programa.
Todo programa, en general contiene dos bloques bien diferenciados
para la descripcin de los dos aspectos anteriormente citados:

Bloque de declaraciones. En l se especifican todos los objetos que
utiliza el programa (constantes, variables, tablas, registros, archivos, etc.)
indicando las caractersticas de estos. Este bloque se encuentra
localizado siempre por delante del comienzo de las acciones.
Bloque de instrucciones. Constituido por el conjunto de operaciones que
se han de realizar para la obtencin de los resultados deseados.

1.4
Partes principales de un
programa
Las partes principales de un programa estn relacionadas con
sus dos bloques ya mencionados. Dentro del bloque de
instrucciones podemos diferenciar tres partes fundamentales,
como se muestra en la siguiente figura:



Entrada de Datos: La constituyen todas las instrucciones que toman los datos de
entrada desde un dispositivo externo y los almacena en la memoria principal para
que puedan ser procesados.
Proceso o algoritmo: Est formado por las instrucciones que modifican los objetos
a partir de su estado inicial (datos de entrada) hasta el estado final (resultados)
dejando los objetos que lo contiene disponibles en la memoria principal.
Salida de resultados: Conjunto de instrucciones que toman los datos finales
(resultado) de la memoria principal y los envan a los dispositivos externos.


Lenguajes de Programacin
Lenguaje Mquina: Los programas expresados en lenguaje mquina
son directamente ejecutables por el procesador

Unidades Centrales
Entra-
da
Sali-
da
Memoria Principal
ALU
Unidad de
Control
111000 .
010110

101101

Programa en Lenguaje
Mquina (o en cdigo binario,
o en cdigo ejecutable)
Datos
Datos
Procesador
Lenguajes de Programacin
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

Unidades Centrales
Memoria Principal
ALU
Unidad de
Control
111000 .
010110

101101

Traductor
(Compilador
o Intrprete)
Procesador
#include

Int main( )
{

}
Programa en
Lenguaje de
Alto Nivel
111000 .
010110

101101

Programa
Ejecutable
Fichero
fuente
Fichero
ejecutable
Lenguajes de Programacin
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
Que es C ?
C es un lenguaje de programacin creado en 1972 por Kenneth L. Thompson y
Dennis M. Ritchie en los Laboratorios Bell como evolucin del anterior lenguaje B,
a su vez basado en BCPL.

C es un lenguaje de medio nivel. Esto quiere decir que se encuentra entre los
lenguajes de alto nivel y los de bajo nivel. Ya que su cdigo es entendible para el
ser humano como los lenguajes de alto nivel y adems no pierde el poder y
eficiencia de los lenguajes de bajo nivel.

C es lenguaje multiplataforma y portable, debido a que podemos escribir un
programa de C en un sistema operativo como DOS o Windows. Y luego ejecutarlo
o seguir editndolo en otro sistema operativo como UNIX o OS/2 de las Macintosh
.

C es uno de los lenguajes mas conocidos y utilizados del mundo.
8
E
d
u
a
r
d
o

T
o
l
o
z
a

C
.

-

w
w
w
.
e
t
o
l
o
z
a
.
c
o
m

Que es un IDE ?
Un IDE (Integrated Development Environment o Entorno integrado de
desarrollo en Espaol) es una aplicacin compuesta por un conjunto de
herramientas tiles para un programador.

Un entorno IDE puede ser exclusivo para un lenguaje de programacin o
bien, poder utilizarse para varios. Suele consistir de un editor de cdigo, un
compilador, un depurador, entre otras cosas.

Nosotros trabajaremos este semestre con el IDE llamado DEV-C++
9
Que es un Compilador?
Los compiladores son programas o herramientas encargadas de tomar un
algoritmo o cdigo fuente escrito en un lenguaje de alto nivel o en este caso
medio nivel y lo traduce a un lenguaje comprensible por las computadoras
(cdigo binario).


10
Que es un Depurador?
Es una aplicacin o herramienta que permite la ejecucin controlada de un
programa o un cdigo, para seguir cada instruccin ejecutada y localizar s
bugs o errores (proceso de depuracin), cdigos de proteccin, etc.
11
Bibliotecas de C
Una biblioteca es un conjunto de funciones que dan soporte a distintos tipos de
operaciones que se utilizan con mayor frecuencia. Para utilizar estas bibliotecas
solo basta incluirlas al inicio de nuestro codigo de fuente.
12
Bibliotecas mas comunes:

stdio.h : Incluye funciones para el uso de entrada y salida de datos
string.h : Conjunto de funciones para el Manejo de cadenas de caracteres
stdlib.h : Sus funciones son mayormente para el uso Memoria dinmica y S.O
math.h : Conjunto de funciones relacionadas con rutinas matemticas

Caractersticas de C
C es un lenguaje de programacin de propsito general. Sus principales
caractersticas son:

Programacin estructurada
Economa de las expresiones
Abundancia en operadores y tipos de datos.
Codificacin en alto y bajo nivel simultneamente.
Reemplaza ventajosamente la programacin en ensamblador (assembler).
Utilizacin natural de las funciones primitivas del sistema.
No est orientado a ningn rea en especial.
Produccin de cdigo objeto altamente optimizado.
Facilidad de aprendizaje (;-)).
Breve Historia
El lenguajes C naci en los Laboratorios Bell de AT&T

Asociado con el Sistema Operativo UNIX

Su eficacia y claridad han hecho que el lenguaje asembler apenas haya sido
utilizado en UNIX.

Este lenguajes est inspirado en el lenguaje B escrito por Ken Thompson en
1970

B era un lenguaje evolucionado e independiente de la mquina, inspirado en la
lenguajes BCPL concedido por Martin Richard en 1967.

En 1972, Dennis Ritchie, modifica el lenguaje B, creando el lenguaje C y
reescribiendo el UNIX en dicho lenguaje.

La novedad que proporcion el lenguaje C sobre el B fue el diseo de tipos y
estructuras de datos.
En suma
Una de las peculiaridades de C es su riqueza de operadores,

Tiene sus inconvenientes:

Carece de instrucciones de entrada/salida, de instrucciones para manejo de
cadenas de caracteres.

La excesiva libertad en la escritura de los programas puede llevar a errores
en la programacin.

C ha demostrado ser un lenguaje extremadamente eficaz y expresivo.
Lenguaje C
El Lenguaje C es un lenguaje de programacin compilado

Unidades Centrales
Memoria Principal
ALU
Unidad de
Control
111000 .
010110

101101

Compilador
(DevC++)
Procesador
#include

Int main( )
{

}
Programa
en C
111000 .
010110

101101

Programa
Ejecutable
Fichero
fuente
Fichero
ejecutable
Lenguaje C: Proceso de Realizacin de
Programas
(1)
Edicin
program
a fuente
(2)
Compilacin
error?
(3) Error
de
Compilac
in
S
No
.o
.o
.o
Ficher
os
objeto
.c
.h
.c
.h
main.c
Ficher
os
fuente
.exe
Programa
ejecutabl
e
(4)
Enlazado
error?
(6) Error de
Ejecucin
(5)
Ejecucin
S
No
.exe
Programa
ejecutabl
e final
error?
(5) Error
de
enlazado
S
No
Lenguaje C: El Compilador Dev-C++
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).
Lenguaje C: Nuestro Primer Programa
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
printf("Hola Mundo!\n");

system("PAUSE");
return 0;
}
escritura en pantalla
cuerpo del
programa
ficheros cabecera
espera por una pulsacin
de teclado
finalizacin de programa
cabecera de
programa
El programa Hola Mundo

Creando un Proyecto con Dev-C++ (1)
Una vez
abierto Dev-
C++ se nos
muestra su
interfaz
inicial.
Creando un Proyecto con Dev-C++ (2)
Creamos una
carpeta para el
proyecto.
A
continuacincreamo
s el proyecto en
Dev-C++.
Creando un Proyecto con Dev-C++ (3)
Dev-C++
es un
compilador
de C/C++,
es preciso
indicar que
el proyecto
es en
lenguaje C.
Creando un Proyecto con Dev-C++ (4)
Proyecto
recin
creado.
Ficheros
fuente
incluidos
en el
proyecto
rea de edicin
de ficheros
fuente
main.c: fichero fuente
principal del proyecto
Editamos
nuestro
primer
fichero
fuente.
Creando un Proyecto con Dev-C++ (5)
aadimos esta instruccin,
el resto ya lo ha creado
Dev-C++ cuando se cre el
proyecto
Compila-
mos y ejecu-
tamos el
proyecto.
Creando un Proyecto con Dev-C++ (6)
Programa
en ejecu-
cin.
Creando un Proyecto con Dev-C++ (7)
Primer ejemplo

// Primer programa en C++.
#include <iostream>

// la funcin main comienza la ejecucin del programa
int main()
{
std::cout << "Bienvenido a C++!\n";
system(PAUSE);
return 0; // indica que el programa termin satisfactoriamente

} // fin de la funcin main
Biblioteca para entrada y salida
Sentencia de salida
Espera una tecla
Compilar usando Dev-C++
1. Escribir el cdigo
2. Guardar en disco
3. Compilar
4. Ejecutar (correr)
Programa en ejecucin
std::cout << "Bienvenido a C++!\n";
system(PAUSE);
return 0;
Cambio de lnea
Error de compilacin
Sealamiento
de error
Explicacin
del error
expected ; before return
esperaba ; antes de return
Proceso de escritura de programas
Escribir programa en
el editor de texto
Compilar el programa
fuente
Hay
errores?
Ejecutar
el programa
si
no
o Ctrl-F9
o Ctrl-F10
Secuencias de escape para la
salida
\n Salto de lnea, tambin endl
\t tabulacin horizontal
\r retorno de lnea
\\ diagonal invertida
\ imprime comillas
\OOO visualiza un carcter cuyo cdigo ASCII es OOO en
octal.
\xHHH visualiza un carcter cuyo cdigo ASCII es HHH en
hexadecimal.
Sirven para modificar la salida de datos
Se utilizan con cout para formatear la salida
Ejemplos de secuencias de escape
#include <iostream>
using spacename std;
int main()
{
cout << "!Bienvenido a ";
cout << "Dev-C++!\n";
system(PAUSE);
return 0;
}
#include <iostream>
using namespace std;
int main()
{
cout << "Bienvenido\n\"a\"\nC++!\n";
system(PAUSE);
return 0;
}
Una lnea mediante dos
sentencias
Varias lnea mediante
una sentencia
#include <iostream>
using namespace std;
int main(){
cout << "nombre\tdireccin\ttelefono\n";
cout << "juan\tolmo 204 \t8-12-12-34\n";
cout << "maria\tpino 565 \t8-34-27-16\n";
system("PAUSE");
return 0;
}
#include <iostream>
using namespace std;
int main()
{
cout << "nombre\tdireccin\ttelefono\njuan\tolmo 204 \t8-12-12-
34\nmaria\tpino 565 \t8-34-27-16\n";
system("PAUSE");
return 0;
}

tarea
int main()
{
cout << Introduccin a\nlas computadoras";
cout << y a la\n \t\"programacin\"";
cout << en\n \tC++\n";
return 0;
}
Que salida genera el siguiente programa?
Escriba un programa que genere la siguiente salida utilizando una sola lnea de
salida.

Nombre Puesto Sueldo:
Juan Gerente $10,000
Lety TIC $20,000
Variables en C
Las variables son estructuras que almacenan informacin o datos, como su nombre
lo dice estos datos pueden ir variando a lo largo de la ejecucin del programa
El nombre de una variable NO puede comenzar con un numero, tener espacios ni
utilizar un nombre ya reservado.
Las variables deben poseer un identificador (nombre), un valor y estas deben ser
un tipo de dato como los mencionados en la pagina anterior.

La forma adecuada de declarar y asignar un valor a una variable en C es:

tipo de datos IDENTIFICADOR = valor;

Ejemplo: int edad= 20;

En el ejemplo anterior hemos creado una variable tipo Entero, con nombre edad y
valor 20.
36
Variables
Las variables permiten almacenar valores de diferentes tipos.
Sus caractersticas son
nombre un identificador vlido
tipo int, float, double, char, etc.
valor el valor almacenado
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
Tipos de datos numricos
Tipo Longitud Rango
unsigned char 8 bits 0 a 255
char 8 bits -128 a 127
enum 16 bits -32,768 a 32,767
unsigned int 16 bits 0 a 65,535
short int 16 bits -32,768 a 32,767
int 16 bits -32,768 a 32,767
unsigned long 32 bits 0 a 4,294,967,295
long 32 bits -2,147,483,648 a 2,147,483,647
float 32 bits 3.4*(10^-38) a 3.4*(10^+38)
double 64 bits 1.7*(10^-308) a 1.7*(10^+308)
long double 80 bits 3.4*(10^-4932) a 1.1*(10^+4932)
La siguiente tabla resume los tipos de datos numricos en Turbo C++
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
7
= 302
10
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 10
4
= 12.4E+4 o 12.4E4
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
Ejemplo
//Ejemplo de secuencias de escape
#include <iostream>
using namespace std;
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;
system(PAUSE);
return 0;
}
Impresin de "variables"
a b c d
45 23 368 345
Salida
Tarea
//Ejemplo de asignaciones
#include <iostream>
using namespace std;
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";
system(PAUSE);
return 0;
}
Que valores se imprimen?
Operadores Aritmticos
43
Algunos operadores en C
Operacin Operador Ejemplo
Suma
+ 5 + 8
Resta
- 5 2
Multiplicacin
* 4 * 8
Divisin
/ 2 / 7
Mdulo
% 5 % 3
Operadores aritmticos
Reglas de precedencia
Operador Operacin Precedencia
( )
Parntesis Precedencia ms
alta. Se evalan
primero los ms
anidados
*, / o %
Multiplicacin, divisin, mdulo Se evalan de
izquierda a derecha
+ o -
Suma o resta Se evalan de
izquierda a derecha
El operador () se utiliza para modificar la precedencia de los operadores
Ejemplos de operadores
c
d
b a +
Notacin estndar
Notacin en C
a + b d/c
d c a + mod
a % c + d
3 2 +
+
c
b a
(a + b)/(2*c + 3)
bc
c a
4

(a - c)/(4*b*c) o
(a - c)/4/b/c
Ejemplo
2
4 r area t =
#include <iostream>
//calcula el rea y el volumen de una esfera
using namespace std;
main(){
float r,area,volumen;//radio, area y volumen de la esfera
r = 4.5;
area = 4*3.1416*r*r;
volumen = 4*3.1416*r*r*r/3;
cout << "el radio de la esfera es " << r << "\n";
cout << "el rea de la esfera es " << area << "\n";
cout << "el volumen de la esfera es " << volumen << "\n";
system("PAUSE");
}

3
3
4
r volumen t =
Orden de evaluacin
d c
bd c
a

+
=
z = p r mod q + w/x-y
z = p * r % q + w / x y
1 2 3 4 5 6
a = (c + b * d)/(c d)
1 2 3 4 5
a = c + b * d / c d
1 2 3 4 5
ERROR
Tarea
2
2 1
r
m m
G F =
Escriba las siguientes expresiones en C
Escriba un programa para calcular la fuerza entre dos masa m
1
y m
2
. Utilice
G = 6.7 x 10
11
, utilice m
1
= 2.5 kg m
2
= 4.8 kg y r = 7.2 cm, la fuerza est
dada por
|
.
|

\
|
+ =
+
=
m
M
w R
mg
h y
R R
R R
R
2 2
1
2 2
2 1
2 1
Entrada de datos
Para la lectura de datos desde el teclado puede utilizarse la funcin cin.
El formato para cin es:
cin >> var;
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.
Suma de enteros
// Programa de suma.
#include <iostream>
using namespace std;
// 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
Declaracin de enteros
Sentencia de entrada
Asigna valor a variable
desde el teclado
Operacin de suma
Concatenacin de flujo
Memoria del programa de suma
38
integer1
54
integer2
92
suma
Contenido
Variables
(direcciones
de memoria)
Ejemplo
( )
2 3 1 2 3 1 1 3 3 2 2 1
2
1
y x y x y x y x y x y x area + + =
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:
Variables de entrada: x1, x2, x3, y1, y2, y3
Variables de salida: area
Solucin
//Programa para calcular el rea de un tringulo
#include <iostream>
using namespace std;
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;
}
Esquema de programa simple
Un programa simple tiene el siguiente esquema general:
Declaracin de variables y constantes
Lectura de datos de entrada
Clculo de valores de salida
Impresin de resultados
Pasos a seguir
Los pasos a seguir para elaborar un programa simple son:
1. Determinar las constantes, variables de entrada y de salida y su
tipo
2. Escribir la declaracin de variables
3. Escribir las sentencias de entrada
4. Escribir las expresiones para realizar los clculos
5. Escribir las sentencias de salida
6. Probar con algunos valores de entrada
Ejemplo
Escriba un programa que lea el radio de un crculo e imprima su
permetro y rea. Defina el valor de pi como 3.141592.
Constates:
pi (3.1416)
Variables de entrada:
radio nmero real
Variables de salida:
area nmero real
perimetro nmero real
Declaracin de variables de salida:
float area, perimetro;
Declaracin de variables de entrada:
float radio;
Declaracin de constante:
float pi = 3.1415926535;
Sentencia de entrada:
cout << Escriba el radio del crculo: ;
cin >> radio;
Clculo de rea y permetro:
area = pi*radio*radio;
perimetro = 2*pi*radio;
Sentencias de salida:
cout << el rea del crculo es: << area << \n;
cout << el permetro del crculo es: << perimetro << \n;
Programa completo
#include <iostream>
using namespace std;
main(){
float pi = 3.1415926535; // valor de pi
float radio; // radio del crculo, variable de entrada
float area, perimetro; // rea y permetro del crculo
cout << Escriba el radio del crculo: ;
cin >> radio;
area = pi*radio*radio;
perimetro = 2*pi*radio;
cout << el rea del crculo es: << area << \n;
cout << el permetro del crculo es: << perimetro << \n;
system(PAUSE);
}
Tarea
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
( ) ( )
2
1 2
2
1 2
2 1
y y x x
q q
k F
+
=
k = 8.99x10
9
.
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)- coseno de x.
exp(x)- e
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.
pow(x,y)- x
y
.
sin(x)- seno de x.
sqrt(x)- raz cuadrada de x.
tan(x)- tangente de x.
Ejemplo
Clculo del rea de un tringulo conocidas las longitudes de los lados
//Programa para calcular el rea de un tringulo
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
float a,b,c; // lados del tringulo
float s; //semipermetro
float area; // rea del tringulo
cout << "Teclee las longitudes 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;
}
Solucin de cuadrtica 1
//Programa para resolver una ecuacin cuadrtica
#include <iostream>
#include <math.h>
using namespace std;
int main(){
float a,b,c; // coeficientes
float d; //discriminante
float x1,x2; // raices
cout << "Teclee los coeficientes a,b y c: ";
cin >> a >> b >> c; // lee los coeficientes
d = pow(b,2)-4*a*c;
x1 = (-b-sqrt(d))/2/a;
x2 = (-b+sqrt(d))/2/a;
cout << "x1: " << x1 << endl;
cout << "x2: " << x2 << endl;
system("PAUSE");
return 0;
}

Tarea
( ) ( )
2
1 2
2
1 2
y y x x d + =
Utilice la funcin raz cuadrada de C para los siguientes programas

Escriba un programa que lea el valor del rea de la superficie de una esfera
y calcule e imprima el valor del radio. (rea = 4tr
2
)

Escriba un programa que lea las coordenadas de dos puntos en el plano xy
y calcule y despliegue la distancia entre dichos puntos.

Ejemplo de tiro parablico
Haga un programa que lea la velocidad inicial de un proyectil y el ngulo
respecto al eje x y calcule el alcance del proyectil, la altura mxima y el
tiempo de vuelo.
h = altura mxima
R = alcance
T = tiempo de vuelo
g
v
h
2
sen
0
2 2
0
u
=
g
v
R
0
2
0
sen2u
=
g
v
T
0 0
sen 2 u
=
Constantes:
PI 3.14159265
g - 9.81

Los datos de entrada son la velocidad inicial y el ngulo del disparo:
v0 velocidad inicial (tipo float)
ang ngulo del disparo (tipo float)

Los datos de salida son:
h altura mxima (tipo float)
R alcance mximo (tipo float)
T tiempo de vuelo (tipo float)

Declaraciones
float vo, ang; // datos de entrada
float h,R,T; // datos de salida
Lectura de datos:
La velocidad inicial la supondremos en m/s.
El ngulo del tiro lo supondremos en grados
NOTA: las funciones trigonomtricas suponen el argumento en radianes.

cout << Teclee velocidad inicial (en m/s): ;
cin >> v0;
cout << Teclee angulo del tiro (en grados): ;
cin >> ang;
ang = ang*PI/180; // conversin a radianes
Clculo de resultados
h = v0*v0*sin(ang)*sin(ang)/2/g;
R = v0*v0*sin(2*ang)/g;
T = 2*v0*sin(ang)/g;

Salida de resultados
cout << altura maxima: << h<< endl;
cout << alcance maximo: << R<< endl;
cout << tiempo de vuelo: << T<< endl;

#include <iostream>
#include <conio2.h>
#include <math.h>

using namespace std;

main(){
float PI = 3.14159265;
float g = 9.81;
float v0,ang;// datos de entrada
float h,R,T; // datos de salida

textbackground(LIGHTGRAY);
clrscr();
textcolor(RED);
cout << "TIRO PARABOLICO\n";
cout << "Teclee velocidad inicial (en m/s): ";
cin >> v0;
cout << "Teclee angulo del tiro (en grados): ";
cin >> ang;
ang = ang*PI/180; // conversin a radianes
h = v0*v0*sin(ang)*sin(ang)/2/g;
R = v0*v0*sin(2*ang)/g;
T = 2*v0*sin(ang)/g;
cout << "altura maxima: " << h << " m" << endl;
cout << "alcance maximo: " << R << " m" << endl;
cout << "tiempo de vuelo: " << T << " s" << endl;

system("PAUSE");
}

Color de fondo
Color de texto
Borra
Pantalla
Biblioteca para manejo de
entrada y salida
En la opcin de Herramientas (tools) Opciones del compilador (compiler
options) en la opcin
Agregar estos comandos a la lnea de comandos del enlazador
(Add these commands to the linker command line)
-lconio

Potrebbero piacerti anche