Documentos de Académico
Documentos de Profesional
Documentos de Cultura
De Pascal A C
De Pascal A C
Transferencia Condicional
Repeticin
Diego Santimateo G.
Pascal
Read (a);
Write (a);
b := a;
If condicin
Then
begin
Proceso1;
end
Else
begin
Proceso2;
end;
for i :=1 to n do
begin
Proceso;
end;
Scanf(%d, &a);
Printf (%d, a);
b = a;
If (condicin)
{
Proceso1;
}
else
{
Proceso2;
{
While condicin do
Begin
Proceso;
End;
While (condicin)
{
Proceso;
}
Repeat
Proceso;
Until condicin;
Do
{
Proceso;
} While (condicin);
CRUV FIEC.
Program nombre;
var
(*declaracin de variables *)
#include <librera.h>
main()
{
/* declaracin de variables */
begin
(* lgica del programa *)
end.
Las declaraciones en C
En C como en otros lenguajes la declaracin incluye el nombre de la variable y el tipo
de dato que puede almacenar la variable. Los tipos de datos bsicos en C son: int, flotat,
double y char que corresponden a valores enteros, reales, reales con doble precisin y
caracteres o cadena de caracteres.
Ejemplos
int
char
flotat
double
Los arreglos en C siempre inician en la posicin cero (0). Una cadena de caracteres
es almacenada en un vector y cada carcter de la cadena queda en una posicin del mismo
y automticamente se incluye el carcter de fin de cadena que es el '\0, as como se ilustra a
continuacin:
M A R \0
0 1 2 3 4
>
>=
<
<=
==
!=
Relacin
Lgicos
mayor que
! ...negacin
mayor o igual
&& ...Y
menor que
|| ...O
menor o igual que
igual a
diferente de
CRUV FIEC.
Instrucciones Fundamentales
En realidad el C no tiene instrucciones de entrada y salida, para realizar estas tarea
se vale de funciones de librera como scanf y printf, que son las que utilizaremos en este
curso.
Entrada de datos
La sintaxis general de la funcin scanf es:
scanf (formato de conversin, lista de direcciones de memoria de las variables);
Los formatos de conversin brindan informacin sobre el tipo de dato que desea
capturarse y la estructura de ingreso de los mismos. Ntese que la funcin scanf exige que
en el segundo argumento se ingresen las direcciones de las variable y no los nombres de las
variables. En C podemos indicar la direccin de una variable utilizando el operador de
direccin & que proporciona la direccin del operando, es decir si x es una variable
entonces &x es la direccin de la variable x.
En la siguiente tabla presentamos los formatos de conversin
Tipo de dato
Formato de conversin
int
%d
float
%f
char
%c
char
%s
char
%[^\n]
Explicacin
Se utiliza al leer valores
enteros.
Se aplica para nmeros
reales o flotantes.
Para lectura de caracteres.
Para lectura de cadena de
caracteres terminadas en
espacio.
Permite la entrada de
cadenas 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 dgitos */
scanf (%f %d %c, &a, &b, &a);
o /* conviene dejar un espacio en blanco entre formatos y dejarlos tambin al
introducir los datos o bien usar enter despus de cada valor de entrada*/
scanf (%d %s, &edad, nombre);
o /* observe que los vectores tipo char que almacenan cadenas no utilizan el
operador de direccin & ya que el nombre del vector representa la direccin de
memoria */
Diego Santimateo G.
CRUV FIEC.
Comentario
/* despliega el valor de la variable entera x */
/* el valor de ry se ubica en un campo de
seis posiciones, dos de las cuales son para
los decimales */
/* salta de lnea y luego despliega la
cadena*/
/* despliega la cadena seguida del valor de
edad , ntese que el lugar que ocupa %d
ser sustituido por el valor de la variable
edad*/
/* el formato %f ser sustituido por el valor
de salario y %s por el nombre de la persona
*/
/* el valor se ajusta por la izquierda dentro
del campo de tamao cinco */
Atribucin o asignacin
Esta instruccin asigna un valor a una variable, desde una posicin de memoria a
otra. Observe que en la entrada de datos tambin se consigue la asignacin de valores a
variables, solo que los valores provienen de algn perifrico. La sintaxis general es:
variable==variable
variableooconstante
constanteooexpresin;
expresin;
variable
La constante no
puede ser una
cadena
Es importante recordar que la asignacin se hace a partir del miembro derecho del =
hacia la variable que est en la izquierda.
Ejemplos
Diego Santimateo G.
CRUV FIEC.
x = 100;
c = \0;
p = 0.3e5;
swt = f;
pi = 3.14159;
Ejemplo
a += b;
a -= b;
a *= b;
a /= b;
a %= b;
++i
i++
--i
Significado
a = a + b;
a = a - b;
a = a * b;
a = a / b;
a = a % b;
i = i +1 modifica i antes de usarla para otro propsito
i = i +1 modifica i despus de usarla para otro propsito
i = i -1
Repeticiones o ciclos
Una de las instrucciones ms poderosas de los lenguajes de programacin es la que
permite repetir un nmero finito de veces un proceso. En los lenguajes procedurales
usualmente existen las siguientes tres formas de repeticin:
El for cuya sintaxis es:
for (inicializacin; control de salida; actualizacin de variable de control)
{
Proceso;
/*conjunto de instrucciones*/
}
En C a diferencia de Pascal las expresiones que controlan el for deben estar entre
parntesis. La inicializacin se refiere a la asignacin inicial de la variable que controla la
repeticin (variable de control), el control de salida es la condicin de parada de la repeticin
y la actualizacin es la expresin que modifica a la variable de control a fin de alcanzar en
algn momento la condicin de parada para poder salir del ciclo.
Ejemplos
for (i = 0; i < n; i++)
{
Proceso;
}
Diego Santimateo G.
CRUV FIEC.
s = 0;
for (i = 0; i < n; i++)
{
Clculo de la suma de n valores enteros, en este
scanf (%d, &edad); ejemplo las edades.
s += edad;
}
Otra instruccin que podemos utilizar para repetir un Proceso un nmero finito de
veces es el while:
while (condicin)
{
Proceso;
}
Ejemplos
i = 0;
while ( i < n )
{
Proceso;
i++;
}
do
{
Proceso;
} while (condicin);
Diego Santimateo G.
CRUV FIEC.
Proceso;
i++;
} while ( i < n )
do
{
printf (\n Men Principal);
printf (\n1. suma);
printf (\n2. divide);
printf (\n3. multiplica);
printf (\n9. salir);
printf (\n indique una opcin:);
scanf("%d", &op);
} while ( op ! = 9 )
La transferencia condicional
Esta instruccin permite al programador decidir que proceso desea realizar
dependiendo del resultado de la evaluacin de expresin, su sintaxis es:
if (condicin)
{
Proceso1;
}
else
{
Proceso2;
}
Ejemplos
If (a == 100)
{
Proceso;
}
Diego Santimateo G.
CRUV FIEC.
do
{
printf (\n Men Principal);
printf (\n1. suma);
printf (\n2. divide);
printf (\n3. multiplica);
printf (\n9. salir);
printf (\n indique una opcin:);
scanf("%d", &op);
Complementamos la construccin
del men utilizando if anidados, es
decir, uno dentro de otro.
if (op == 1)
/* llamar a la funcin que suma*/
else
if (op == 2)
/* llamar a la funcin que divide*/
else
if (op == 3)
/* llamar a la funcin que multiplica*/
Usted
siempre
puede
hacer
anidamiento de instrucciones segn
le indique la lgica que est
desarrollando.
} while ( op ! = 9 )
Diego Santimateo G.
CRUV FIEC.