0% encontró este documento útil (0 votos)
1K vistas

Instrucciones Fundamentales de Un Lenguaje de Programación Procedural

Se describen las instrucciones fundamentales del lenguaje C, con énfasis en la funcionalidad y contribuyendo con ejemplos para destacar los elementos que constituyen las instrucciones y el uso de las mismas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1K vistas

Instrucciones Fundamentales de Un Lenguaje de Programación Procedural

Se describen las instrucciones fundamentales del lenguaje C, con énfasis en la funcionalidad y contribuyendo con ejemplos para destacar los elementos que constituyen las instrucciones y el uso de las mismas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Centro Regional Universitario de Veraguas

Licenciatura en Informática para la Gestión Educativa y Empresarial


INF214-Programación III / INF212-Programación II -Instrucciones Fundamentales

Instrucciones Fundamentales

En realidad, el lenguaje C no tiene instrucciones de entrada y salida para


realizar los procesos de entrada y salida de datos, en consecuencia, se vale de
funciones de librería como scanf() y printf(), que son las que utilizaremos en este
curso.

Entrada de datos
La sintaxis general de la función scanf es:

scanf (“formato de conversión”, lista de direcciones de memoria de las variables);

Los formatos de conversión brindan información sobre el tipo de dato que


desea capturarse y la estructura de ingreso de los mismos. Nótese que la función
scanf exige que en el segundo argumento se ingresen las direcciones de las variables
y no los nombres de las variables. En C podemos indicar la dirección de una variable
utilizando el operador de dirección & que proporciona la dirección del operando, es
decir si x es una variable entonces &x es la dirección de la variable x.

En la siguiente tabla presentamos los formatos de conversión

Tipo de dato Formato de conversión Explicación


Se utiliza al leer valores
int “%d” enteros.
Se aplica para números reales
float “%f” o flotantes.
char “%c” Para lectura de caracteres.
Para lectura de cadena de
char “%s” caracteres terminadas en
espacio.
Permite la entrada de cadenas
char “%[^\n]” que contienen espacios en
blanco.

Ejemplos

● scanf (“%d” , &x); /* lectura de la variable entera x */


● scanf (“%3d”, &x); /* lectura de la variable entera x de tres dígitos */
● scanf (“%f %d %c”, &a, &b, &a);
● /* conviene dejar un espacio en blanco entre formatos y dejarlos
también al introducir los datos o bien usar enter después de cada valor
de entrada*/
● scanf (“%d %s”, &edad, nombre);
● /* observe que los vectores tipo char que almacenan cadenas no
utilizan el operador de dirección & ya que el nombre del vector
representa la dirección de memoria */
● scanf (“%[^\n]”, corregimiento); /* se captura el corregimiento incluyendo
espacios */
● scanf (“%[aeiou]”, texto); /* solo acepta vocales minúsculas */

Prof. Diego Santimateo G. Msc.


Centro Regional Universitario de Veraguas
Licenciatura en Informática para la Gestión Educativa y Empresarial
INF214-Programación III / INF212-Programación II -Instrucciones Fundamentales

Salida de datos
La salida al igual que la entrada se puede lograr utilizando diversas funciones,
no obstante, en este curso emplearemos la función printf(), cuya sintaxis es:
printf (“formato de conversión y/o cadena”, lista de nombres de las variables);

Ejemplos

● printf (“%d” , x);


/* despliega el valor de la variable entera x */
● printf (“%6.2f”, y);
/* el valor se ubica en un campo de seis posiciones, dos
de las cuales son para los decimales */
● printf (“\n nueva línea”);
/* salta de línea y luego despliega la cadena*/
● printf (“La edad es: %d”, edad);
/* despliega la cadena seguida del valor de edad, nótese
que el lugar que ocupa %d será sustituido por el valor de
la variable edad*/
● printf (“El empleado que gana %f es %s”, salario, nombre);
/* el formato %f será sustituido por el valor de salario y
%s por el nombre de la persona */
● printf (“%-5d”, cant)
/* el valor se ajusta por la izquierda dentro del campo de
tamaño cinco */

Atribución o asignación
Esta instrucción asigna un valor a una variable, desde una posición de
memoria a otra. Observe que en la entrada de datos también se consigue la
asignación de valores a variables, solo que los valores provienen de algún periférico o
medio externo. La sintaxis general es:

variable = variable o constante o expresión;


La constante no puede ser una cadena de carateres.

Es importante recordar que la asignación se hace a partir del miembro derecho


del = hacia la variable que está en la izquierda. Siempre debe existir una variable en el
miembro izquierdo del =.

Ejemplos

● x = 100;
● c = ‘\0’;
● p = 0.3e5;
● swt = ‘f’;
● pi = 3.14159;

Algunas asignaciones en C se consideran operadores de asignación, tales como


las siguientes:

Prof. Diego Santimateo G. Msc.


Centro Regional Universitario de Veraguas
Licenciatura en Informática para la Gestión Educativa y Empresarial
INF214-Programación III / INF212-Programación II -Instrucciones Fundamentales

Operador Ejemplo Significado


+= a += b; a = a + b;
-= a -= b; a = a - b;
*= a *= b; a = a * b;
/= a /= b; a = a / b;
%= a %= b; a = a % b;
++ ++i i = i +1 …modifica i antes de usarla para otro
propósito
++ i++ i = i +1 …modifica i después de usarla para otro
propósito
-- --i i = i -1

Repeticiones o ciclos
Una de las instrucciones más poderosas de los lenguajes de programación es
la que permite repetir un número finito de veces un proceso. En los lenguajes
procedurales usualmente existen las siguientes tres formas de repetición:

El for cuya sintaxis es:

for (inicialización; control de salida; actualización de variable de control)


{
Proceso;
}

En C a diferencia de Pascal las expresiones que controlan el for deben estar


entre paréntesis. La inicialización se refiere a la asignación inicial de la variable que
controla la repetición (variable de control), el control de salida es la condición de
parada de la repetición y la actualización es la expresión que modifica a la variable de
control a fin de alcanzar en algún momento la condición de parada para poder salir del
ciclo.

Ejemplos

for (i = 0; i < n; i++) La variable de control i se inicializa en cero, se verifica si


{ i < n, si es verdad se realiza el Proceso y luego se
Proceso; incrementa la i con la expresión i++, si i < n es falsa
} termina el for .
Recuerde que Proceso es una secuencia ordenada de
instrucciones, lo que significa que puede contener
cualquier instrucción, incluyendo otro for.
s = 0;
for (i = 0; i < n; i++)
{ Cálculo de la suma de n valores enteros, en este caso
scanf (“%d”, &edad); edades.
s += edad;
}

Otra instrucción que podemos utilizar para repetir un Proceso un número finito
de veces es el while:

Prof. Diego Santimateo G. Msc.


Centro Regional Universitario de Veraguas
Licenciatura en Informática para la Gestión Educativa y Empresarial
INF214-Programación III / INF212-Programación II -Instrucciones Fundamentales

Mientras la condición sea verdadera se repite el Proceso.


while (condición)
{
Proceso;
}

Ejemplos

i = 0; El while se puede usar como un for tal como lo


while ( i < n ) muestra este ejemplo. Observe que la variable de
{ control se inicializa antes del while y que la condición
Proceso; debe ser verdadera para poder entrar al cuerpo de la
i++; repetición, el cual debe contener la actualización de la
variable de control para lograr que la condición sea en
} algún momento falsa y se termine la repetición.
scanf (“%f”, &n);
scanf("%d", &val);
i = 0; Aquí se asume que tenemos el vector x en memoria. Se
hallar = 1; procede a leer un valor y a buscar el valor en el vector.
Como hallar es uno (verdadero) e i<n ( las dos
while ((hallar) && (i < expresiones son ciertas), entonces garantizamos que
entre al Proceso. Cuando encuentra el valor en el
n))
vector la variable hallar cambia a cero(falso) lo que
{ hace que la condición de parada sea falsa en la
if (x [ i ] == val) siguiente verificación y se termine la repetición. Si el
hallar = 0; valor no está en el vector la variable i llega al valor n,
else con lo cual (i < n) es falso y se termina la repetición.
i++;
}

La otra forma de repetición es el do...while:

do
{

Proceso;

} while (condición);

Observe que el proceso se realiza por lo menos una vez y que la condición de parada
se verifica al final y no al inicio como en el for y el while.

Prof. Diego Santimateo G. Msc.


Centro Regional Universitario de Veraguas
Licenciatura en Informática para la Gestión Educativa y Empresarial
INF214-Programación III / INF212-Programación II -Instrucciones Fundamentales

Ejemplos

i = 0; Esta instrucción se puede usar como un


do for , tal como lo muestra este ejemplo.
{ Observe que la variable de control i se
Proceso; inicializa antes del do e inmediatamente se
entra en el Proceso. Luego se actualiza la
i++;
variable de control y se verifica la condición
de salida. Si i<n es verdad, se repite el
} while ( i < n ) Proceso.

do
{
printf (“\n Menú Principal”); Esta es la clásica presentación de un menú.
printf (“\n1. suma”);
printf (“\n2. divide”); Se despliegan las opciones y luego se
printf (“\n3. multiplica”); captura el número que corresponde a la
printf (“\n9. salir”); opción deseada.
printf (“\n indique una opción:”);
scanf("%d", &op); Este menú se presentará hasta que se
seleccione la opción de salir.
} while ( op ! = 9 )

La transferencia condicional
Esta instrucción permite al programador decidir que proceso desea realizar
dependiendo del resultado de la evaluación de expresión, su sintaxis es:
if (condición)
{
Proceso1;
}
else
{
Proceso2;
}

La palabra then no es necesaria. El Proceso1 se realiza si la condición es verdadera,


en caso contrario, se ejecuta el Proceso2. La parte del else solo se usa si se necesita,
es decir, no siempre el if lleva else.

Prof. Diego Santimateo G. Msc.


Centro Regional Universitario de Veraguas
Licenciatura en Informática para la Gestión Educativa y Empresarial
INF214-Programación III / INF212-Programación II -Instrucciones Fundamentales

Ejemplos

If (a == 100) Presentamos un if sin else,


{
Proceso;
Proceso se ejecutará cuando el
} valor de la variable a sea cien.
If ((a == 100) && (p !=0))
{ Como usamos la Y lógica (&&) en
Proceso1; la condición, entonces, el Proceso2
}
else
se realizará cuando una de las dos
{ condiciones no se cumpla o cuando
Proceso2; las dos sean falsas.
}
do
{
printf (“\n Menú Principal”);
printf (“\n1. suma”);
printf (“\n2. divide”); Hemos avanzado en la
printf (“\n3. multiplica”); construcción del menú utilizando if
printf (“\n9. salir”); anidados, es decir, uno dentro de
printf (“\n indique una opción:”); otro.
scanf("%d", &op);
Observe además que tenemos if
if (op == 1)
/* llamar a la función que suma*/
dentro de un do...while.
else
if (op == 2) Usted siempre puede hacer
/* llamar a la función que divide*/ anidamiento de instrucciones según
else le indique la lógica que esté
if (op == 3) desarrollando.
/* llamar a la función que multiplica*/

} while ( op ! = 9 )

Prof. Diego Santimateo G. Msc.

También podría gustarte