bienvenidos a mi post en este post veremos estructuras de control:
- algoritmos
- diagrama de flujo
- pseudocodigo
- estructuras de control
- if, if else, while
- algoritmos:
La solucion a cualquier problema de computo involucra la ejecucion de una serie de acciones en un orden especifico.Al procedimiento para resolver un problema en terminos de :
1. Las acciones a ejecutar.
2. El orden en el cual se llevan a cabo dichas acciones.
se llaman algoritmos.
Un algoritmo se define como una secuencia de pasas que llevan a la solucion de un problema.
un ejemplo podria ser el famoso cubo rubik que con ciertos tipos de giros en el orden correcto se llega a poner todos los cuadros en su color.
-diagrama de flujo
un diagrama de flujo es una representacion grafica de un algoritmo o de una porcion de un algoritmo.Los diagramas de flujo se dibujan mediante simbolos de proposito especiales tales como, rectangulos, rombos, ovalos y pequeños circulos; estos simbolos se conectan mediante flechas llamadas lineas de flujo.
aqui les dejo la simbologia:
y aqui un ejemplo :
-pseudocodigo:
el pseudocodigo es un lenguaje artificial e informal que ayuda a los programadores a desarrollar algoritmos. El pseudocodigo solo consiste en caracteres, de manera que los programadores pueden introducir los programas en pseudocodigo a la computadora mediante un programa de edicion.
- Estructuras de control :
Por lo general, las instrucciones dentro de un programa se ejecutan una a una en el orden en que estan escritas. A esto se le llama ejecucion secuencial. Varias instrucciones de c, permiten al programador especificar que la siguiente instruccion a ejecutarse debe ser otra y no la siguiente en la secuencia, a esto se le llama tranferencia de control.
El trabajo de Bhom y Jacopini demostro que todos los programas se podian escribir en terminos de solo tres estructuras de control, secuencial, selectiva y repetitiva.
-La instruccion de seleccion if :
realiza una accion si la condicion es verdadera, o ignora la accion si la condicion es falsa.
Las estructuras de seleccion se utilizan para elegir entre diversos cursos de accion. Por ejemplo suponga, que la calificacion minima para aprovar es 60. la instruccion del programa en pseudocodigo es:
if calificacion del estudiante es mayor o igual que 60
imprime aprovado
para utilizar una funcion debes poner el nombre de la funcion en este caso if y poner la condicion, en este caso lo que ase esta instruccion es comparar la calificacion si esta condicion se cumple entonces el programa imprime aprovado si no es ignorada la instruccion.
otra forma de representarlo seria con el diagrama de flujo :
la manera de escribir esta condicion en lenguaje de c ++ seria la siguiente:
if ( calificacion >= 60 )
cout<<aprovado<<endl;
como ven utilizamos operados de relacion los cuales vimos en el post anterior.
-La instruccion de seleccion if... else
la insruccion de seleccion if realiza una accion indicada, solo cuando la condicion es verdadera; de lo contrario, se ignora dicha accion. La if..else permite al programdor especificar que se realizaran acciones diferentes cuando la condicion sea falsa. por ejemplo :
if ( calificacion >= 60)
cout<< aprovado<< endl;
else
cout<< reprovado<< endl;
imprime aprovado si la calificacion del estudiante es mayor o igual a 60, e imprime reprovado si la calificacion es menor que 60.
ahora veres un ejemplo usando las 2 estructuras anteriores :
#include <iostream>
using namespace std;
int main()
{
int calificacion ;
cout<< "dame la calificacion"<<endl;
cin>> calificacion;
if ( calificacion >= 90)
cout<<"exelente"<<endl;
else if ( calificacion >= 70)
cout<<"regular"<<endl;
else if ( calificacion >= 60)
cout<<"aprovado"<<endl;
else
cout<<"reprovado"<<endl;
system("pause";
return 0;
}
-La estructura de repeticion while :
una instruccion de repeticion permite al programador especificar que una accion se va a repetir mientras una condicion sea verdadera.
Las instrucciones contenidas dentro de la instruccion de repeticion while constituyen el cuerpo de la instruccion.El cuerpo de la instrucccion while puede ser una sola instruccion o una instruccion compuesta.
En algun momento la condicion sera falsa, en ese momento la repeticion termina y se ejecuta la siguiente instruccion, despues de la estructura de repeticion.
un ejemplo seria; considere un segmento de programa diseñado para encontrar la primera potencia de 2 que sea mayor que 1,000.
iniciamos la variable en 2
producto = 2
while ( producto <= 1000)
producto = 2 * producto ;
ahora vamos a practicar veremos 2 programas una contralada por contador y otro controlada por centinela.
controlada por contador
veamos el siguiente problema. Un grupo de diez estudiantes realizo un examen. usted tiene a su dispocision las calificacion de este examen.Determine el promedio de las calificaciones.
el promedio del grupo es igual a la suma de las calificaciones, dividida entre el numero de estudiantes.[/size]
Esta tecnica del contador, utiliza una variable llamada contador para especificar el numero de veces que se ejecuta un conjunto de instrucciones. A menudo, a la repeticion controlada por contador se le conoce como repeticion definida debido a que se conoce el numero de repeticiones antes de la ejecucion del ciclo.
asi quedaria el programa ;
#include <iostream>
using namespace std;
int main()
{
int contador, calificacion, total, promedio ;
// fase de inicializaion
total = 0;
contador = 0;
// comienza el while
while ( contador <= 10) // esto se pepite asta que la condicion se cunpla
{
cout<< "introdusca una calificacion"<<endl;
cin>> calificacion;
total = total + calificacion ;
contador ++ ;
} // fin de while
//fase de terminacion
promedio = total / 10;
cout<< " el promedio del grupo es" <<promedio<< endl;
system("pause" );
return 0;
}
y esto es lo que imprimiria ;
observe como en el programa se hace referencia a un total y a un contador. total es una variable que se utilizo para acumular la suma de una serie de valores.Un contador es una variable que se utiliza para contar, en este caso, para contar el numero de calificacion introducidas.Por lo general las variables como total se inicializan en cero antes de emplearlas dentro del programa y las contador generalmente se inician en cero o en uno dependiendo el caso.
la linea
contador ++
lo que hace es sumar uno al contador cada ves que el ciclo se ejecute.
-Controlada por centinela:
otra manera de resolver este problema es utilizar un valor especial llamado por centinela para indicar el "fin de la entrada de datos". El usuario introduce las calificaciones mientras sean valores legitimos. Entonces, el usuario introduce el valor centinela para indicar que ya se introdujo el ultimo valor. A menudo, a la repeticion controlada por centinela se le llama repeticion indefinida. debido a que no se conoce el numero de repeticiones antes de q comience la ejecucion del ciclo.
De manera clara, se debe elegir un valor que no se confunda con un valor de entrada legitimo.
este seria el programa :
#include <iostream>
using namespace std;
int main()
{
int contador, calificacion, total;
float promedio ;
// fase de inicializaion
total = 0;
contador = 0;
cout<< "introdusca un numero, -1 para terminar:"<<endl;
cin>>calificacion ;
// comienza el while
while(calificacion != -1)// se ejecuta asta que introduscan el centinela
{
total = total + calificacion;
contador ++ ;
cout<< "introdusca un numero, -1 para terminar:"<<endl;
cin>>calificacion;
}
if ( contador != 0)
{
promedio = total / contador ;
cout<< "el promedio del grupo es"<<promedio<<endl;
}
else
cout<< "no se introdujeron calificacion" << endl;
system("pause" );
return 0;
}
y esto es como debe imprimir ;
como podran ver esta manera es un poco mas compleja pero a la vez mas completa por que:
por que no siempre vamos a ingresar el mismo numero de calificacion puede que un salon tenga mas o menos alumnos.
en la linea
cout<< "introdusca un numero, -1 para terminar:"<<endl;
cin>>calificacion ;
le indicamos al usuario que ingrese una calificacion o ponga -1 para terminar con el programa. y el cin lo que hace es guardarlo en la variable calificacion que definimos al principio.
en la linea
while( contador != -1)
esto lo que nos indica es que mientras el contador sea difente de -1 el ciclo se va a ejecutar para eso utilizamos el simbolo != ( quiere decir diferente )
en la linea
if ( contador != 0)
el if lo usamos en caso de que al usuario se le ocurra no meter ninguna calificacion es para asegurar que el usuario meta calificaciones por eso comparamos con el if que el contador sea diferente de cero.
si si aplica la operacion en este caso
promedio = total / contador ;
e imprime promedio, en caso de que no ingrese calificaciones nuestro programa se va al else
else
cout<< "no se introdujeron calificacion" << endl;
e imprime que no se introdujeron calificacion.
por que recuerden que todos los programas deben hacerse a prueba de usuarios pendejos jajaja
bueno eso es todo en el siguiente post veremos las estructuras de control que nos faltan que son for, do while y switch. si tienen dudas solo comenten su duda yo les contesto y dejen puntos
- algoritmos
- diagrama de flujo
- pseudocodigo
- estructuras de control
- if, if else, while
- algoritmos:
La solucion a cualquier problema de computo involucra la ejecucion de una serie de acciones en un orden especifico.Al procedimiento para resolver un problema en terminos de :
1. Las acciones a ejecutar.
2. El orden en el cual se llevan a cabo dichas acciones.
se llaman algoritmos.
Un algoritmo se define como una secuencia de pasas que llevan a la solucion de un problema.
un ejemplo podria ser el famoso cubo rubik que con ciertos tipos de giros en el orden correcto se llega a poner todos los cuadros en su color.
-diagrama de flujo
un diagrama de flujo es una representacion grafica de un algoritmo o de una porcion de un algoritmo.Los diagramas de flujo se dibujan mediante simbolos de proposito especiales tales como, rectangulos, rombos, ovalos y pequeños circulos; estos simbolos se conectan mediante flechas llamadas lineas de flujo.
aqui les dejo la simbologia:
y aqui un ejemplo :
-pseudocodigo:
el pseudocodigo es un lenguaje artificial e informal que ayuda a los programadores a desarrollar algoritmos. El pseudocodigo solo consiste en caracteres, de manera que los programadores pueden introducir los programas en pseudocodigo a la computadora mediante un programa de edicion.
- Estructuras de control :
Por lo general, las instrucciones dentro de un programa se ejecutan una a una en el orden en que estan escritas. A esto se le llama ejecucion secuencial. Varias instrucciones de c, permiten al programador especificar que la siguiente instruccion a ejecutarse debe ser otra y no la siguiente en la secuencia, a esto se le llama tranferencia de control.
El trabajo de Bhom y Jacopini demostro que todos los programas se podian escribir en terminos de solo tres estructuras de control, secuencial, selectiva y repetitiva.
-La instruccion de seleccion if :
realiza una accion si la condicion es verdadera, o ignora la accion si la condicion es falsa.
Las estructuras de seleccion se utilizan para elegir entre diversos cursos de accion. Por ejemplo suponga, que la calificacion minima para aprovar es 60. la instruccion del programa en pseudocodigo es:
if calificacion del estudiante es mayor o igual que 60
imprime aprovado
para utilizar una funcion debes poner el nombre de la funcion en este caso if y poner la condicion, en este caso lo que ase esta instruccion es comparar la calificacion si esta condicion se cumple entonces el programa imprime aprovado si no es ignorada la instruccion.
otra forma de representarlo seria con el diagrama de flujo :
la manera de escribir esta condicion en lenguaje de c ++ seria la siguiente:
if ( calificacion >= 60 )
cout<<aprovado<<endl;
como ven utilizamos operados de relacion los cuales vimos en el post anterior.
-La instruccion de seleccion if... else
la insruccion de seleccion if realiza una accion indicada, solo cuando la condicion es verdadera; de lo contrario, se ignora dicha accion. La if..else permite al programdor especificar que se realizaran acciones diferentes cuando la condicion sea falsa. por ejemplo :
if ( calificacion >= 60)
cout<< aprovado<< endl;
else
cout<< reprovado<< endl;
imprime aprovado si la calificacion del estudiante es mayor o igual a 60, e imprime reprovado si la calificacion es menor que 60.
ahora veres un ejemplo usando las 2 estructuras anteriores :
#include <iostream>
using namespace std;
int main()
{
int calificacion ;
cout<< "dame la calificacion"<<endl;
cin>> calificacion;
if ( calificacion >= 90)
cout<<"exelente"<<endl;
else if ( calificacion >= 70)
cout<<"regular"<<endl;
else if ( calificacion >= 60)
cout<<"aprovado"<<endl;
else
cout<<"reprovado"<<endl;
system("pause";
return 0;
}
-La estructura de repeticion while :
una instruccion de repeticion permite al programador especificar que una accion se va a repetir mientras una condicion sea verdadera.
Las instrucciones contenidas dentro de la instruccion de repeticion while constituyen el cuerpo de la instruccion.El cuerpo de la instrucccion while puede ser una sola instruccion o una instruccion compuesta.
En algun momento la condicion sera falsa, en ese momento la repeticion termina y se ejecuta la siguiente instruccion, despues de la estructura de repeticion.
un ejemplo seria; considere un segmento de programa diseñado para encontrar la primera potencia de 2 que sea mayor que 1,000.
iniciamos la variable en 2
producto = 2
while ( producto <= 1000)
producto = 2 * producto ;
ahora vamos a practicar veremos 2 programas una contralada por contador y otro controlada por centinela.
controlada por contador
veamos el siguiente problema. Un grupo de diez estudiantes realizo un examen. usted tiene a su dispocision las calificacion de este examen.Determine el promedio de las calificaciones.
el promedio del grupo es igual a la suma de las calificaciones, dividida entre el numero de estudiantes.[/size]
Esta tecnica del contador, utiliza una variable llamada contador para especificar el numero de veces que se ejecuta un conjunto de instrucciones. A menudo, a la repeticion controlada por contador se le conoce como repeticion definida debido a que se conoce el numero de repeticiones antes de la ejecucion del ciclo.
asi quedaria el programa ;
#include <iostream>
using namespace std;
int main()
{
int contador, calificacion, total, promedio ;
// fase de inicializaion
total = 0;
contador = 0;
// comienza el while
while ( contador <= 10) // esto se pepite asta que la condicion se cunpla
{
cout<< "introdusca una calificacion"<<endl;
cin>> calificacion;
total = total + calificacion ;
contador ++ ;
} // fin de while
//fase de terminacion
promedio = total / 10;
cout<< " el promedio del grupo es" <<promedio<< endl;
system("pause" );
return 0;
}
y esto es lo que imprimiria ;
observe como en el programa se hace referencia a un total y a un contador. total es una variable que se utilizo para acumular la suma de una serie de valores.Un contador es una variable que se utiliza para contar, en este caso, para contar el numero de calificacion introducidas.Por lo general las variables como total se inicializan en cero antes de emplearlas dentro del programa y las contador generalmente se inician en cero o en uno dependiendo el caso.
la linea
contador ++
lo que hace es sumar uno al contador cada ves que el ciclo se ejecute.
-Controlada por centinela:
otra manera de resolver este problema es utilizar un valor especial llamado por centinela para indicar el "fin de la entrada de datos". El usuario introduce las calificaciones mientras sean valores legitimos. Entonces, el usuario introduce el valor centinela para indicar que ya se introdujo el ultimo valor. A menudo, a la repeticion controlada por centinela se le llama repeticion indefinida. debido a que no se conoce el numero de repeticiones antes de q comience la ejecucion del ciclo.
De manera clara, se debe elegir un valor que no se confunda con un valor de entrada legitimo.
este seria el programa :
#include <iostream>
using namespace std;
int main()
{
int contador, calificacion, total;
float promedio ;
// fase de inicializaion
total = 0;
contador = 0;
cout<< "introdusca un numero, -1 para terminar:"<<endl;
cin>>calificacion ;
// comienza el while
while(calificacion != -1)// se ejecuta asta que introduscan el centinela
{
total = total + calificacion;
contador ++ ;
cout<< "introdusca un numero, -1 para terminar:"<<endl;
cin>>calificacion;
}
if ( contador != 0)
{
promedio = total / contador ;
cout<< "el promedio del grupo es"<<promedio<<endl;
}
else
cout<< "no se introdujeron calificacion" << endl;
system("pause" );
return 0;
}
y esto es como debe imprimir ;
como podran ver esta manera es un poco mas compleja pero a la vez mas completa por que:
por que no siempre vamos a ingresar el mismo numero de calificacion puede que un salon tenga mas o menos alumnos.
en la linea
cout<< "introdusca un numero, -1 para terminar:"<<endl;
cin>>calificacion ;
le indicamos al usuario que ingrese una calificacion o ponga -1 para terminar con el programa. y el cin lo que hace es guardarlo en la variable calificacion que definimos al principio.
en la linea
while( contador != -1)
esto lo que nos indica es que mientras el contador sea difente de -1 el ciclo se va a ejecutar para eso utilizamos el simbolo != ( quiere decir diferente )
en la linea
if ( contador != 0)
el if lo usamos en caso de que al usuario se le ocurra no meter ninguna calificacion es para asegurar que el usuario meta calificaciones por eso comparamos con el if que el contador sea diferente de cero.
si si aplica la operacion en este caso
promedio = total / contador ;
e imprime promedio, en caso de que no ingrese calificaciones nuestro programa se va al else
else
cout<< "no se introdujeron calificacion" << endl;
e imprime que no se introdujeron calificacion.
por que recuerden que todos los programas deben hacerse a prueba de usuarios pendejos jajaja
bueno eso es todo en el siguiente post veremos las estructuras de control que nos faltan que son for, do while y switch. si tienen dudas solo comenten su duda yo les contesto y dejen puntos