PDF de programación - 04c.- Control de Flujo (Estructuras Iterativas) - Programación Orientada a Objetos en C# .NET

Imágen de pdf 04c.- Control de Flujo (Estructuras Iterativas) - Programación Orientada a Objetos en C# .NET

04c.- Control de Flujo (Estructuras Iterativas) - Programación Orientada a Objetos en C# .NETgráfica de visualizaciones

Publicado el 17 de Febrero del 2019
1.117 visualizaciones desde el 17 de Febrero del 2019
616,2 KB
21 paginas
Creado hace 5a (15/08/2018)
Fundamentos de Programación

CAPÍTULO 8

CONTROL DE FLUJO

(Estructuras iterativas)

2

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

1

Fundamentos de Programación

Preguntas detonadoras

¿Qué es una estructura iterativa? ¿Para qué sirve?
¿Cuántos tipos existen de estructuras iterativas?
¿Cuál es la diferencia entre las diversas estructuras

iterativas?

¿Cuándo se recomienda utilizar una estructura

iterativa de tipo do-while?

¿… cuándo una de tipo while?
¿… cuándo una de tipo for?
¿… cuándo una de tipo foreach?

Incrementos

Son contadores ascendentes
Se representan mediante expresiones de

tipo:
x = x + 1

Donde al valor actual de la variable x se le
suma 1 y el resultado se almacena en la
misma variable x

3

4

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

2

Fundamentos de Programación

Operador de incremento en C#

En C# se usa el operador ++ para representar un

incremento

Una expresión algorítmica de incremento como:

x = x + 1

se puede representar como:

++x;
x++;

// Notación prefijo
// Notación postfijo

5

C#

i = i + 1;

i++;

++i;

i+=1;

y = y + 1;

y++;

++y;

y+=1;

Edad = Edad + 1;

Edad++;

++Edad;

Edad+=1;

6

Ejemplos de incrementos

Incremento

Expresión algorítmica

i = i + 1

y = y + 1

i = i + 1

y = y + 1

Edad = Edad + 1

Edad = Edad + 1

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

3

Fundamentos de Programación

Ejemplo notación prefijo

static void Main(string[] args)
{

int x = 3, y;

y = ++x;
Console.WriteLine("x="+x); // x = 4
Console.WriteLine("y="+y); // y = 4

}

Ejemplo notación postfijo

static void Main(string[] args)
{

int x = 3, y;

y = x++;
Console.WriteLine("x="+x); // x = 4
Console.WriteLine("y="+y); // y = 3

}

7

8

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

4

Fundamentos de Programación

Decrementos

Son contadores descendentes
Se representan mediante expresiones de

tipo:
y = y - 1

Donde al valor actual de la variable y se le
resta 1 y el resultado se almacena en la
misma variable y

9

Operador de decremento en C#

En C# se usa el operador -- para representar un

decremento

Una expresión algorítmica de decremento como:

y = y - 1

se puede representar como:

--y;
y--;

// Notación prefijo
// Notación postfijo

10

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

5

Fundamentos de Programación

Ejemplos de decrementos

Incremento

Expresión algorítmica

i = i - 1

y = y - 1

i = i - 1

y = y - 1

Edad = Edad - 1

Edad = Edad - 1

C#

i = i - 1;

i--;

--i;

i-=1;

y = y - 1;

y--;

--y;

y-=1;

Edad = Edad - 1;

Edad--;

--Edad;

Edad-=1;

11

Operadores de asignación en C#

Operador

Descripción

Equivalencia

Ejemplo

+=

-=

*=

/=

%=

<<=

>>=

&=

|=

Suma

Resta

Multiplicación

División

Residuo

Desplazamiento
izquierda (bits)

Desplazamiento
derecha (bits)

And (bits)

Or (bits)

x=x+2;

y=y-3;

w=w*4;

x+=2;

y-=3;

w*=4;

a=a/7.3;

a/=7.3;

b=b%7;

r=r<<1;

b%=7;

r<<=1;

t=t>>2;

t>>=2;

q=q&3;

f=f|3;

q&=3;

f|=3;

12

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

6

Fundamentos de Programación

Acumuladores
Los

acumuladores

semejantes
contadores, pero con las siguientes diferencias:

son muy

a

los

Un contador solamente puede tener operadores de
suma o resta y el acumulador puede tener cualquier
operador aritmético.

Un contador solamente puede aumentar o disminuir
su valor de uno en uno, mientras que el acumulador
puede modificar su valor de n en n.

Utilizan los operadores de asignación en C#

Ejemplos de acumuladores

Acumulador

Expresión algorítmica

C#

i = i + 2

i = i + 2

y = y – 3

y = y – 3

a = a * 4

a = a * 4

w = w / 2

w = w / 2

i = i + 2;

i+=2;

y = y – 3;

y-=3;

a = a * 4;

a*=4;

w = w / 2;

w/=2;

13

14

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

7

Fundamentos de Programación

Estructuras iterativas

Son bloques de código que se repiten cierta

cantidad de veces

Cada vez que se ejecuta el bloque se conoce

como “iteración”

También se conocen como:

Estructuras cíclicas
Ciclos

Tipos de estructuras iterativas

1.

for

2. while

3. do-while

Tipos de
estructuras
iterativas

4. foreach (solamente en C#)

15

16

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

8

Fundamentos de Programación

Componentes de una estructura
iterativa

Componentes de
una estructura

iterativa

1.

Inicialización

2. Condición

3. Incremento/decremento
(paso)

4. Cuerpo

17

Ciclos
while
do – while
for
foreach

En C# todos los ciclos son de tipo “mientras”; es decir,

iteran mientras la condición es verdadera

18

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

9

Fundamentos de Programación

Ciclo while

i = 1

WHILE
i <= 10

V

i

i = i + 1

F

i=1;
while(i<=10)
{

Console.WriteLine(i);
i++;

}

Ciclo do-while

i = 1

i

i = i + 1

V

WHILE
i <= 10

F

i=1;
do
{

Console.WriteLine(i);
i++;

}
while(i<=10);

19

20

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

10

Fundamentos de Programación

Ciclo for

x = 1

x = x + 1

x <= 10

F

V

x

for(x = 1; x<=10; x++)
{

Console.WriteLine(x);

}

Ejemplo de ciclo for

x = 1
y = 2

x = x + 1
y = y +2

x <= 10
AND
y < = 12

F

V

X

for(x = 1, y = 2; x<=10 && y<=12; x++, y+=2)
{

Console.WriteLine(“x = ” + x);

}

21

22

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

11

Fundamentos de Programación

Ciclo foreach

Este ciclo es especialmente útil cuando se desea
recorrer todos los elementos de una lista, matriz
o colección de datos

foreach(int x in miListaEnteros)
{

Console.WriteLine(“x = “ + x);

}

Las sentencias break y continue

Sentencias que

afectan la ejecución

de ciclos

break;

Provoca la salida
inmediata del ciclo

continue;

Provoca la siguiente
iteración del ciclo

23

24

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

12

Fundamentos de Programación

Ejemplo de uso de break

static void Main(string[] args)
{

for (int i = 0; i<=10; i++)
{

if (i == 5)

break;

Console.WriteLine(i);

}

}

Salida:

0
1
2
3
4

Ejemplo de uso de continue

static void Main(string[] args)
{

for (int i = 0; i<=10; i++)
{

if (i == 5)

continue;

Console.WriteLine(i);

}

}

Salida:

0
1
2
3
4
6
7
8
9
10

¡¡¡ Nótese que NO imprime el número 5 !!!

25

26

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

13

Fundamentos de Programación

Diferencias de los ciclos

do – while.

Se recomienda cuando se desea ejecutar el
cuerpo al menos 1 vez. Es útil para las validaciones en la
captura de datos.

while.

Se recomienda cuando se desea ejecutar el

cuerpo del ciclo 0 (cero) o más veces.

for. Es recomendable cuando se conoce la cantidad de

iteraciones que ejecutará el ciclo.

27

x

Diferencias de los ciclos (cont.)

F

i = 1

WHILE
i <= 10

V

i

i = i + 1

i = 1

i

i = i + 1

V

WHILE
i <= 10

F

x = 1

x = x + 1

x <= 10

F

V

Cero o más veces

Una o más veces

Se conoce la cantidad de

iteraciones

28

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

14

Fundamentos de Programación

Métodos de la clase Math

Método

Abs(x)

Descripción

Valor absoluto

Ceiling(x)

Redondeo

Cos(x)

Exp(x)

Coseno (x en radianes)

Método exponencial ex

Floor(x)

Redondea al valor inmediato
menor

Log(x)

Logaritmo natural (base e)

Ejemplo

Abs(-23.7) es 23.7

Ceiling(9.2) es 10.0

Cos(0.0) es 1.0

Exp(1.0) es
2.7182818284509451

Floor(9.2) es 9.0

Log(2.7182818284509451) es
1.0

Max(x, y)

Valor mas grande de x e y

Max(2.3, 12.7) es 12.7

Min(x, y)

Valor mas pequeño de x e y

Min(2.3, 12.7) es 2.3

Pow(x, y)

xy

Sin(x)

Sqrt(x)

Tan(x)

Tangente (x en radianes)

Tan(0.0) es 0.0

29

Seno (x en radianes)

Raíz cuadrada

Pow(2.0, 3.0) es 8.0

Sin(0.0) es 0.0

Sqrt(9.0) es 3.0

Ámbito de las variables

El ámbito de una variable define dónde puede usarse

una variable

Una variable local declarada en un bloque de programa,

sólamente puede ser usada en ese bloque

El ámbito de una variable también aplica a los métodos

y a los ciclos

30

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

15

Fundamentos de Programación

Ámbito de las variables
for(int x = 1; x<=10; x++)
{

Console.Write(x);

}

Console.Write(x);

31

Tarea

Investigar las secuencias de escape en

C#

¿Qué son?
¿Para qué sirven?
¿Cómo se usan?

32

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

16

Fundamentos de Programación

Ejercicio de algoritmo contador

Un profesor imparte clase a 10 estudiantes y
desea capturar el nombre y la calificación de
cada uno de ellos. Al finalizar debe imprimir la
cantidad de estudiantes
con calificación
aprobatoria.

NOTAS:

La calificación mínima aprobatoria es 70.
Valide que solamente se capturen calificaciones

entre 0 y 100.

Valide que no se capture el nombre en blanco.

Diagrama de clase

33

34

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

17

Fundamentos de Programación

Diagrama de flujo

INICIO

1

2

Declarar miEstudiante como Estudiante

Declarar i como entero

Declarar intEstudiantesAprobados como entero

"Teclee la calificación: "

"Estudiantes aprobados = "+

intEstudiantesAprobados

intEstudiantesAprobados = 0

miEstudiante.Calificacion

for(i=1; i<=10; i++)

2

no

yesyes

miEstudiante = new Estudiante()

yes

"Teclee el nombre del estudiante:"

miEstudiante.Nombre

WHILE

miEstudiante.Nombre == ""
  • Links de descarga
http://lwp-l.com/pdf15267

Comentarios de: 04c.- Control de Flujo (Estructuras Iterativas) - Programación Orientada a Objetos en C# .NET (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