Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Ip I - CP 4

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 31

La inteligencia consiste no solo en el conocimiento,

sino también en la destreza de aplicar los


conocimienos en la práctica
Introducción

¿Qué pasos debemos seguir para resolver


un problema?
Introducción

Pasos para resolver problemas:

1. Comprender el problema

2. Diseñar una estrategia de solución

3. Aplicar la estrategia de solución

4. Comprobar la solución
Introducción

Problema Algoritmo Programa

Programa
sin errores
Introducción
Algoritmos y programas de secuencia lineal.
Instrucciones de entrada/salida
cin/cout
printf/scanf
Estructura de un programa

Estructuras básicas de los programas:


Tipos predefinidos
Variables
Expresiones aritméticas y operadores

Estructuras Condicionales
Condicional If
Condicional If/else
Condicional switch
Introducción

Entrada y salida de datos en C++. Uso de cin, cout,


scanf y printf

La entrada y salida de datos en C++ es simple (al menos


para los casos más comunes). En esta sección veremos
cómo leer por teclado en C++, en otras palabras, asignar a
una variable el valor que el usuario escriba por el teclado.
Introducción

Salida de texto por pantalla en C++

Mostrar texto por pantalla en C++ es muy simple. Para


imprimir una salida de texto en C++ se hace uso de la
instrucción cout, junto con <<. Es importante tener en
cuenta que la instrucción cout siempre va acompañada de
<< para controlar el flujo de datos que sale. No te fijes
mucho en ellos, solo ten siempre presente que cout viene
acompañado de << para tener cout << como resultado.
Introducción

Veamos algunos ejemplos para mostrar texto por


pantalla en C++:

Ejemplo 1 de impresión de texto por pantalla en C++,


usando cout
#include "iostream"
using namespace std;
int main()
{
//Se muestra un mensaje por pantalla.
cout << "Hola Mundo" << " Desde FTE." << "\n";

return 0;
}
Introducción

El ejemplo que acabas de ver es bastante sencillo, excepto por


un detalle. Si ejecutar este código en tu pantalla aparecerá
un mensaje diciendo "Hola Mundo Desde FTE.". Tal como
habrás notado el operador "<<" se usa para concatenar
(unir) dos cadenas de texto por eso el resultado es el
obtenido. Luego se usa "\n" lo cual crea un salto de línea.
No es obligatorio pero es recomendable.
Introducción

Ejemplo 2 de impresión de texto por


pantalla en C++, usando cout
Introducción
#include "iostream"
#include "string"
using namespace std;
int main()
{
//El valor de esta variable se mostrará en pantalla
string salida1 = "Ejemplo de salida";
//Este valor también se mostrará en pantalla.
int numero = 2;
//Estos valores se concatenarán en una única salida
string salida2 = "Desde FTE.";

//Se concatenan y muestran los valores por pantalla con cout<<


cout << salida1 << " " << numero << ". " << salida2 << "\n";

return 0;
}
Objetivo

En este ejemplo de salida por pantalla hemos visto que


también es posible usar la instrucción cout para mostrar
en pantalla el valor de las variables así sean numéricas
o cadenas de texto. También vimos que podemos
concatenar los valores de esas variables entre sí y
también concatenarlas con otros valores directamente
(espacios, puntos, símbolos, etc.).

Ahora, veamos los mismos ejemplos, pero usando la


función printf de C++, la cual también es útil para
imprimir valores por pantalla
Contenido
Ejemplo 1 de impresión de texto por pantalla
en C++, usando printf
#include "iostream"
using namespace std;
int main()
{
//Se muestra un mensaje por pantalla.
printf("Hola Mundo");
printf(" Desde FTE.");
printf("\n");

//Alternativamente
printf("Hola Mundo Desde FTE.\n");

return 0;
}
Bibliografía

Como puedes ver, al ejecutar el código, el resultado sería el


mismo del ejemplo de cout: "Hola Mundo Desde FTE", con su
respectivo salto de línea al final. Sin embargo, el código es
bastante diferente, pues printf no nos permite concatenar valores
directamente en un solo llamado, así que debemos hacer
llamadas sucesivas para imprimir cada parte del mensaje. Por
supuesto, podrías simplemente hacer un solo llamado a printf con
el mensaje completo y sería mucho más sencillo.

Adicionalmente, los llamados a printf requieren que los valores


estén al interior de los paréntesis (), pues printf es más una
función que una instrucción propia de C++.

Es cuestión de gustos. Veamos ahora el segundo ejemplo usando


printf, porque la cosa se complica:
Desarrollo

Ejemplo 2 de impresión de texto por


pantalla en C++, usando printf
Desarrollo
#include "iostream"
#include "string"
using namespace std;
int main()
{
string salida1 = "Ejemplo de salida";
int numero = 2;
string salida2 = "Desde FTE.";
//Se concatenan y muestran los valores por pantalla con
parámetros de printf
printf("%s %d. %s \n", salida1.c_str(), numero, salida2.c_str());
return 0;
}
Desarrollo

En este ejemplo usando printf, puedes ver que inicialmente todo


es igual, pero al momento de imprimir, todo cambia. Cuando
necesitas pasar valores a printf, lo haces con un "%" seguido de
una letra. En el caso de un string se usa s (%s) y en el caso de un
número, se usa d (%d). Y luego, se pasa como una serie de
argumentos, cada uno de los valores a usar en ese mismo orden.
Ahora bien, la cosa es aún más compleja en el caso de string,
porque printf no soporta el uso de string, así que debemos pasar
es un apuntador a una seria de char. Por suerte, eso se consigue
llamando a la función "c_str()" propia de string.
Ya tenemos claro cómo mostrar texto por pantalla en C++ ahora
haremos uso de este concepto y veremos cómo leer texto por
teclado en C++. Veamos:
Desarrollo
Leer datos por teclado en C++ se hace usando el comando cin >>
es importante notar el uso de los dos signos >> que son usados
para controlar el flujo de datos.

Ejemplo 1 de lectura de datos en C++, usando cin

#include "iostream"
#include "string"

using namespace std;


int main()
{
cout << "Hola! Este es un ejemplo en C++" << "\n" << "Por favor ingrese su nombre:" << "\n";
//La instrucción \n es un salto de línea Mostrando los textos separados

string nombre;//En esta variable estará almacenado el nombre ingresado.


cin >> nombre; //Se lee el nombre

cout << "Bienvenido al sistema " << nombre << ". Gracias por usar nuestra aplicación" << "\n";

return 0;
}
Desarrollo

En este ejemplo hemos hecho un pequeño sistema de


bienvenida personalizado para el usuario leyendo el
valor por teclado de su nombre. En el comando cin>>
se debe poner, después de >>, el nombre de la variable
en la cual se almacenará el valor que el usuario ingrese.
Por tal motivo primero se declaró una variable llamada
nombre y luego se usó cin >> nombre indicando que lo
que el usuario ingrese se almacenará en dicha variable.

Ahora bien, el ejemplo anterior es funcional. Sin


embargo, presenta problemas para mostrar los valores,
cuando el nombre que ingresas contiene espacios. Y
como es muy posible que un nombre contenga
espacios, debemos repararlo.
Desarrollo
Ejemplo 1 (mejorado) para leer de datos en C++,
usando getline y cin
#include "iostream"
#include "string"

using namespace std;


int main()
{
cout << "Hola! Este es un ejemplo en C++" << "\n" << "Por favor ingrese su nombre:" <<
"\n";

string nombre; //Seguimos usando string para almacenar el nombre


//cin >> nombre; //Esta línea da problemas si se lee un valor con espacios
// En su lugar, usamos getline, con el flujo de entrada de cin y lo asignamos as nombre
getline(cin, nombre); //Esta línea no dará problemas con los espacios en el nombre

cout << "Bienvenido al sistema " << nombre << ". Gracias por usar nuestra aplicación" <<
"\n";
return 0;
}
Desarrollo
Ejemplo 2 de lectura de datos en C++, usando cin
#include "iostream"
#include "string"

using namespace std;

int main()
{
cout << "Hola! Aqui podras realizar sumas" << "\n";

float numero1, numero2; //Se declaran los números (pueden ser decimales)

cout << "Por favor ingrese el primer valor: " << "\n";
cin >> numero1;

cout << "Por favor ingrese el segundo valor: " << "\n";
cin >> numero2;

cout << numero1 << " + " << numero2 << " = " << numero1 + numero2;

return 0;
}
Desarrollo

Uso de scanf para leer valores y cadenas de


texto (string) en C++

El operador scanf al igual que printf fueron ideados para el


lenguaje C (no para C++), por lo cual su uso es más primitivo
y, en cierto modo, complejo. Leer datos con scanf implica
comprender un poco el concepto de punteros y
particularmente en el caso de string (que es una librería de
C++) se complica aún más, pues debemos convertir ese
string en un array definido de caracteres (char).

Vamos a ver un único ejemplo sobre el uso de scanf y string


en C++ para quedar claros acerca de estas dificultades
Desarrollo

#include "string"
using namespace std;
int main()
{
char temporal[100];
printf("Tu nombre?\n");
scanf("%100s", temporal);
string nombre = temporal;
printf("Te doy la bienvenida %s", nombre.c_str());
return 0;
}
Desarrollo

Como puedes ver, necesitamos seguir usando la sintaxis tipo


"%s" para leer una serie de caracteres, pero en esta ocasión
debimos además especificar el tamaño del mismo (100).

Tanto scanf como printf nos obligan a usar tipos muy


primitivos, como char, así que si queremos usar string es
poco lo que podemos hacer, pues aunque en nuestro código
finalmente hemos usado string, en realidad se trata de un
array de 100 caracteres (char) disfrazado.

El código funciona y te permitirá entonces leer valores por


medio de scanf y asignarlos a una variable. Esto funciona
muy bien con números, pero con string o básicamente en
este caso un array de caracteres, debemos lidiar con
tamaños constantes (como el 100 que tenemos allí).
Desarrollo
Los condicionales en C++. Uso declaración y
sintaxis en C++
Un condicional, permite establecer una serie de condiciones al
interior de nuestro programa, que nos ayudan a determinar que
acciones llevará cabo dadas ciertas circunstancias, por ejemplo si
queremos decidir cuándo dar acceso a un usuario, dependiendo
de si el nombre de usuario y contraseña son correctos, para algo
como esto, es útil un condicional, nos permite verificar si
determinada condición se cumple (en este caso si la contraseña y
el nombre de usuario son correctos) y de acuerdo a que se
cumpla o no, llevar a cabo un conjunto de acciones. Los
condicionales aumentan la "expresividad" de un software, es decir
nos permiten considerar diferentes situaciones con antelación,
evitando o permitiendo sortear diferentes tipos de situaciones que
son del interés de nuestra aplicación.
Desarrollo

Existen diferentes tipos de condicionales, cada uno tiene una


utilidad y funcionalidad diferente, que consideran diferentes
situaciones que se pueden llegar a presentar durante la
ejecución de un algoritmo. Depende entonces del
conocimiento que tengamos acerca de cada uno de los
condicionales saber determinar correctamente cuando es
necesario implementar uno u otro. Tenemos a nuestra
disposición los siguientes tipos de condicionales en C++:

Condicional If
Condicional if-else
Condicional Switch
Desarrollo

Los condicionales if, son una estructura de control


condicional, también llamadas estructuras selectivas de
casos simples (porque solo definen un posible flujo), las
cuales nos permiten tomar cierta decisión al interior de
nuestro algoritmo, es decir, nos permiten determinar qué
acciones ejecutar según cierta condición sea verdadera, por
ejemplo determinar si un número cualquiera es mayor que
10 y de acuerdo a esto mostrar un mensaje (o cualquier
acción que sea necesaria).

Básicamente, un condicional if, es una estructura que nos


posibilita definir las acciones a ejecutar si se cumple cierta
condición y de ese modo modificar la ejecución de tareas en
un programa según se necesite.
Desarrollo

Los condicionales if-else, son una estructura de control, que nos


permiten tomar cierta decisión al interior de nuestro algoritmo, es
decir, nos permiten determinar que acciones tomar dada o no cierta
condición, por ejemplo determinar si la contraseña ingresada por el
usuario es válida o no y de acuerdo a esto darle acceso al sistema o
mostrar un mensaje de error.

Se les conoce también como estructuras selectivas de casos dobles


(porque definen ambas posibilidades en la ejecución --si se cumple y
si no se cumple --).

En resumen, un condicional if-else es una estructura que nos


posibilita definir las acciones que se deben llevar a cabo si se cumple
cierta condición y también determinar las acciones que se deben
ejecutar en caso de que no se cumpla; generando así una separación
o bifurcación en la ejecución del programa, ejecutando ciertas
acciones u otras a partir de la evaluación de una condición dada.
Desarrollo

Los condicionales Switch, son una estructura de control


condicional, que permite definir múltiples casos que puede
llegar a cumplir una variable cualquiera, y qué acción tomar
en cualquiera de estas situaciones, incluso es posible
determinar qué acción llevar a cabo en caso de no cumplir
ninguna de las condiciones dadas.
Bibliografía

 Estudiar complementarios. (Grupo de


telegram)
Condicional If en C++
Condicional if-else en C++
Condicional Switch en C++
La inteligencia consiste no solo en el conocimiento,
sino también en la destreza de aplicar los
conocimienos en la práctica

También podría gustarte