Está en la página 1de 29

Conceptos Fundamentales de

Programacin

Introduccin a la Informtica
Departamento de Sistemas
Universidad del Cauca
2006

Agenda
LENGUAJE DE PROGRAMACION C
Caractersticas
Breve Historia
ESTRUCTURA GENERAL DE UN PROGRAMA
Funcin principal
Sentencias
Encabezados
ELEMENTOS DEL LENGUAJE
Datos, Tipos de Datos
Identificadores
Variables, Constantes
Expresiones, Operadores y Funciones
Primitivas
CREACION Y COMPILACION DE UN
PROGRAMA
2

Lenguaje de Programacin C
Caractersticas del Lenguaje C:
El ms difundido de los lenguajes de programacin
existentes.
Combina elegancia y sutileza con potencia y
flexibilidad.
A menudo se lo considera Lenguaje de Medio Nivel.
Estructurado.
Creado por y para programadores.
Breve Historia:
Apareci a finales de los 70s como resultado
evolutivo de otros lenguajes.
Creado por Brian Kernighan y Dennis Ritchie en Bell
Telephone Laboratories Inc. (AT&T Bell Laboratories).

Estructura General de un
Programa
Todos los programas en C comparten ciertos
componentes y rasgos esenciales:
Funciones
- main() Sentencias
Encabezados
/*Programa de Ejemplo en C*/
#include stdio.h
int main()
{
printf (Este es un breve programa en C);
return 0;
}

Elementos del Lenguaje


Datos
Tipos de Datos
Identificadores
Variables, Constantes, Palabras Reservadas
Expresiones, Operadores y Funciones
Primitivas

Datos
Son los valores con los que opera un programa.

Simples: Ocupan una


casilla de memoria

TIPOS
DE
DATOS

Estructurados: Hacen

referencia a un grupo de
casillas de memoria

Numricos
Lgicos
Alfanumricos

Entero
Real
Caracteres
Cadenas

Arreglos (Vectores, Matrices)


Registros (Estructuras)
Archivos
Apuntadores

Tipos de Datos
NUMRICOS:
ENTERO: positivos o negativos, no tienen parte
decimal.
REAL: positivos o negativos, tienen parte decimal.

LGICOS:
BOOLEANO: Solo puede tomar dos valores: Verdadero
o Falso.
Se utiliza para representar las alternativas (s/no) a
Tipo
Significado
Palabra
determinadas
condiciones.
caracter
entero
flotante
doble
sin valor

dato de caracter
nmeros enteros con signo
nmeros en punto flotante
nmeros en punto flotante de doble
precisin
sin valor

Clave

char
int
float
double
void

Tipos de Datos
ALFANUMRICOS:
LETRAS: (a...z) o (A...Z)
DIGITOS: (0...9)
SIMBOLOS ESPECIALES: ], [, , *, ?, =, ), (, /, &, %, $, #,
, etc
CARACTER: Representa un solo dato alfanumrico.
Se caracteriza por estar entre comillas simples
Ejm: a, 5, ?
CADENA:
Contiene una serie finita de caracteres.
Se caracteriza por estar entre comillas dobles .
Ejm: Pepito Prez & Cia, ao 2005.

Identificadores
Nombres elegidos por el programador para
representar
entidades
(variables,
constantes,
funciones, etc.) en el programa.
Reglas de creacin:
Comenzar con letra o con el
caracter de subrayado
Contener letras, dgitos o caracter
subrayado
No debe contener espacios en
blanco
Diferencia maysculas de
minsculas
No usar Palabras Reservadas ni
nombres de Funciones de la
Biblioteca Estndar.

Variables, Constantes
Los datos se guardan en casillas (espacios) de memoria
para su utilizacin y tienen un NOMBRE que es su
identificador.
Variables: Posicin en memoria, referenciada por un
identificador, que puede tomar distintos valores a lo
largo del programa.
Constantes: Posicin de memoria, referenciada por
un identificador, al que se le asignar un valor que
no se podr modificar a lo largo del programa

10

Variables
Almacenan un valor (Datos) que puede cambiar en el
transcurso de la ejecucin del programa, cuantas veces
sea necesario.
Formato para declarar variables:
Tipo_de_Dato
Nombre_Var1,
Nombre_VarN
Ejm:

int Edad
float Estatura
char Genero
char* Nombre

Nombre_Var2,...,

Luego de la creacin,
las variables estn
indefinidas, es decir
no tienen un valor
definido.

Segn su uso se definen como:


Acumulador
Contador

11

Constantes
Son valores reales, no variables, cuyo valor no cambia.
Tipos:
Constantes enteras: 1, 658, 1000000, 15, etc.
Constantes reales:
3.1416, 8000000.12, 58, etc.
Constantes de carcter:
'a', 'B', ';', '<', '+', 8 etc.
Constantes de cadena:
"Hola", "Mi tel es
12345!!", etc.
Constantes lgicas:
Verdadero, Falso

Es posible darles nombre a determinadas constantes, por


ejemplo las utilizadas en clculos matemticos como las
constantes
= 3.141592...
e = 2.7182818 (base de los logaritmos naturales)
se les pueden dar los nombres PI y E.

PI = 3.141592
12
e = 2.718282

Palabras Reservadas
Solo las puede utilizar el
lenguaje
(condicionales,
smbolos especiales, etc.) .
Las variables y las constantes
no
se
deben
nombrar
utilizando
las
palabras
reservadas del lenguaje de
programacin.

auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if

int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigne
d
void
volatile
while
Listado de palabras
reservadas en C

13

Operadores
En lenguaje C, como en todos los lenguajes de alto
nivel, juegan un papel preponderante los operadores,
por medio de los cuales
es posible establecer
modificaciones sobre las variables o influencia de las
unas sobre las otras.
Operadores
Operadores
Operadores
Operadores

Aritmticos
Lgicos
Relacionales
de Asignacin

Jerarqua de Operadores
14

Operadores Aritmticos
EXPRESION ARITMTICA:

OPERADORES
ARITMTICOS:

Es
una
combinacin
de
variables,
constantes
y
operadores
aritmticos
que
genera un resultado de tipo
numrico.
Operador
Significado

Solo pueden utilizarse con


tipos de datos Enteros y
Reales.
Operaciones con caracteres
toman los valores del ASCII.
Ejemplo
Resultado

Suma

125.78 + 10

135.78

Resta

65.30 32.33

32.97

Multiplicacin

8.25 * 7

57.75

Divisin

15 / 4

Potencia

3^2

MOD (%)

Modulo (Residuo)

15 MOD 2

DIV

Divisin entera

15 DIV 2

15

Operadores Aritmticos
-Jerarqua-

Si se tienen en una expresin mas de un operador, se


debe aplicar primero el operador de mayor jerarqua,
resolver esa operacin y as sucesivamente.
Cuando se encuentran mas de dos operadores del
mismo, se toma el primero de izquierda a derecha.
Operador

Jerarqua

Significado

()

(Mayor)
|
|
|
V
(Menor)

Parntesis

^
*, /, MOD, DIV
(Mismo nivel)
+, - (Mismo nivel)

Potencia
Multiplicacin, Divisin,
Modulo, Divisin entera
Suma , Resta

16

EJEMPLO:
15 / 2 * (7 + (68 15 * 33 + (45 ^ 2 / 16) / 3) /15) + 19
3

7.5

495

2025

2
126.5625
4
42.19

5
-427

6
-384.8125

7
-25.654

8
-18.6541
10

-139.9062
11
-120.9062

17

Operadores Lgicos
Permiten realizar condiciones complejas a partir de
condiciones simples.
Tablas de Verdad para los operadores
lgicos:
A
A&&
A
B
||
OR
B
0
&&
AND 0
0
0
0
!
NOT 0
1
0
1

A||B

!A

Operador J erarqua Expresin

Significado

(Mayor)
|
|
|
|
V
(Menor)

NOT P

No es cierto que P,
Es FALSO que P

P AND Q

P y Q deben de ser verdaderas, para


que el resultado sea verdadero

P OR Q

Tiene que se verdadero al menos una


para que el resultado sea verdadero

NOT
AND
OR

18

Operadores Relacionales
Operador

Significado

Ejemplo

Resultado

==

Igual a

hola == lola

FALSO

!=

Diferente de

a != b

VERDADERO

>

Mayor que

22 > 11

VERDADERO

>=

Mayor o Igual que

35 >= 20

VERDADERO

<

Menor que

7 < 15

VERDADERO

<=

Menor o Igual que

15 <= 22

FALSO

Una expresin lgica combina variables, constantes,


operadores aritmticos, operadores relacionales y
operadores lgicos.
El resultado de la expresin relacional y de una expresin
lgica es de tipo lgico. El resultado es verdadero o falso.
Cuando se utilizan los operadores de relacin con
operandos lgicos, Falso es menor que Verdadero.
19

EJEMPLO:
(15 >= 7 * 3 ^ 2 AND 8 > 3 AND 15 > 6) OR NO (7 * 3 < 5 + 12 * 2 div 3 ^ 2)
2
3

VERDADERO VERDADERO

10

21

24

63

FALSO

12
6
FALSO

13
7

14

FALSO
15

11
2

FALSO

VERDADERO

VERDADERO

20

Operadores de Asignacin
Operad
or

Operacin

Asignacin

++

Incremento

--

Decremento

+=

Suma y Asignacin

-=

Resta y Asignacin

*=

Multiplicacin y Asignacin

/=

Divisin y Asignacin

%=
Mdulo y Asignacin
Operadores
Unarios

Operado
r

Operacin

Cambio de Signo del Operando


Operando entero o real

Complemento a uno.
Operando entero

21

Jerarqua de Operadores
Operadores Ordenados por
prioridad
{ }, ( ), [ ]
- (unario), ~, !, ++
*, /, %
+, <, <=, >, >=
==, !=
&&
||

22

EJEMPLO:
((1580 mod 6 * 2 ^ 7) > (7 + 8 * 3 ^ 4)) >((15*2) == (60 * 2 / 4))
2
2

3
256

4
81

1
128

7
FALSO

6
655

5
648

8
30

9
120
10
30

11
VERDADERO
12
FALSO

23

Funciones Primitivas
A veces se necesitan otros operadores especiales
diferentes de los ya nombrados que son funciones
predefinidas o internas del lenguaje.
Aceptan argumentos.
Producen un solo resultado de diferentes tipos.
Las mas usuales son: (siendo x el argumento de la
funcin)

Funcin
Descripcin
Tipo de argumento

Abs (x)
Valor absoluto de x
Entero o real
(x)
Seno
Seno de x
Entero o real
Coseno (x)
Coseno de x
Entero o real
Ln (x)
Logaritmo neperiano de x
Entero o real
Log10 (x)
Logaritmo decimal de x
Entero o real
Redondeo (x)
Redondeo de x
Real
Cuadrado (x)
Cuadrado de x
Entero o real
Raz (x)
Raz cuadrada de x
Entero o real

Resultado
Igual que argumento
Real
Real
Real
Real
Entero
Igual que argumento
Real

24

EJEMPLO
Pasar la siguiente expresin a una expresin algortmica
utilizando funciones primitivas.
3x 2 y 2 x y
4 x 4 xy y
2

EXPRESIN ARITMETICA

EXPRESIN ARITMETICA ALGORTMICA:


(3 * Exp(X,2) * Y * Raz(2 * X + Y)) / Raz(4 * Exp(X,2) + 4 * X * Y + Exp(Y,2))

25

Funciones de Entrada/Salida
La entrada y salida de
informacin (E/S), se puede
gestionar mediante la
funcionalidad de la biblioteca
stdio.
Entrada: scanf()
Salida: printf()
Ejemplo: Leer un nmero por
teclado y mostrarlo
int num;
scanf(%d,&num);
printf(El nmero es:
%d,num);

Secuencias de Escape:
\n
Nueva lnea
\t
Tabulador
Horizontal
\v
Tabulador Vertical
\b
Retroceder Espacio
\r
Retorno de carro
\f
Alimentar una
pgina
\a
Pitar
\
Escribir comilla
simple
\
Escribir comilla
doble
\\
Escribir barra hacia
atrs
%d
%f
%c

Formatos E/S
entero
coma flotante 26
caracter

Creacin y Compilacin de un
Programa
Editor

Disco

Se crea el programa en el editor y


se almacena en disco

Preprocesador

Disco

El programa preprocesador procesa el


cdigo

Compilador

Disco

El compilador crea el cdigo objeto y lo


guarda en disco

Editor de Enlaces

Disco

El editor de enlaces vincula el cdigo


objeto con las bibliotecas, crea a.out y lo
almacena en disco

Memoria Primaria

Cargador
Disco

.
.
.

El cargador pone en memoria el


programa

Memoria Primaria

CPU
.
.
.

La CPU toma cada instruccin y la


ejecuta, posiblemente almacenando
nuevos valores de datos a medida que
se ejecuta el programa

27

Buenas Prcticas de
Programacin

La claridad en un programa es de vital importancia,


pues la mayor parte del tiempo de mantenimiento
de un programa se emplea en estudiar y
comprender el cdigo fuente existente.
Recomendaciones
Bsicas
sobre
estilo
de
codificacin al escribir nuestros programas en C:
Identificadores Significativos
Constantes Simblicas
Comentarios, comentarios...
Estructura del programa
Identacin o sangrado
Presentacin

28

Bibliografa:
Deitel y Deitel. C++ Cmo programar. Prentice Hall
1999.
Hernandez G, Jaime y otros. Curso prctico de
programacin de computadoras. Cekit 1999.
Schildt, Herbert. C Gua de Autoenseanza. McGraw
Hill 1994.

29

También podría gustarte