1. Introducción 2. Hola, Mundo!

Anuncio
UNIVERSIDAD CENTRAL
FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS
Programación: de Pseudocódigo a C++
1.
Introducción
En esta sesión haremos un breve recuento de los básicos de la programación en C++ y veremos como ”traducir”nuestros programas escritos en
pseudocódigo. Usaremos el compilador Dev-C++.
2.
Hola, Mundo!
Para comenzar, crea una carpeta con el nombre ”Proyectos C++”dentro
de ”Mis Documentos”. Allı́ guardarás los distintos programas que vayas desarrollando. Ok, Recordemos ahora el tı́pico primer programa en C++
/∗ programa Hola Mundo∗/
#include <i o s t r e a m >
3 using namespace s t d ;
int main ( ) {
5
cout<<” Hola , Mundo ! \ n” ;
}
1
1
En la ventana de Dev-C++ con File->New->SourceFile generas un archivo donde desarrollar el programa, copia el programa tal como está escrito
arriba y guárdalo con el nombre HolaMundo.
Observa que Dev-C++ selecciona automáticamente la extensión .cpp para
el programa, esto significa que el programa HolaMundo será tratado como un
programa en C++. Si desearas escribir un programa en C entonces usarı́as la
extensión .c .
A continuación debes compilar el programa y ejecutarlo. Asegúrate de
que el proceso de compilación no arroje errores. Lo más probable es que
al ejecutar el programa no veas absolutamente nada, excepto tal vez
una ventana de comandos que aparece y desaparece. Esto sucede porque la
ejecución termina demasiado rápido.
¿Cómo verificamos que el programa se ejecutó correctamente?. Abre desde
el menú de inicio de Windows una ventana con el sı́mbolo de sistema, luego
ve hasta la carpeta en que guardaste el programa y ejecútalo escribiendo
holamundo.exe.
Tal vez no quieras hacer esto todo el tiempo. Lo usual es agregar la lı́nea
cin.get();
al final del programa. Esto evita que la ventana se cierre hasta que apretemos
la tecla <Enter>. Veamos:
/∗ programa Hola Mundo∗/
2 #include <i o s t r e a m >
using namespace s t d ;
4 int main ( ) {
cout<<” Hola , Mundo ! \ n” ;
6
cin . get () ;
}
Ejecuta este programa y analicemos lı́nea a lı́nea:
Los comentarios en C++ comienzan con /* y terminan obligatoriamente con */.
Al inicio del programa debemos incluir aquellas librerı́as que vamos a
usar con la instrucción #include. En nuestro caso incluimos la librerı́a
estándar iostream que nos permitirá usar las instrucciones cout y cin
para LEER y ESCRIBIR de datos.
2
El uso de los namespaces (espacios de nombres) en C++ y en otros
lenguajes de programación responde a una necesidad técnica para ganar
claridad y evitar conflictos, especialmente en proyectos de gran tamaño.
Busca “Espacios de nombres” en Wikipedia para leer al respecto.
Todo programa en C++ debe contener una función main. El código ejecutado será aquel dentro de esta función.
Observa el uso de “;” al final de cada instrucción. Esto es absolutamente necesario.
2.1.
Básicos de Entrada-Salida
Ya vimos que la instrucción cout imprime cosas en pantalla. Para poder
leer datos (lo equivalente a la instrucción Leer en pseudocódigo) usaremos
la instrucción cin. Un ejemplo:
/∗ programa D u p l i c a r ∗/
#include <i o s t r e a m >
3 using namespace s t d ;
int main ( ) {
5
int N
cout<<”Dime un numero \n” ;
7
c i n >>N;
cout<<” e l d o b l e de tu numero e s ”<<N<<”\n” ;
9
cin . ignore () ;
cin . get () ;
11 }
1
3.
Operaciones Matemáticas, IF-ELSE
Para poder usar operaciones matemáticas complejas necesitamos incluir
la librerı́a <math.h>. Por ejemplo:
#include <i o s t r e a m >
#include <math . h>
3 using namespace s t d ;
int main ( ) {
5
cout<<” s e n ( p i / 3 )=”<<s i n ( 3 . 1 4 / 3 )<<” \n” ;
1
3
cout<<” r a i c e s : s q r t ( 2 )=”<<s q r t ( 2 )<<” \n” ;
cout<<” c o n s t a n t e s : p i=”<<M PI<<” \n” ;
cin . get () ;
7
9
}
Ejercicios:
Escribe un programa que multiplique dos números.
Escribe un programa que calcule el área de un rectángulo.
Escribe un programa que calcule el área de un triángulo.
La estructura de un ciclo IF-ELSE (SI-Entonces) es la siguiente:
1
3
i f ( condicion ) {
instrucciones ;
}
4.
Un Ejemplo:
Hagamos en C++ el programa que calcula el área y el perı́metro de un
triángulo a partir de la longitud de sus lados.
Necesitaremos decidir si los valores ingresados para los lados pueden
corresponder a un triángulo, por ejemplo, ningún triángulo tiene lados que
midan 1, 1 y 3. Esto es la desigualdad triangular: la suma de los tamaños
de dos lados de un triángulo es mayor que el tercer lado.
Ejercicio: Escribe un programa que reciba tres números y decida si los
números pueden corresponder a los lados de un triángulo.
Veamos ahora nuestro ejemplo:
#include <i o s t r e a m >
#include <math . h>
// Para poder tomar r a i c e s c u a d r a d a s
3 using namespace s t d ;
bool e s t r i a n g u l o ( f l o a t a , f l o a t b , f l o a t c ) ;
1
5
7
9
int main ( ) {
f l o a t L1 , L2 , L3 , area , p e r i m e t r o , s e m i p e r i m e t r o ;
/∗ Obtenemos l o s l a d o s ∗/
4
cout<<” p r i m e r l a d o : ” ;
c i n >> L1 ;
cout<<” segundo l a d o : ” ;
c i n >> L2 ;
cout<<” t e r c e r l a d o : ” ;
c i n >> L3 ;
c o u t << ” l a d o s : ”<<L1<<” , ”<<L2<<” , ”<<L3<< e n d l ;
11
13
15
17
/∗ v a l o r e s deben s a t i s f a c e r l a d e s i g u a l d a d t r i a n g u l a r ∗/
i f ( e s t r i a n g u l o ( L1 , L2 , L3 ) ) {
cout<<” l o s l a d o s forman un t r i a n g u l o ”<<e n d l ;
}
else {
c o u t << ” v a l o r e s i n c o r r e c t o s ” ;
cin . ignore () ;
cin . get () ;
return 1 ;
}
19
21
23
25
27
/∗ Calculamos p e r i m e t r o y area ∗/
p e r i m e t r o = L1 + L2 + L3 ;
semiperimetro = perimetro /2;
f l o a t s= s e m i p e r i m e t r o ;
// s no e s t a b a d e c l a r a d a
a r e a = s q r t ( s ∗ ( s−L1 ) ∗ ( s−L2 ) ∗ ( s−L3 ) ) ;
c o u t << ” p e r i m e t r o e s : ” << p e r i m e t r o << e n d l ;
c o u t << ” a r e a e s : ” << a r e a ;
cin . ignore () ;
cin . get () ;
29
31
33
35
37
}
39
41
43
bool e s t r i a n g u l o ( f l o a t a , f l o a t b , f l o a t c ) {
i f ( ( a+b>c )&&(a+c>b )&&(b+c>a ) ) { return 1 ; }
e l s e { return 0 ; }
}
Observaciones:
Para efectuar operaciones matemáticas complejas usamos la librerı́a
math.h.
Debemos declarar las funciones que usaremos en el programa.
5
If (condicion) {acciones}
busca en google por qué es necesario usar cin.ignore().
5.
Finalmente
Veamos ejemplos de las otras estructuras básicas de control:
1. Ciclo “Para”:
1
3
5
f o r ( i =0; i <=10; i ++) {
cout<<i <<e n d l ;
}
/∗ i+=5 hace c o n t a r de 5 en 5
i −=2 hace d e c r e c e r de 2 en 2 ∗/
2. Ciclo “Hacer”:
1
3
int x = 0
do { cout<<” Esta l i n e a s e imprime aunque l a c o n d i c i o n
sea f a l s a ” ;
} while ( x !=0) ;
3. Ciclo “Mientras”:
1
3
5
6.
int i = 0 ;
while ( i <10) {
cout<<” Ejecutamos Codigo ” ;
i=i +1;
}
Ejercicios
Tome la lista de ejercicios que usaron para practicar
pseudocódigo y desarróllelos ahora en C++.
6
Descargar