2.1 elemento básicos del lenguaje de programación estructurado manipulación básica de datos.

5

Click here to load reader

Transcript of 2.1 elemento básicos del lenguaje de programación estructurado manipulación básica de datos.

Page 1: 2.1 elemento básicos del lenguaje de programación estructurado manipulación básica de datos.

2.1 Elemento básicos del lenguaje

de programación estructurado manipulación básica de

datos.

2.2 Utilizar estructuras de control.

2.1 Estructuras de control.

Las estructuras de control también conocidas como ciclos, bucles, estructuras iterativas o repetitivas, son básicas para la elaboración de programas, ya que el repetir una tarea varias veces a una gran velocidad, precisión y fiabilidad es una de las características de las computadoras que aumentan considerablemente su potencia. C soporta tres tipos de estructuras de control:

Ciclo while

Ciclo do_while

Ciclo for

2.1.1 Teoría de ciclos.

Un ciclo es cualquier construcción de programa que repite una sentencia o secuencia de sentencias un número de veces. Las sentencias o grupo de sentencias que se repiten en un bloque se denominan cuerpo del bucle y cada repetición del cuerpo del ciclo se llama iteración del ciclo.

2.1.2 Contadores, acumuladores.

Contadores:

En los procesos repetitivos se necesita normalmente contar los sucesos o acciones internos del ciclo, como pueden ser: registro o elementos en un archivo y número de iteraciones a realizar por el ciclo. Para realizar esta tarea se utilizan los contadores, cuya construcción es una de las técnicas corrientes en la realización de cualquier programa.

Un contador es un campo de la memoria que está destinado a contener los diferentes valores que se van incrementando o decrementando en cada iteración. El campo contendrá las sucesivas sumas parciales que se van

Page 2: 2.1 elemento básicos del lenguaje de programación estructurado manipulación básica de datos.

realizando en la ejecución de las sucesivas repeticiones. El incremento en las sumas parciales es siempre constante, pudiendo ser positivo o negativo, es decir el contador se irá incrementando o decrementando. El contador se representará en un programa por medio de una variable.

En las instrucciones de preparación del ciclo se realiza la inicialización del contador o contadores. La inicialización de un contador consiste en poner el valor inicial de la variable que representa al contador.

Ejemplos:

Contador =0 Contador = 4

Por consiguiente, el contador se representará por una instrucción de asignación del tipo:

Contador = Contador + 1 Contador = Contador – 1

Siendo 1 el incremento del contador.

Acumuladores:

Un acumulador es un campo o zona de memoria cuya misión es almacenar cantidades variables resultantes de sumas sucesivas. Realiza la función de un contador con la diferencia que el incremento o decremento de cada suma es variable en lugar de constante como en el caso del contador.

Se representa por S=S+N donde N es una variable y no constante.

Al igual que al contador a un acumulador se le inicializa.

2.1.3 Ciclos controlados por contadores, centinelas.

Ciclos controlados por centinelas.

Por lo general no se conoce con exactitud cuantos elementos de datos se

procesarán antes de comenzar su ejecución. Esto se produce bien porque hay

muchos datos a contar normalmente o porque el número de datos a procesar

depende de cómo prosigue el proceso de cálculo.

Page 3: 2.1 elemento básicos del lenguaje de programación estructurado manipulación básica de datos.

Un medio para manejar esta situación es instruir al usuario a introducir un único dato definido y especificado denominado valor centinela como último dato. La condición del ciclo comprueba cada dato y termina cuando se lee el valor centinela. El valor centinela se debe seleccionar con mucho cuidado y debe ser un valor que no pueda producirse como dato. En realidad el centinela es un valor que sirve para terminar el proceso de ciclo.

Ejemplo:

//En el siguiente fragmento el centinela será –1

const centinela =-1;

printf(“Introduzca la primer calificación “);

scanf(“%d”,&calif);

while(calif!=centinela)

{

suma+=calif;

printf(“Introduzca la siguiente calificación “);

scanf(“%d”,&calif);

}

En este caso el ciclo se repetirá mientras la calificación sea diferente de –1, es decir mientras sea diferente del centinela.

Ciclos controlado por contador.

Estos ciclos como su nombre lo indica son controlador por un contador, es decir en este tipo de ciclos se conoce el número de veces que este se repetirá desde el inicio del ciclo. El ciclo que de forma natural es controlado por un contador es el ciclo for, en el caso de los ciclos while como ya se pudo ver se controlan de diferentes maneras una de ellas es por medio de un contador.

Page 4: 2.1 elemento básicos del lenguaje de programación estructurado manipulación básica de datos.

Ejemplo:

El siguiente fragmento muestra un ciclo while que controlado por un contador se repetira 10 veces.

int Contador =1;

while(Contador<=10)

{

printf(“%d, “, Contador);

Contador++;

}

Ciclos controlados por indicadores (Banderas)

En lenguajes como Pascal, que tienen el tipo bool, se utiliza una variable booleana con frecuencia como indicadores o banderas de estado para controlar la ejecución de un ciclo. El valor del indicador se inicializa (normalmente a “ false“ ) antes de la entrada al ciclo y se redefine (normalmente a verdadero “ true “) cuando un suceso específico ocurre dentro del ciclo. En C no existe el tipo bolean, por lo que se utiliza como bandera una variable que puede tomar dos valores, 0 o 1. Un ciclo controlado por bandera se ejecuta hasta que se produce un proceso anticipado y se cambia el valor del indicador.

Ejemplo.

Se desea leer diversos datos tipo carácter introducidos por teclado mediante un ciclo while y se debe terminar el ciclo cuando se lea un dato tipo dígito (0-9).

La variable bandera, digito_leido se utiliza como un indicador que representa cuando un dígito se ha producido por teclado.

Variable bandera Significado

Digito_leido Su valor es falso (cero) antes de entrar en el ciclo y mientras el dato leído sea un carácter y esverdadeo cuando el cuando el dato leído es un dígito.

Page 5: 2.1 elemento básicos del lenguaje de programación estructurado manipulación básica de datos.

El problema que se desea resolver es la lectura de datos carácter y la lectura debe detenerse cuando el dato leído sea numérico (un dígito de „0‟ a „9‟). Por consiguiente, antes de que el ciclo se ejecute y se lean los datos de entrada, la variable digito_leido se inicializa en falso (cero). Cuando se ejecuta el ciclo, éste debe continuar ejecutándose mientras el dato leído sea un carácter y en consecuencia la variabale digito_leido tiene de valor falso y se debe detener el ciclo cuando el dato leído sea un dígito y en este caso el valor de la variable dígito_leido debe cambiar a verdadero (uno). En consecuencia la condición del ciclo debe ser !digito_leido ya que esta condición es verdadera cuando digito_leido es falso. El ciclo quedaría así:

digito_leido=0;

while(!digito_leido)

{

printf(“Introduzca un carácter: “);

scanf(“%c”,&car);

digito_leido=((„0‟<=car)&&(car<=‟9‟));

...

}

Carolina M. Peña Hernández.

4º “C” Informática.