Fundamentos de
Programación
Tema: Resumen Contenidos Semanas 5 - 8
Docente: Ing. Rosario Coral H. MsC
Creer que todo tiene solución no es
optimismo, es talento...
Contenido
Objetivo
1. Introducción al Lenguaje C
Resumir los contenidos de las 2. Instrucciones de Decisión
semanas 5 - 8 3. Instrucciones de Repetición
4. Funciones
5. Arreglos
Introducción al lenguaje C
Algoritmos
ESTRUCTURA DE UN PROGRAMA EN LENGUAJE C
• Todo programa en C consta de una o más funciones, una de las cuales se llama main. El programa comienza en la función main, desde la cual es posible llamar a otras funciones.
• Cada función estará formada por la cabecera de la función, compuesta por el nombre de la misma y la lista de argumentos (si los hubiese), la declaración de las variables a utilizar
y la secuencia de sentencias a ejecutar.
Archivos de cabecera
Archivos de Cabecera: Contienen funciones propias del C para llevar a cabo tareas como:
Declaraciones globales Entrada/Salida, funciones matemáticas, cadenas de caracteres, etc., se los reconoce porque tienen una
main( ) extensión .h, por ejemplo: stdio.h
{ Declaraciones globales: Se declara aquellas variables que van a estar activas durante toda la ejecución
del programa.
Declaraciones locales ;
sentencia(s); Función main() : Es la función principal y es donde inicia y finaliza la ejecución del programa.
} Variables locales: Son aquellas variables que solamente están activas durante la ejecución de la
función.
funcion1( )
{ Sentencia(s): Son la o el bloque de sentencias que se ejecutan, cada sentencias debe estar separada
por un punto y coma ( ; ) .
Declaraciones locales;
Función1(): Luego de la función principal el programa puede contener una o más funciones que se
sentencia(s); ejecutan las veces que el programador lo requiera.
}
Presione clic en el recuadro para ver información
Algoritmos
TIPOS DE DATOS
El tipo de dato define un conjunto de valores que puede tener una variable, junto con un conjunto de operaciones que se pueden realizar sobre esa variable. Los tipos de datos
comunes son los números enteros, números reales y caracteres.
int: Es un número exacto, carece de parte fraccionaria, por lo que no
tiene punto decimal. Se almacena en 2 bytes (16 bits) y el rango de
modificadores: tienen la misión de modificar el rango de valores de un
determinado tipo de variable. Estos calificadores son cuatro:
valores está desde -32768 a 32767.
Signed int
Le indica a la variable que va a llevar signo. Es el utilizado por defecto.
Unsigned
Le indica a la variable que no va a llevar signo (valor absoluto). El rango modificado
de valores es desde 0 a 255; unsigned int desde 0 a 65535. res float
Short float: Corresponde a los números reales se
Rango de valores en formato corto (limitado). Es el utilizado por defecto. almacena en 4 bytes (32 bites) y abarcan un rango
Tipos de
Long de 3.4e-38 a 3.4e+38.
Rango de valores en formato largo (ampliado). El rango de valores long
datos
int esta desde -[Link] a [Link] ; long double desde -3'36
E-4932 a 1'18 E+4932 . char
void
double char: Representa caracteres definidos por el código
ASCII. Se almacenan en 1 byte (8bits) y el rango
esta desde – 128 a 127.
void: Es un tipo vacio, no tiene tipo de dato y se utiliza para
declarar una función que no devuelve un valor, establecer que
la función no tiene parámetros o crear puntos genéricos.
double: Son los mismos números de punto flotante, pero con doble precisión. Se almacenan en
8 bytes (64 bits) y el rango está desde 1.7e-308 a 1.7e+308
Presione clic en los círculos de los tipos de datos para ver información
Algoritmos
DECLARACIÓN DE VARIABLES
Una variable es un tipo de dato, referenciado mediante un identificador (que es el nombre de la variable). Su contenido podrá ser modificado a lo largo del programa. Una variable
sólo puede pertenecer a un tipo de dato. Para poder utilizar una variable, primero tiene que ser declarada con el siguiente formato:
Ejemplos:
int num;
1) tipo variable; Ejemplos:
float iva;
int
charnum,
op; con=0, i,x;
long
float int factor;
tot_rec
float iess;
2) tipo var1, var2=valor; char op, fin, codigo;
DECLARACIÓN DE CONSTANTES
Al contrario que las variables, las constantes mantienen su valor a lo largo de todo el programa. Para indicar al compilador que se trata de una constante, se puede utilizar los
siguientes formatos:
Ejemplos:
#define IVA 0.12
1) #define CONSTANTE valor Ejemplos:
#define TRANSP 100
const float IVA = 0.12;
const int TRANS = 100;
2) const tipo CONSTANTE =valor;
Presione clic con el ratón para ver información
Algoritmos
SECUENCIAS DE ESCAPE ARCHIVOS DE CABECERA
Ciertos caracteres no representados gráficamente se pueden representar En la programación en C es posible utilizar funciones que no estén incluidas en el
mediante lo que se conoce como secuencia de escape. A continuación propio programa. Para ello utilizamos la directiva #include, que nos permite añadir
vemos una tabla de las más significativas: librerías o funciones que se encuentran en otros ficheros a nuestro programa. Para
indicar al compilador que vamos a incluir ficheros externos podemos hacerlo de
dos maneras (siempre antes de las declaraciones).
\n salto de línea
\b retroceso
1) Indicando que se encuentran en el directorio por defecto del compilador.
\t tabulación horizontal
\v tabulación vertical #include <misfunc.h>
\\ contrabarra
\f salto de página
\' apóstrofe
\" comillas dobles 2) Indicándole al compilador la ruta donde se encuentra el fichero.
\0 fin de una cadena de caracteres
#include "misfunc.h"
#include "c:\includes\misfunc.h"
Presione clic con el ratón para ver información
Algoritmos
OPERADORES
A continuación se explican los tipos de operadores que permiten realizar operaciones matemáticas en lenguaje C.
Prioridades de ejecución Operadores Aritméticos
suma +
1ra. Prioridad sqrt(); pow( );
resta
2da. Prioridad *,/, % Aritméticos
multiplicación *
división /
3ra. Prioridad +, -, ++,--
resto de la división %
OPERADORES incremento ++
decremento Operadores
-- Relacionales
EJEMPLOS: Mayor que >
Area = (b * h) / 2; Menor que <
num1 > num2 Asignación Mayor o igual que >=
(A > B) && (A > C) Menor o igual que <=
CONT = 10
Igual ==
Operadores Lógicos
Diferentes
&& ( and ) !=
Operador de asignación
|| (or)
! (not)
Identificador = valor
Presione clic con el ratón para ver información
Algoritmos
Entrada / Salida por consola
Las funciones printf() y scanf() permiten escribir y leer datos de cualquier tipo. Para poder utilizarlas se debe incluir el archivo de cabecera stdio.h
SALIDA
printf(“cadena de control”,arg1,arg2...);
Especificadores de formato (%)
En la cadena de control indicamos la forma en que se mostrarán los argumentos %c Un único caracter
posteriores. También podemos introducir una cadena de texto ( sin necesidad de %d Un entero con signo, en base decimal %u Un entero sin signo, en base decimal
argumentos ), o combinar ambas posibilidades, así como secuencias de escape (\n, \t, %o Un entero en base octal
\a, etc).
%x Un entero en base hexadecimal
En el caso de que utilicemos argumentos deberemos indicar en la cadena de control %e Un número real en coma flotante, con exponente
tantos especificadores de formato como argumentos vayamos a presentar.
%f Un número real en coma flotante, sin exponente
El especificador de formato está compuesto por el carácter % seguido por un carácter %s Una cadena de caracteres
de conversión, que indica de que tipo de dato se trata. %p Un puntero o dirección de memoria
Presione clic con el ratón para ver información
Algoritmos
Ejemplo de utilización de printf( )
Declaración del archivo de cabecera stdio.h, (standar input output), donde
/* Uso de la sentencia printf() 1. */ se encuentran las funciones de entrada / salida del lenguaje C.
#include <stdio.h>
main() /* Saca por pantalla una suma */
{ Declaración del dos variables de tipo entero a y b que se inicializan al
momento de la declaración.
int a=20,b=10;
Saca a pantalla una constante de cadena, el valor de la variable a y da un
printf("El valor de a es %d\n",a); salto de línea (\n).
printf("El valor de b es %d\n",b);
Saca a pantalla una constante de cadena, el valor de la variable b y da un
printf("Por tanto %d+%d=%d",a,b,a+b); salto de línea (\n).
return 0;
Saca a pantalla el valor de las variable a , b y la suma de las dos variables
} (a+b). Note que existen 3 ordenes de formato %d para cada dato que sale
a pantalla.
Presione clic con el ratón para ver información
Algoritmos
ENTRADA
scanf(“cadena de control”,variable);
Especificadores de formato (%)
%c Un único carácter
En la cadena de control indicaremos, por regla general, los especificadores de
%d Un entero con signo, en base decimal
formato que harán referencia al tipo de dato de los argumentos. Al igual que en la
sentencia printf los Especificadores de formato estarán formados por el caracter % %u Un entero sin signo, en base decimal
seguido de un caracter de conversión. Los argumentos indicados serán, nuevamente, %o Un entero en base octal
las variables.
%x Un entero en base hexadecimal
La principal característica de la sentencia scanf es que necesita saber la posición de la %e Un número real en coma flotante, con exponente
memoria del ordenador en que se encuentra la variable para poder almacenar la %f Un número real en coma flotante, sin exponente
información obtenida. Para indicarle esta posición utilizaremos el símbolo ampersand
( & ), que colocaremos delante del nombre de cada variable numérica, en las variable %s Una cadena de caracteres
de tipo char no es requerido. %p Un puntero o dirección de memoria
Presione clic con el ratón para ver información
Algoritmos
Ejemplo de utilización de scanf( )
/* Uso de la sentencia scanf() */ Declaración del archivo de cabecera stdio.h, (standar input output), donde
se encuentran las funciones de entrada / salida del lenguaje C.
#include <stdio.h>
main() /* Solicita dos datos */
{ Declaración del dos variables una de tipo cadena nombre de 10 bytes y una
de tipo entero edad .
char nombre[10];
int edad;
Saca a pantalla un mensaje al usuario solicitando que ingrese el nombre.
printf("Introduce tu nombre: ");
scanf("%s",nombre); Ingresa el nombre, el formato utilizado, %s indica que se ingresará una
cadena y será almacenada en la variable nombre.
printf("Introduce tu edad: ");
scanf("%d",&edad); Saca a pantalla un mensaje al usuario solicitando que ingrese su edad.
return 0;
} Ingresa la edad, el formato %d indica que se ingresará un número entero y se
almacenará en la variable edad , se antepone el símbolo & que es un operador de
dirección de punteros..
Presione clic con el ratón para ver información
Instrucciones de Decisión
Estructura de Selección Simple ( if ) :
Es aquella que elije una acción entre dos alternativas dependiendo de una condición. Se evalúa la condición y si esta da
como resultado VERDAD o FALSO, se ejecuta una determinada acción o grupo de acciones, sin ejecutarse las dos a la vez.
Con este formato ,en caso que la condición
if (condición) se evalúe como verdadero o falso
sentencia; ( verdadero ) solamente se puede ejecutar una
else sentencia, tomando en consideración que
sentencia; ( falso ) la sentencia else es opcional.
if (condición) Con este formato si se requiere ejecutar
{ más de una sentencia sea por verdadero o
sentencia1; (verdadero) falso necesita encerrar entre paréntesis
sentenciaN; cada bloque de código.
}
else La sentencia else (caso contrario) es
{ opcional.
sentencia1; (falso)
sentenciaN;
}
Presione clic con el ratón para ver información
15
Estructura de Selección Múltiple - switch( ):
Este tipo de estructuras se utiliza cuando el número de alternativas sea mayor a dos. Funciona de acuerdo al valor que puede
tomar el selector comparado con N valores distintos que representa N alternativas correspondiente al que tenga el mismo valor
y se ejecutan las instrucciones implementadas para el caso. Cada caso puede ser o no excluyente de tal manera que puede o
no salir luego de ejecutadas las instrucciones.
El selector es una variable que se carga
switch (selector) anticipadamente ya sea con una sentencia
{ de lectura o un proceso. Luego se
case valor1: sentencia(s) compara el valor del selector con el valor
[break;] de cada uno de los casos, si coinciden, se
case valor2: sentencia(s) ejecutan las sentencias del caso hasta que
[break;] encuentre una instrucción break y termina
la ejecución. La instrucción break es
. opcional de tal manera que si no se la
utiliza, la ejecución del programa se realizar
. por todos los casos hasta que encuentre la
instrucción salir o el final de la estructura.
case valor(N): sentencia(s) Si el valor del selector no coincide con
[break;] ningún caso se ejecutan las instrucciones
defualt: Sentencia(s) del default en caso de que se utilice ya que
} es opcional.
Presione clic con el ratón para ver información
16
Instrucciones de Repetición
INSTRUCCIONES DE REPETICIÓN
Es una estructura que repite una
instrucción o un grupo de
instrucciones; se lo conoce también
como LAZO o BUCLE. Existe dos tipos
de estructuras de repetición:
•Automática o contada
•Condicionales
HAGA MIENTRAS
HAGA
MIENTRAS
FUNCIONES
PROTOTIPO
Declaración de la
función
tipo_Retorno NOMBRE_FUNCION(tipo parametro_1, tipo parametro 2, …. tipo parametroN);
CÓDIGO O IMPLEMENTACIÓN
Conjunto de
instrucciones que
forman parte de la
función y realizan la
tarea para la cual fue
creada
tipo_Retorno NOMBRE_FUNCION(tipo parametro_1, tipo parametro 2, …. tipo parametroN)
{
instrucción 1;
instrucción 2;
….
instrucciónN
return;
}
LLAMADA
Uso de la
función en el
programa
principal
NOMBRE_FUNCION(argumento1, argumento 2, …. tipo argumentoN)
Prototipo
Llamada
Codigo o
implementacion
ARREGLOS
Definición
Un arreglo es un conjunto de elementos del mismo tipo que se
referencian por un nombre común.
Los arreglos en lenguaje C se almacenan en celdas de memoria
contiguas.
ARREGLO UNIDIMENSIONAL
(VECTOR)
ARREGLOS UNIDIMENSIONALES
tipo : Es el tipo de dato de cada
A elemento del arreglo
Declaración
tipo nombre_arreglo[tamaño]; nombre_arreglo: identifica el nombre
B del arreglo
int C[8]; tamaño: Número de elementos que
Arreglo C con 8 elementos tipo int C contiene el arreglo
nombre_arreglo: C
indic indice: Posición del elemento en
e
D el arreglo, permite el
acceso a cada elemento
Acceso a los elementos del arreglo
El índice es la forma de acceder a los
elementos del arreglo
int C[8];
El 0 es el índice del primer elemento de
un arreglo.
nombre_arreglo: C
indice
Entonces los elementos del arreglo C
serían:
C[0]= 12, primer elemento del arreglo
C[1]= 3, segundo elemento del arreglo
C[2]= 27, tercer elemento del arreglo
C[3]= 16, cuarto elemento del arreglo
C[4]= 4, quinto elemento del arreglo
C[5]= 51, sexto elemento del arreglo
C[6]= 8, septimo elemento del arreglo
C[7]= 40, octavo elemento del arreglo
Gracias
Responsabilidad con pensamiento positivo