Está en la página 1de 9

PROGRAMACIÓN 1 de noviembre de 2019

TRABAJO DE INVESTIGACION
Debe realizar una investigación sobre la estructura FOR.
1. El concepto esencial de esta estructura.
FOR es una estructura de repetición empleada en la programación de algoritmos para repetir un
código una o más veces dependiendo de un contador.

For permite controlar el flujo de ejecución de sentencias de programación permitiendo repetir un


código.

FOR o DO

En general, los lenguajes de programación que descienden de ALGOL usan el nombre "for", pero
aquellos que descienden de Fortran emplean el nombre "do" para implementar la misma estructura.

En tanto, en lenguaje COBOL se emplea "PERFORM VARYING".

Funcionamiento del FOR

La estructura For posee un contador explícito, esto permite al cuerpo del For (el código que es
ejecutado repetidas veces) saber en qué repetición está.

Generalmente la estructura For se emplea cuando se sabe de antemano el número de iteraciones


necesarias antes de entrar a las repeticiones.

Se puede construir un For empleando un While con un contador y agregando la condición de


"corte" asociada al contador en el While.

El FOR se empleó por primera vez en ALGOL 58, traducción directa del alemán für usado en
Superplan (1949–1951) de Heinz Rutishauser, quien también estuvo involucrado en definir ALGOL
58 Y ALGOL 60.

Esquema del flujo de ejecución en una estructura FOR típica

YASMYLA TERAN LOPEZ 1|9


PROGRAMACIÓN 1 de noviembre de 2019

Ejemplo de FOR en C

Veamos un ejemplo en lenguaje C:

int contador;

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


{
printf(“Repetición número %d”, contador);
};

Primero se crea la variable contador de tipo entero (será la variable de control en el for). Luego se
ejecuta la estructura for iniciando la variable contador en 1.

Luego se verifica que se cumple la condición contador<=10 y se ejecuta el bloque dentro de la


estructura, o sea, imprime en pantalla el texto Repetición número 1.

Luego la variable contador es incrementada en uno con el comando contador++ y el ciclo se inicia
otra vez. La variable contador ahora vale 2, por lo tanto se verifica la condición y se vuelve a
ejecutar el código.

Este proceso se ejecuta hasta que la variable contador toma el número 11 y la condición se hace
falsa, no ejecutando el bloque o cuerpo del for.

2. Su representación en el diagrama de flujo

Inicio; condición; Proceso a repetirse


incremento

La variable “i” se
incrementara de uno en
uno por cada vez que se
terminen los procesos

i==0; i<=5; i++ Proceso a repetirse

La variable “i” Los procesos se


repetirán siempre y Aquí dibujaremos los
iniciara con un valor
cuando la variable “i” procesos que queremos
igual a cero.
sea menor igual a 5. que se repitan una
cantidad de veces
definidas.

YASMYLA TERAN LOPEZ 2|9


PROGRAMACIÓN 1 de noviembre de 2019

3. Su representación en pseudocodigo

Para<V=VI>hasta<VI>

Hacer

Accion1

Accion2

AccionN

Fin Para

Inicio

Entero NUM, SUM Declaración e inicialización de


variable NUM Y SUM
SUMA=0

Para (num=1) hasta 5

Hacer Instrucciones del bucle

Suma=suma + num

Fin Para
Instrucciones que se
Escribir”la suma es:,”suma” ejecutan al salir de bucle
Fin

4. Su implementación en el lenguaje de programación C++.

for(int i=valor incial; i<= valor final; i=i+paso)


{
……
……
Bloqueo de instrucciones….
……
……
}

YASMYLA TERAN LOPEZ 3|9


PROGRAMACIÓN 1 de noviembre de 2019

Para comprender mejor el funcionamiento del ciclo for, pongamos un ejemplo, supongamos que
queremos mostrar los números pares entre el 50 y el 100, si imaginamos un poco como seria esto,
podremos darnos cuenta que nuestro ciclo deberá mostrar una serie de números como la siguiente:
50 52 54 56 58 60... 96 98 100.

El código funcional completo sería el siguiente:

#include”iostream”
#include “stdljb.h”

Using namespace std;


Int main
{
for(int i=50; i=100; i+=2)
{
Cout<<i<<endl;
}
System(PAUSE);
Return 0;
}

YASMYLA TERAN LOPEZ 4|9


PROGRAMACIÓN 1 de noviembre de 2019

5. Escribir dos programas que utilice esta estructura

Ejemplo nº1
• Encontrar el factorial de un numero

DIAGRAMA DE FUJO INICIO

Int n,i;

“Introduce un
numero”

Factorial=1

i=1; i<=n; i++

“ factorial de n”

Factorial=factorial*i

factorial

FIN

YASMYLA TERAN LOPEZ 5|9


PROGRAMACIÓN 1 de noviembre de 2019

PSEUDOCODIGO

Inicio
entero n,i,factorial
escribir (“introduce un numero”)
leer (n)
factoria=1
para (i=1; i<=n; i++) entonces
factorial=factorial*i
fin-para
escribir(“factoria de;n;”es”;factorial”)
fin

LENGUAJE DE PROGRAMACION

#include <iostream>
using namespace std;
int main()
{
int n,i;
long double factorial; // se declara long double para poder representar números grandes
cout << "Introduce un numero: ";
cin >> n;
factorial=1;
for(i=1;i<=n;i++){
factorial = factorial * i;
}
cout << endl << "Factorial de " << n << " -> " << factorial << endl;
system("pause");
}

YASMYLA TERAN LOPEZ 6|9


PROGRAMACIÓN 1 de noviembre de 2019

Ejemplo nº2
• Encontrar cuantos son menores, mayores e iguales a cero.

DIAGRAMA DE FLUJO inicio

Entero i,munero,num,soncero=0,menores=0,mayores=0

“cuantos números
desea procesar”

numero

i=1; i<=num; i++

si no
Numero=0
“ingrese un numero”

Soncero++
si no
Numero<0

numero

Menores++ Mayores++

“numero iguales a
cero”;soncero

YASMYLA TERAN LOPEZ 7|9


PROGRAMACIÓN 1 de noviembre de 2019

“números menore
que cero”;menores

“números mayores
que cero”;mayores

fin

PSEUDOCODIGO

inicio
entero i,numero,num,soncero=0,menores=0,mayores=0
escribir(“cuantos números desea procesar”)
leer(numero)
para(i=1; i<=num; i++)entonces
escribir(“ingrese un numero”)
leer(numero)
fin-para
si(numero=0)entonces
soncero++
fin-si
si-no
si(numero<0)entonces
menores++
si-no
mayores++
fin-no
escribir(“números iguales a cero”;soncero)
escribir(“números menores que cero”;menores)
escribir(“números mayores que cero”;mayores)
fin

YASMYLA TERAN LOPEZ 8|9


PROGRAMACIÓN 1 de noviembre de 2019

LENGUAJE DE PROGRAMACION

#include <iostream>
using namespace std;
int main() {
int i,numero,num,sonCero=0,menores=0,mayores=0;
cout << "Cuantos numeros desea procesar: ";
cin >> num;
for (i=1; i<=num; i++) {
cout << "Ingrese un numero: ";
cin >> numero;
if (numero == 0)
sonCero++;
else if (numero < 0)
menores++;
else
mayores++;
}
cout << endl << "Numeros iguales a cero " << sonCero << endl;
cout << "Numeros menores que cero " << menores << endl;
cout << "Numeros mayores que cero " << mayores << endl;
return 0;
}

YASMYLA TERAN LOPEZ 9|9

También podría gustarte