Вы находитесь на странице: 1из 9

PROGRAMACION

UNIDAD II: INTRODUCCIN AL LENGUAJE DE PROGRAMACIN


APUNTES
2.1 Conceptos bsicos de la programacin estructurada
2.1.1 Definicin de programacin
Accin de programar. En computacin, la programacin es el proceso de escribir -en un lenguaje de programacin- el cdigo fuente de
un software. Un trmino ms amplio de programacin puede incluir no slo a escribir, sino a analizar, probar, depurar y mantener el
cdigo programado. El fin ltimo de la programacin es crear programas o software, que luego ser ejecutado por otro programa o
directamente por el hardware de la computadora.
PROGRAMACION ES LA ACCION DE SOLUCIONAR UN PROBLEMA, Y/O SATISFACER UNA NECESIDAD DE CARACTER
INFORMATICO. DICHA SOLUCION ES GENERAR UN PROGRAMA O SOFTWARE UTILIZANDO UN DETERMINADO LENGUAJE DE
PROGRAMACION.

2.1.2 Definicin de lenguaje de programacin


Un lenguaje de programacin es aquel elemento dentro de la informtica que nos permite crear programas mediante un conjunto de
instrucciones, operadores y reglas de sintaxis; que pone a disposicin del programador para que este pueda comunicarse con los
dispositivos hardware y software existentes.
Conjunto de sentencias utilizadas para escribir secuencias de instrucciones que para que ejecute una computadora

2.1.3 Definicin de programa


Un programa es un conjunto de instrucciones u rdenes basadas en un lenguaje de programacin que una computadora interpreta para
resolver un problema o una funcin especfica.
Un programa es un conjunto de instrucciones escritas en algn lenguaje de programacin. El programa debe ser compilado o interpretado
para poder ser ejecutado y as cumplir su objetivo.

2.1.4 Paradigma de la programacin estructurada


La programacin estructurada significa escribir un programa de acuerdo a las siguientes reglas:
El programa tiene un diseo modular
Los mdulos son diseados de manera descendente
Cada mdulo se codifica utilizando tres estructuras de control bsicas: secuencia, seleccin y repeticin.
La programacin estructurada utiliza un nmero limitado de estructuras de control que minimizan la complejidad de los
programas y, por consiguiente, reducen los errores, hace los programas ms fciles de escribir, verificar, leer y mantener.
La programacin estructurada significa:
El programa completo tiene un diseo modular.
Los mdulos se disean con metodologa descendente (puede hacerse tambin ascendente).
Cada mdulo se codifica utilizando las tres estructuras de control bsicas: secuenciales, selectivas y repetitivas (ausencia total de
sentencias GO TO).
Estructuracin y modularidad son conceptos complementarios (se solapan).

2.2 Estructura bsica de un programa


Un programa en C se compone de una o ms funciones. Una de las funciones debe ser obligatoriamente main. Una funcin en C es un
grupo de instrucciones que realizan una o ms acciones. Asimismo, un programa contendr una serie de directivas #include que
permitirn incluir en el mismo archivos de cabecera que a su vez constaran de funciones y datos predefinidos en ellos.

2.2.1 Comentarios
Los comentarios dentro de un programa se identifican:

// hola
/* hola */
M.C.E. Hilda Olivia Albarrn Padilla Pgina 1

PROGRAMACION
UNIDAD II: INTRODUCCIN AL LENGUAJE DE PROGRAMACIN
APUNTES
2.2.2 Declaracin de archivo de cabecera (directivas de preprocesador)
2.2.3 Prototipos de funcin
2.2.4 Declaracin de variables y constantes
2.2.5 La funcin principal main()
2.2.6 Definicin de otras funciones

#include

directivas del preprocesador

#define

Macros del procesador

Declaraciones globales

prototipos de funciones
variables

Funcion principal main


main()
{
declaraciones locales
sentencias
}
Definiciones de otras funciones
tipo1 func1 (....)
{
.......
}
figura 3.1. Estructura tpica de un programa C
De un modo explcito un programa en C puede incluir:
funciones definidas por el usuario

directivas del preprocesador

declaraciones globales

funcin main()

comentarios del programa (utilizados en su totalidad)

La estructura tpica completa de un programa en C se muestra en la figura 3.1. Un ejemplo de un programa sencillo en C

/*Listado DEMO_UNO.C Programa de saludo*/


#include <stdio.h>
/*Este programa imprime: Bienvenido a la programacin en C*/
int main()
{
printf("Bienvenido a la programacin en C\n");
return 0;
M.C.E. Hilda Olivia Albarrn Padilla Pgina 2

PROGRAMACION
UNIDAD II: INTRODUCCIN AL LENGUAJE DE PROGRAMACIN
APUNTES
}

2.3 Zonas de memoria


2.3.1 Tipos de datos
C no soporta un gran nmero de datos predefinidos, pero tiene la capacidad para crear sus propios tipos de datos. Todos los tipos
de datos simples o bsicos de C, esencialmente, nmeros. Los tres tipos de datos bsicos son:

Enteros
Nmeros de coma flotante (reales)
Caracteres

La siguiente tabla presenta los tipos de datos simples de C


Rango
Ejemplo

Tamao
en bytes

Mnimo............Mximo

char

0 ....................255

short

-15

-128................127

int

1024

-32768 ..........32767

unsigned int

42325

0 ....................65535

long

262144

-2147483648 ... 2147483637

float

10.5

3.4*(10-38)......3.4*(10308)

double

0.00045 8

1.7*(-38)...........1.7*(10308)

Tipo

long double
1e-8
8
igual que doble
Los tipos de datos fundamentales en C son:
Enteros: (nmeros complejos y sus negativos), de tipo int.
Variantes de enteros: tipos short, long y unsigned.
Reales: nmeros decimales, tipos float, double o long double.
Caracteres: letras, dgito, smbolos y signos de puntuacin, tipo char.

2.3.2 Identificadores
Una variable es un objeto o partida de datos cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecucin del
programa, dependiendo del lenguaje hay diferentes tipos de variables, tales como: enteras, reales, carcter, lgicas y de cadena.
Una variable que es de un cierto tipo puede tomar nicamente valores de ese tipo. Una variable de carcter, por ej. puede
tomar como valor solo caracteres, mientras que una variable entera puede tomar solo valores enteros. Si se intenta asignar un valor de
un tipo a una variable de otro tipo se producir un error de tipo.
Una variable se identifica por los siguientes atributos: nombre que lo asigna y tipo que describe el uso de la variable.
Los nombres de las variables a veces conocidos como identificadores suelen constar de varios caracteres alfanumricos, de
los cuales el primero es una letra, no se deben de utilizar como nombres de identificadores palabras reservadas del lenguaje de
programacin. Los nombres de variables elegidas para el algoritmo o el programa deben ser significativos y tener relacin con el objeto
que representa, ej. nombre para representar nombres de personas
precios para representar los precios de los diferentes artculos

2.3.3 Palabras reservadas


En programacin, las palabras reservadas son aquel grupo de identificadores (palabras) que no pueden ser utilizadas por el
usuario para nombrar a las variables, funciones, procedimientos, objetos y dems elementos de programacin que cree.
M.C.E. Hilda Olivia Albarrn Padilla Pgina 3

PROGRAMACION
UNIDAD II: INTRODUCCIN AL LENGUAJE DE PROGRAMACIN
APUNTES
Generalmente esto se debe a que el propio lenguaje de programacin ya las utiliza, por esta razn, las palabras reservadas no pueden
ser empleadas como identificadores definidos por el usuario.
Todas las palabras reservadas en C son en minsculas
auto
doble
int
struc
t
break
else
long
switc
h

case
enum
registe
r
typedef

const
float
short

default
goto
sizeof

unsigned

volatile

char
extern
return
union

continue
for
signed
void

do
if
static
while

2.3.4 Definicin y declaracin de variables


En C una variable es una posicin con nombre en memoria donde se almacena un valor de un cierto tipo de dato
Una constante, por el contrario, su valor no puede ser modificado. Una variable tpicamente tiene un nombre (un identificador) que
describe su propsito. Toda variable utilizada en un programa debe ser declarada previamente. La definicin en C debe situarse al inicio
del bloque, antes de toda sentencia ejecutable. Una definicin reserva un espacio de almacenamiento en memoria, el procedimiento
para definir (crear) una variable es escribir el tipo de dato, el identificador o nombre de la variable, y en ocasiones, el valor inicial que
tomara, por ejemplo: char respuesta significa que reserva espacio en memoria para respuesta, en este caso un carcter ocupa un solo
byte.
Declaracin de Variables
La forma ms simple de una declaracin de variables en C es poner primero el tipo de dato y a continuacin el nombre de
la variable. Si se desea dar un valor inicial a la variable, ste se pone a continuacin. El formato de la declaracin es:
<tipo de dato>
<nombre de variable> = <valor inicial>
Se pueden tambin declarar mltiples variables en la misma lnea: <tipo de dato>
As, por ejemplo,
int longitud; int valor=99;
int valor1, valor2;
int num_parte=1141, num_items=45;

<nom_var1>,

<nom_var2> . . . <nom-varn>

2.3.5 Definicin y declaracin de constantes


El valor de una constante no puede ser modificado. Las constantes literales o constantes, en general, se clasifican tambin en cuatro
grupos, cada uno de los cuales puede ser de cualquiera de los tipos:
constantes enteras
constantes caracteres
constantes de coma flotante
constantes cadena

2.4 Operadores
Los programas C constan de datos, sentencias de programas y expresiones. Una expresin es, normalmente, una ecuacin
matemtica, tal como 3+5. En esta expresin, el smbolo ms (+) es el operador suma, y los nmeros 3 y 5 se llaman operadores u
operandos. En sntesis, una expresin es una secuencia de operaciones y operadores que especifica un clculo.
Sintaxis: variable = expresin
variable
identificador vlido C declarado como variable
expresin una constante, otra variable a la que se ha asignado previamente un valor o una frmula que se ha evaluado y cuyo tipo es
M.C.E. Hilda Olivia Albarrn Padilla Pgina 4

PROGRAMACION
UNIDAD II: INTRODUCCIN AL LENGUAJE DE PROGRAMACIN
APUNTES
el de variable.
Una expresin es un elemento de un programa que toma un valor. En algunos casos puede tambin realizar una operacin.
Las expresiones pueden ser valores constantes o variables simples, tales como 25 o z; pueden ser valores o variables combinadas
con operadores (a++, m==n, etc); o bien pueden ser valores combinados con funciones tales como toupper(b).

2.4.1 Operadores de asignacin y expresin


C dispone de varios operadores de asignacin para la abreviatura de las expresiones, por ejemplo: c=c+3; puede ser abreviado
utilizando el operador de asignacin += como c+=3
El operador += aade el valor de la expresin, a la derecha, al valor de la variable a la izquierda del operador, y almacena el resultado
en la variable a la izquierda del operador, cualquier enunciado de la forma: variable = variable operador expresin;
Donde operador es uno de los siguientes operadores + - * / % pueden ser escritos de la forma: variable operador = expresin;
Operador de asignacin Expresin de muestra
Si: int c=3, d=5, e=4, f=6, g=12
+=
c+=7
-=
d-=4
*=
e*=5
%=
g%=9
/=
f/=9

Explicacin

Asignacin

c=c+7
d=d-4
e=e*5
g=g%9
f=f/3

10 a c
1ad
20 a e
3ag
2af

2.4.2 Operadores aritmticos, de relacin y lgicos


Los operadores aritmticos sirven para realizar operaciones aritmticas bsicas. Los operadores aritmticos C siguen las reglas
algebraicas tpicas de jerarqua o prioridad. Estas reglas especifican la precedencia de las operaciones aritmticas.
Operadores aritmticos
Operacin en C
Suma
Resta
multiplicacin
Divisin
Modulo

Operador aritmtico
+
*
/
%

Expresin algebraica
f+7
p-c
bm
x/y
x
y
r mod s

Expresin en C
f+7
p-c
b*m
x/y
r%s

Operadores de relacin y lgicos


Operador de igualdad
estndar algebraico u
operador relacional

Operador de igualdad o
relacional en C

Ejemplo de condicin
de C

Significado de la
condicin de C

Operadores de igualdad

=
/

==
!=

x==y
x!=y

x es igual a y
x no es igual a y

>
<
>=

x>y
x<y
x >= y

x es mayor que y
x es menor que y
x es mayor que o
igual a y

Operadores relacionales

>
<
>

M.C.E. Hilda Olivia Albarrn Padilla Pgina 5

PROGRAMACION
UNIDAD II: INTRODUCCIN AL LENGUAJE DE PROGRAMACIN
APUNTES
<
<=
x<=y
x es menor que o
igual a y
Operadores Lgicos
Estos operadores se utilizan con expresiones para devolver un valor verdadero (cualquier entero distinto de cero) o un valor falso (0).
Los operadores lgicos se denominan tambin operadores bolanos, en honor de George Boole, creador de lgebra de Boole.
Los operadores lgicos de C son: not (!), and (&&) y or (||). El operador lgico ! (not, no) produce falso (cero) si su operando es
verdadero (distinto de 0) y viceversa. El operador lgico && (and, y) produce verdadero slo si ambos operandos son verdadero (no
cero); si cualquiera de los operandos es falso produce falso. El operador lgico || (or, o) produce verdadero si cualquiera de los
operandos es verdadero (distinto de cero) y produce falso slo si ambos operandos son falsos. Con operadores lgicos existen
slo dos valores posibles para expresiones: verdadero y falso. La forma ms usual de mostrar los resultados de operaciones lgicas es
mediante las denominadas tablas de verdad, que muestran cmo funcionan cada uno de los operadores lgicos.

2.4.3 Operadores de incremento y decremento


Operador de incremento y decremento
++
--

a++
a--

a=a+1
a=a-1

Incrementa a en 1
Decrementa a en 1

C tambin tiene el operador incremental unario ++ y el operador decremental unario


Operador

Expresin de muestra

++

++a

++

a++

--

--b

--

b--

Ejemplos:

Explicacin
Se incrementa a en 1 y a continuacin se utiliza el nuevo valor de a en
la expresin en la cual reside a.
Utiliza el valor actual de a en la expresin en la cual reside a, y
despus se incrementa a en 1.
Se decrementa b en 1 y a continuacin se utiliza el nuevo valor de b en
la expresin en la cual reside b.
Se utiliza el valor actual de b en la expresin en la cual reside b, y
despus se decrementa a b en 1.

sueldo = sueldo +1
horas = horas +1
impuesto = impuesto +1

sueldo += 1
horas += 1
impuesto +=1

sueldo ++
horas ++
impuesto ++

2.4.4 Jerarqua de operadores.


Reglas de prioridad.- las expresiones que tienen dos o ms operandos requieren unas reglas matemticas que permitan determinar el
orden de las operaciones, se denominan reglas de prioridad o precedencia y son:
Categora del Operador

Operador

1. Operadores Unarios

-, ++, --, !

2.Operadores Aritmticos:
Multiplicacin, divisin y Resto entero
Suma y Resta

*, /, %
+,-

3. Operadores Relacionales

<, <=, >, >=

4. Operadores de Igualdad

==, ! =

5. Operadores Lgicos

&& (Y Lgico), || (NO Lgico)

6. Operadores de Asignacin

=, +=, -=, *=, /?, %=,

REGLAS DE JERARQUA:

Se ejecuta primero el operador de ms alta jerarqua


Operadores que tienen igual jerarqua se evalan de izquierda a derecha
si existen expresiones encerradas entre parntesis, estas se evalan primero.
si existen parntesis anidados se evalan primero los parntesis ms internos.
M.C.E. Hilda Olivia Albarrn Padilla Pgina 6

PROGRAMACION
UNIDAD II: INTRODUCCIN AL LENGUAJE DE PROGRAMACIN
APUNTES

Cul es el resultado de las siguientes expresiones?


a).- x=3 + 6 * 14

b).- x=8 + 7 * 3 + 4 * 6

Obtener los resultados de las expresiones:


a)
b)
c)
d)
e)
f)
g)
h)

x= - 4 * 7 + 2 * 3 / 4 5
x=(2+3)*6
x= ( 2 + 3 ) / 4
x=2+32* (5%2)
x = ( 12 + 6 ) / 2 * 3
x=(2+3)%4
x = ( 3 * 4 + 2 ) * ( 15 / 2 )
x = 6 * 6 * 2 / 8 3 * ( 19 / 6 )

Si a=6, b=2 y c=3, indicar el resultado final de las expresiones:


a) a b + c
c) (a * c ) % c
b) a * b / c
d) ( a + b ) / c
Expresar utilizando los operadores aritmticos
m+n/p
m+4
m+n
pr/s
pq
n
Calcular el valor de las siguientes asignaciones de variables:
a) a = 3
b=0
d=2
c=a+b
b=a+b
a=b
b=c+b
c=a*b
d=b+d

b) a = 10
b=5
a=b
b=a
a=c + 2 *b

c+r+t
100

c) a = 1
b= 4
c=a+b
d=a+b

2.5 Expresiones bsicas


2.5.1 Sentencias de asignacin
Los Operadores de Asignacin, como su nombre lo indica, se encargan de atribuirle, asignarle, confinarle, etc. a una variable,
el resultado de una expresin o el valor de otra variable.
Se utilizan en forma de expresiones de asignacin en los que se asigna en el valor de una expresin a un identificador. El
operador de asignacin ms utilizado es "=" y su formato es:
identificador = expresin;
Donde el identificador representa por lo general una variable y una constante, una variable o una expresin ms compleja. Si
los dos operandos de la expresin de asignacin son de tipo de datos diferentes el valor de la expresin de la derecha se convertir
automticamente al tipo de identificador de la izquierda de sta forma la expresin de asignacin ser del mismo tipo de datos.

2.5.2 Expresiones aritmticas, relacionales y lgicas


Expresiones
Estas son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales. Las
mismas ideas usadas en notacin matemtica tradicional. Una expresin consta de operandos y operadores. Segn sea el tipo de
objetos que manipulan las expresiones se clasifican en: aritmticas, lgicas y carcter. El resultado de una expresin aritmtica es de
M.C.E. Hilda Olivia Albarrn Padilla Pgina 7

PROGRAMACION
UNIDAD II: INTRODUCCIN AL LENGUAJE DE PROGRAMACIN
APUNTES
tipo numrico, el resultado de una expresin lgica y relacional es de tipo lgico, el resultado de una expresin carcter es de tipo
carcter.
Estas son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales. Las
mismas idear usadas en notacin matemtica tradicional. Una expresin consta de operandos y operadores. Segn sea el tipo de
objetos que manipulan las expresiones se clasifican en: aritmticas, lgicas y carcter. El resultado de una expresin aritmtica es de
tipo numrico, el resultado de una expresin lgica y relacional es de tipo lgico, el resultado de una expresin carcter es de tipo
carcter.
Las expresiones aritmticas son las que se utilizan junto con los operadores aritmticos.
Ejemplos: x+y
b-c
b%5
x*y
b/5

2.5.3 Funciones de entrada/salida [scanf() , printf()]


Los programas interactan con el exterior, a travs de datos de entrada o datos de salida. La biblioteca C proporciona
facilidades para entrada y salida, para lo que todo programa deber tener el archivo de cabecera stdio.h. En C la entrada y la salida se
lee y se escribe de los dispositivos estndar de entrada y salida stdin y stdout respectivamente. La salida, normalmente, es a pantalla
del ordenador, la entrada se capta del teclado.
Salida.- La salida de los datos de un programa se puede dirigir a diversos dispositivos, pantalla, impresora, archivos. La salida que se
trata a continuacin va a ser a pantalla, adems ser formateada. La funcin printf( ) visualiza a pantalla datos del programa, transforma
los datos, que estn en representacin binaria, a ASCII segn los cdigos transmitidos.
La forma general que tiene la funcin printf ( )
printf(Cadena_de_control_, dato1, dato2, . . .);
cadena_de_control contiene los tipos de datos y forma de mostrarlos.
dato1, dato2 . . .
variables, constantes, datos de salida.
Entrada.- La entrada de datos a un programa puede tener diversas fuente, teclado, archivos en disco. La entrada que consideramos
ahora es a travs del teclado, asociado al archivo estndar de entrada stdin. La funcin ms utilizada, por su versatilidad, para entrada
formateada es scanf( ). El archivo de cabecera stdio.h de la biblioteca C proporciona la definicin (el prototipo) de scanf( ), as como de
otras funciones de entrada o de salida.
La forma general que tiene la funcin scanf( )
scanf(especificador de tipo, &var1, &var2, &var3, . . .);
especificador de tipo
var1, var2, . . .

contiene los tipos de datos.


variables de tipo de los cdigos de control.

2.5.3.1 Especificador de formato


Cdigos de formato ms utilizados
%d El dato se convierte en entero decimal.
%x El dato entero se convierte a hexadecimal.
%f El dato se considera de tipo float. Se convierte a notacin
decimal, con parte entera y los dgitos de precisin.
%lf El dato se considera de tipo double.

%o
%c
%s

El dato entero se convierte a octal.


El dato se considera de tipo caracter.
El dato ha de ser una cadena de caracteres.

2.5.3.2 Secuencias de escape


Secuencia
de escape

Significado

Secuencia
de
escape

Significado

M.C.E. Hilda Olivia Albarrn Padilla Pgina 8

Secuencia
de escape

Significado

PROGRAMACION
UNIDAD II: INTRODUCCIN AL LENGUAJE DE PROGRAMACIN
APUNTES
\n nueva lnea

\v

tabulacin vertical

\\

barra inclinada

\f

avance de pagina

\a

alarma

\b

retroceso de espacio

\t

tabulacin

\r

retorno de carro

\n

retorno de carro y avance de lnea

2.5.4 Funciones matemticas (math.h)


Las funciones matemticas de biblioteca permiten al programador ejecutar ciertos clculos matemticos comunes.
Funcin

Descripcin

sqrt(x)

Raz cuadrada de x

exp(x)
log(x)

Funcin exponencial ex
Logaritmo
natural
de x (de base e)
Logaritmo
natural
de x (de base 10)

log10(x)
fabs(x)

Valor absoluto de x

ceil(x)

Redondea a x al entero
mas pequeo que no
sea menor que x
Redondea a x al entero
mas grande no mayor
que x
x elevado
a
la
potencia y (xy)
Residuo de x/y como un
numero de punto flotante
Seno trigonomtrico de
x (x es en radianes)
coseno trigonomtrico d
e x (x es en radianes)
tangente trigonomtrica
de x (x es en radianes)

floor(x)
pow(x,y)
fmod(x,y)
sin(x)
cos(x)
tan(x)

Ejemplo
sqrt(900.0) es 30.0
sqrt(9.0) es 3.0
exp(1.0) es 2.718282
log(2.718282) es 1.0
log(7.389056) es 2.0
log10(1.0) es 0.0
log10(10.0) es 1.0
log10(100.0) es 2.0
Si x>0 entonces fabs(x) es x
Si x=0 entonces fabs(x) es 0.0
Si x<0 entonces fabs(x) es -x
ceil(9.2) es 10.0
ceil(-9.8) es -9.0
floor(9.2) es 9.0
floor(-9.8) es 10.0
pow(2,7) es 128.0
pow(9, .5) es 3.0
fmod(13.657, 2.333) es 1.992
sin(0.0) es 0.0
cos(0.0) es 1.0
tan(0.0) es 0.0

M.C.E. Hilda Olivia Albarrn Padilla Pgina 9

Вам также может понравиться