Topicos Avanzados de Programacion - Unidad 5 programacion movil
programacion
-
Upload
stephany-bradbury -
Category
Documents
-
view
213 -
download
0
description
Transcript of programacion
-
Programa en lenguaje C Funciones Creacion de sentencias
Programacion estructuradaEstructura de un programa en lenguaje C
Oscar Alvarado Nava
Departamento de ElectronicaDivision de Ciencias Basicas e Ingeniera
Universidad Autonoma Metropolitana, Unidad Azcapotzalco
13O, septiembre de 2013
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 1/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Contenido
1 Programa en lenguaje CComponentes
2 FuncionesFuncionesDirectivas al pre-procesador
3 Creacion de sentenciasTokensPalabras reservadasTipos de datos
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 2/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Componentes
Numero de caracteres en un nombre
1 /* Comentario 12 Comentario 2 */3 #include /* archivo encabezado */4 #define N 10 /* constante global */56 /* variable global */7 /*tipo identificador */8 char nombre[N];9
10 int main() /* funcion principal */11 {12 /* declaracion de variables locales a la funcion main*/13 /*tipo e indentificador */14 int i;1516 printf("Ingresa tu nombre: "); /* caracteres a salida estandar */17 scanf(" %s", nombre); /* caracteres de entrada estandar */1819 i = 0; /* sentencia */20 /* estructura repetitiva */21 while( nombre[i] != \0 ) /* expresion relacional */22 i = i + 1;2324 printf("compuesto por %d letras\n",i);2526 return 0;27 }
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 3/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Componentes
Elementos de un programa en lenguaje C
Comentarios
Directivas al preprocesador
Funciones
Variables y constantes
Variables globales y locales
Tipos de datos
Operadores
Expresiones
Sentencias
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 4/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Comentarios
Los comentarios son anotaciones legibles y generalmentedescriptivas del codigo para el programador
Son eliminados por el pre-procesador
En C, los comentarios deben ser encerrados entre /* y */ ypueden extenderse por varias lneas
Se puede comentar por lnea al iniciarla con //
No includo en el estandar ANSI
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 5/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Funciones
Funciones
Un programa en C se compone a traves de funciones
Una funcion agrupa e identifica una secuencia de sentencias
De a cuerdo a la complejidad del problema y de suimplementacion, el programa podra constar de una o variasfunciones
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 6/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Funciones
Funcion principal
Sin importar el numero de funciones en el programa, una deellas debera tener el nombre main
La nombre main o principal, indica quer sera la primerafuncion en ser ejecutada
En un programa bien escrito, la funcion main es la partecentral del programa y debera llamar a otras funciones
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 7/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Funciones
Grafo de llamadas a funciones
main funcionA
funcionBfuncionC
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 8/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Funciones
Desarrollo de funciones
Las funciones seran desarrolladas por el programador
Algunas funciones podran ser de biblioteca, las cuales fuerondesarrolladas por otros programadores y son enlazadas alejecutable
En lenguaje C, toda funcion debera contar
DeclaracionDefinicionLlamada
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 9/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Directivas al pre-procesador
Directivas al pre-procesador
El pre-procesador es una programa de apoyo para compiladory el programador
Identifica y procesa directivas o comandos, tambien conocidascomo macro-instrucciones
En lenguaje C, las directivas al pre-procesador son indicadascon el caracter #
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 10/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Directivas al pre-procesador
Algunas directivas al pre-procesador en lenguaje C
Directiva Descripcion#include Inclusion del contenido de un archivo
#defineDefinicion de constantesy macro-instrucciones
#ifdefCompilacion condicional
#ifndef
#error Definicion de mensajes de error
#pragma Extensiones del lenguaje
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 11/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Directivas al pre-procesador
Directiva #include
A traves de la directiva #include, el pre-procesador agrega elcontenido de una archivo al programa
El nombre del archivo debera contener su ruta absoluta orelativa y se escribira en entre comillas (cadena)
/home/oscar/programas/sockets.h
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 12/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Directivas al pre-procesador
Ruta estandar
Si el nombre del archivo se coloca entre los caracteres < y >,indicara que el archivo se encuentra en la ruta estandar
La ruta estandar indica la ruta donde fueron instalados losarchivos encabezados
Generalmente en un sistema UNIX/Linux se instalan en laruta
/usr/include/
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 13/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Directivas al pre-procesador
Archivos encabezados
Las declaraciones de las funciones deberan estar antes dedefinirlas y llamarlas
Los archivos encabezados contienen entre otras cosasdeclaraciones de funciones
< tss-7-01@ce >< /users/tss/7/tss-7-01 >$ pico /usr/include/stdio.h
< tss-7-01@ce >< /users/tss/7/tss-7-01 >$ pico /usr/include/math.h
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 14/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Tokens
Creacion sentencias
Una sentencia es compuesta por expresiones y estructuras decontrol
Las expresiones se crean a traves de variables, operadores ypalabras reservadas
Las variables y operadores se describen con identificadores
El lenguaje reconoce todos los elementos por medio de laidentificacion de tokens
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 15/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Tokens
Tokens
Un token o componente lexico, es una conjunto de caracteresque tiene un significado coherente en un lenguaje deprogramacion
En lenguaje C existen cinco tipos de tokens
IdentificadoresPalabras reservadasVariablesOperadoresSeparadores
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 16/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Palabras reservadas
Identificadores
Un identificador es una secuencia de carateres, letras, dgitos
Un identificador es utilizador para asignar nombres a variables,constantes y funciones
Las reglas para la formacion de identificadores
La longitud no debe exceder los 32 caracteresEl primer caracter debera ser una letra o un guon bajoSensible a mayusculas y minusculas. Convencionalmente lasvariables se escriben en minuscula y las constantes enmayusculasNo deberan ser palabras reservadas
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 17/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Palabras reservadas
Palabras reservadas de ANSI C
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 18/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Palabras reservadas
Palabras reservadas
Las palabras reservadas (keyword) representan
Tipos de datos, modificadores de tipo y estructuras de control
Todas las palabras reservadas deben de ser escritas enminusculas
C hace diferencia entre las palabras escritas en mayusculas yminusculas
else es diferente a ELSE, elsE, ElSe
Las palabras reservadas no deben ser utilizadas comoidentificadores de variables o nombres de funciones
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 19/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Palabras reservadas
Variables y constantes
En un lenguaje de programacion, una variable es una localidadde memoria donde se almacena un valor de cierto tipo
Una variable que NO podra cambiar su valor durante laejecucion del programa se le llama constante
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 20/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Palabras reservadas
Creacion y ambito de variables
Una variable debera tener asociado un tipo de dato y unidentificador
Una variable debera ser declarada antes de ser utilizada
De acuerdo al lugar en donde sean declaradas las variablestendran un ambito o visibilidad
GlobalLocal o privadaDinamicas
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 21/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Tipos de datos
Tipos de datos
En el lenguaje C hay cinco tipos de datos primitivos
Tipo En C No. Bytes Rango
Caracter charEntero intReal o de punto flotante floatReal o de punto flotante doble precision doubleSin tipo o generico void
El numero de bytes que los implementa y el rangodependera del procesador y del compilador utilizados
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 22/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Tipos de datos
Modificadores de tipos de datos
Con excepcion del tipo de dato void, a todos los tipos dedatos se les pueden aplicar algun modificador de tipo
Modificador Descripcion
signed
unsigned
long
short
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 23/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Tipos de datos
Rango, precision y numero de bytes
Los tipos de datos en lenguaje C estan compuestos de uno ovarios bytes
Cual es la relacion entre el numero de bytes (o bits) y elrango del tipo de dato?
Cual es la relacion entre el numero de bytes (o bits) y laprecision del tipo de dato?
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 24/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Tipos de datos
Tarea de tipos de datos
Investigar el numero de bytes de cada tipo de dato y sumodificacion
Revisar el operador sizeof
Investigar las restrciones al aplicar los modificadores a lostipos de datos
Investigar el rango de cada tipo de datos y su modificacion
Revisar las en la pagina de GNU limits.h y float.h
Investigar la representacion de numeros con signo y sin signoen binario
Signo-magnitud y complemento a dos
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 25/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Tipos de datos
Sentencias
Un programa en C esta compuesto de sentencias agrupadas enfunciones
Una sentencia siempre termina con un punto y coma (;)
Salvo en algunos casos en que una sentencia estructuradatermina con una palabra reservada
Una sentencia esta compuesta de expresiones
varA = varB + 4;
varA = varB + varC * varD;
y = sqrt( x ) + 1.0;
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 26/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Tipos de datos
Expresiones
Una expresion es una combinacion de operadores, variables yfunciones
De acuerdo a los operadores se tienen expresiones aritmeticas,logicas y de asignacion
Cada expresion debera ser evaluada de acuerdo a las reglas deprecedencia y asociatividad de los operadores
varA = varB + varC * varD;
varA = (varB + varC) * varD;
varA = 1;
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 27/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Tipos de datos
Operadores
El lenguaje C tiene varios tipos de operadores
AsignacionAritmeticosDe incremento y decrementoRelacionalesLogicosManipulacion de bitsDireccion e indireccionCondicionalListadoLongitud de tipoConversion de tipoAumento de prioridad
Hay operadores unarios, binarios y ternarios
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 28/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Tipos de datos
Precedencia y asociatividad
La precedencia (o prioridad) de los operadores determina elorden en el que se aplican los operadores
La asociatividad de los operadores es la regla para aplicar losoperadores con la misma precedencia
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 29/30
-
Programa en lenguaje C Funciones Creacion de sentencias
Tipos de datos
Tarea de operadores
Investigar todos los operadores en lenguaje C y su clasificacion
Investigar la precedencia y asociatividad de los operadores
Oscar Alvarado Nava UAM Azcapotzalco Estructura de un programa en lenguaje C 30/30
Programa en lenguaje CComponentes
FuncionesFuncionesDirectivas al pre-procesador
Creacin de sentenciasTokensPalabras reservadasTipos de datos