PDF de programación - Tema3 Programación estructurada - Programación I C++

Imágen de pdf Tema3 Programación estructurada - Programación I C++

Tema3 Programación estructurada - Programación I C++gráfica de visualizaciones

Publicado el 9 de Julio del 2019
456 visualizaciones desde el 9 de Julio del 2019
612,7 KB
15 paginas
Creado hace 10a (09/11/2013)
1

PROGRAMACIÓN I

C++

Grado en Estadística Aplicada. EUE.

2

Tema 3.- Programación estructurada

Isabel Riomoros

Programación estructurada

3

Introducción

4

Sentencias condicionales

programas lineales - comienzan por la primera Sentencia y acababan
por la última, ejecutándose todas una sola vez.

Sentencias iterativas o

repetitivas

Secuenciales

Entrada
Salida

Asignación

Estructuras
Algorítmicas

Condicionales

Simples
Múltiples

Iterativas o repetitivas

Hacer para
Hacer mientras
Repetir hasta

Introducción

5

cout ,cin, asignación

Sentencias IF y SWITCH

Sólo con estas sentencias podemos

resolver problemas sencillos.

Cuando nos interesa que dependiendo
de los valores de los datos, se ejecuten
unas sentencias u otras sentencias
condicionales.

6

Sentencias condicionales

Sentencias WHILE, DO-WHILE y FOR

IF, IF-ELSE, SWITCH

A veces nos interesará repetir una
sentencia ó sentencias un número
determinado de veces sentencias de
control iterativas ó repetitivas (ciclos
o bucles).

Sentencia condicional simple: IF

Sentencia condicional simple: IF

7

8

estructura algorítmica

El formato general de una

si

?

condición

no

#include <iostream>
using namespace std;

sentencia if es la siguiente:

Sentencia (es )

if (condición)

{

}

Sentencia 1;

Sentencia n;

¡¡¡OJO!!!

if (condición)
Sentencia;

Si se cumple la condición, entonces se
ejecuta la Sentencia ó el bloque de
Sentencias; en caso contrario,
no se
ejecutan.

int main()
{

int a;
cin >> a;

if (a<0)

a = -a;

cout << a;
return 0;

}

Valor absoluto

#include <iostream>
using namespace std;

int main()
{

...

if (cantidad > 3)
{

descuento = 0.2;
precio = n*descuento;

}

...
return 0;

}

Descuento en un producto si
compras más de tres unidades

9

11

Sentencia condicional doble : IF-ELSE

Estructura algorítmica asociada:

si

?

condición

no

Sentencia condicional IF, IF-ELSE

10

Diagrama sintáctico:

sentencia if-else

if (condición)

{

}
else

{

}

Sentencias 1;

Sentencias 2;

Sentencia(es )1

Sentencia(es )2

if

(

condición

)

Sentencia

;

{

Sentencia

;

}

if (condición)

Sentencia 1;

else

Sentencia 2;

Si se cumple la condición, se ejecutan las
Sentencias del primer bloque;

si no, se ejecutan las Sentencias del segundo
bloque.

else

Sentencia

;

{

Sentencia

;

}

Sentencia condicional doble : IF-ELSE

Sentencia condicional doble : IF-ELSE anidadas

#include <iostream>
int main()
{

int a, x;
cin >> a;

if (a==0)

else

x = 1;

x= 0;

cout << x;
return 0;

}

#include <iostream>
int main()
{

...

if (cantidad > 3)
{

descuento = 0.2;
precio = n*descuento;

}
else

precio = n;

...
return 0;

}

12

Podemos utilizar las sentencias IF-ELSE anidadas, es decir,

que alguna de las ramas sea a su vez otra Sentencia IF-
ELSE.

si

?

no

condición1
condición1

Acción (es)

si

?

no

condición2
condición2

Acción (es)

Acción (es)

Sentencia condicional doble : IF-ELSE anidadas

13

.

Sentencias IF-ELSE anidadas

Ejercicios

14

if (condición1)
Sentencia 1;

else

if (condición2)

Sentencia 2;

else

Sentencia 3;

if (condición1)
Sentencia 1;

else

if (condición2)

Sentencia 2;

else

if (condición3)
Sentencia 3;

else

Sentencia 4;

If (a>=0)
if (a<=5)
cout<<“a está entre 0 y 5”;
else cout<<“a debe ser menor que cero”;

Si a toma un valor menor que 0 ¿qué pasará?

¿Cómo se
escribirá
en c++?

15

Sentencias Condicionales

16

#include <iostream>
int main()
{

int a, b, c, max;
cin >> a >> b >> c;

if (a > b)

else

if (a > c)

cout << a;

else

cout << c;

if (b > c)

cout << b;

else

cout << c;

return 0;

}

¿Qué problema
resuelve este

código

?

if (Nota == 10)
cout << "MH";
else
if (Nota >= 9)
cout << "Sobresaliente";
else
if (Nota >= 7)
cout << "Notable";
else
if (Nota >= 5)
cout << "Aprobado";
else
cout << "Suspenso";

17

19

Ver si un número es primo sin ciclos

#include<iostream>

using namespace std;

int main()

{

int n;

cout << "Introduce un numero: "; cin >> n;

if(n!=2 & n%2==0)

cout << "No es primo";

else

{

if(n!=3 & n%3==0)

cout << "No es primo";

else

{

if(n!=5 & n%5==0)

cout << "No es primo";

else

{

if(n!=7 & n%7==0)

cout << "No es primo";

else

{

}

if(n!=11 & n%11==0)

cout << "No es primo";

else

{

}

cout << "Es primo";

}

}

}

system("pause");

return 0;

}

es infalible hasta el 168

Problemas clase

18

Dado el sueldo de un trabajador, aplicar un aumento del

20 % si el sueldo es inferior a 600 euros.

Determina si un entero es par y en caso de no serlo,

determinar si es divisible por 3

Leer tres números enteros de un supuesto triángulo,

determinar si realmente forman un triángulo, y mostrar el
tipo de triángulo que es (si es un triángulo).
triángulo: La suma de dos cualesquiera de los lados debe ser

mayor que el otro.

equilátero: todos los lados son iguales.
isósceles: solo dos lados son iguales.
escaleno: no tiene dos lados iguales.

Dados los goles del equipo local (golLocal) y los goles del

equipo visitante (golvisita), devuelva una cadena de
caracteres indicando qué equipo ha ganado (local,visitante,
empate).

Dado un número de mes escribir el nombre

Calcular el área de diferentes polígonos

Sentencia condicional múltiple : SWITCH

¿Qué área quieres calcular?

1. cuadrado

2. rectángulo

3. Triángulo

4. Fin

20

Estructura algorítmica

switch (selector)

{

}

case constante1:

Sentencia1 ó bloque de Sentencias
break;

case constante2:

Sentencia2 ó bloque de Sentencias
break;
defeault:

Sentencia2 ó bloque de Sentencias

Constante 1

?

DATO

ConstanteN

Acción (es)

Constante 2

Acción (es)

Acción (es)

. . .

. . .

Permiten comparar una ‘variable’

con distintos valores posibles,
ejecutando para cada caso una
serie de Sentencias específicas.

Sentencia condicional múltiple : SWITCH

Sentencia condicional múltiple : SWITCH

21

El valor de selector debe ser un número

entero. Puede ser una variable, una expresión

ó una llamada a una función.

switch (selector)

{

}

case constante1:

Sentencia1 ó bloque de Sentencias
break;

case constante2:

Sentencia2 ó bloque de Sentencias
break;

defeault:

Sentencia3 ó bloque de Sentencias

Cada caso comienza con un
case y termina con un break

¿Qué ocurre si se me
olvida algún break ?

Dada una nota escribir la calificación

23

#include<iostream>

using namespace std;

int main() {

int nota;

cout<<" Inserte una nota: ";

cin>>nota;

switch(nota) {

case 0: cout<<"\nSuspenso"; break;

case 1: cout<<"\nSuspenso"; break;

case 2: cout<<"\nSuspenso"; break;

case 3: cout<<"\nSuspenso"; break;

case 4: cout<<"\nSuspenso"; break;

case 5: cout<<"\nAprobado"; break;

case 6: cout<<"\nBien"; break;

case 7: cout<<"\nNotable"; break;

case 8: cout<<"\nNotable"; break;

case 9: cout<<"\nSobresaliente"; break;

case 10: cout<<"\nSobresaliente"; break;

default: cout<< "esa nota es incorrecta";

}

return 0;

}

22

24

#include <iostream>
int main ()
{

cin>> num;
switch (num)

{

case 1:

Ejemplo

Si al ejecutar el programa
introducimos un 2, obtenemos
el mensaje:

‘Ha introducido el nº 2’

cout << “Ha introducido el nº 1\n”;

case 2:

cout << “Ha introducido el nº 2\n”;
break;

defeault:

cout << “Ha introducido otro nº”;

}

return 0;

}

Si al ejecutar el programa
introducimos un 1, obtenemos
el mensaje:

‘Ha introducido el nº 1’
‘Ha introducido el nº 2’

Pasar de euros a pts o de Pts a euros

const float EURO= 166.386;
float n,x; int opcion;

cout<<"la cantidad: ";
cin>>n;
cout<<"1-Ptas a Euros 2-Euros a ptas";
cin>>opcion;
switch(opcion) {

case 1: {

x=n/EURO;
cout<<n<<" Pesetas son "<< x<<" Euros"; break;
}
case 2: {

x=n*EURO;
cout<<n<<" Euros son "<<x<<" Pesetas"; break;
}

default: cout<<"incorrecta";

}

Errores difíciles de encontrar

25

Ejercicios

26

En la condición de un if poner un = en vez de ==, no da

error y considera la expresión siempre cierta, salvo que sea =
0 que la expresión la considerará falsa

Programa que calcule el índice de masa corporal de

una persona (IMC = peso [kg] /altura2 [m]) e
indique el estado en el que se encuentra esa persona
en función del valor de IMC:

If x<y<z NO
If ((x<y) &&(z<y)) SI

Ejercicios

27

Ejercicios

28

En el Supermercado CompraMix se ofrece la promoción de
llevarse tres productos por el precio de los dos más
baratas. Escribir un programa que, dados los tres precios
de los productos, determine la cantidad a pagar.

Programa que simule el funcionamiento de una calculadora que puede
realizar las cuatro operaciones aritméticas básicas (suma, resta, producto y
división) con valores numéricos enteros. El usuario debe especificar la
operación con el primer carácter del primer parámetro de la línea de
comandos: S o s para la suma, R o r para la resta, P, p, M o m para el
producto y D o d para la división. Solicitar al usuario los dos enteros y la
operación a realizar.

29

Sentencias o sentencias repetitivas o

iterativas

Sentencias Iterativas o repetitivas

30



Controlan la repetición de un conjunto de Sentencias

denominado bloque o cuerpo del bucle, mediante la
evaluación de una condición o mediante un contador.

WHILE, DO-WHILE, FOR

Sentencias

WHILE, DO-WHILE y FOR

Sentencia de control repetitiva : FOR

Sentencia de control repetitiva : FOR

31

32

Se utiliza para ejecutar un bloque de
Sentencias un número fijo de veces
que se conoce de antemano.

estructura algorítmica

hacer_para:

La Sentencia for se vale de una variable de control del ciclo. El ciclo se repite
desde el límite inferior, hasta que la variable de control llegue la límite
superior.

i ‹

inf

?
sup
sup

i £
i

no

si

Acción(es)

i ‹

i + 1

for ( inicialización ; condición ; actualización )
{

Sentencia 1;



Sentencia n;

}

for ( inicial
  • Links de descarga
http://lwp-l.com/pdf16247

Comentarios de: Tema3 Programación estructurada - Programación I C++ (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad