Documente Academic
Documente Profesional
Documente Cultură
1
Fundamentos de Programación 2017-I
Contenido:
3.1. Sintaxis básica y semántica.
3.2. Variables, tipos, expresiones y asignación.
3.3. Estructuras de control condicional e iterativo.
3.4. Funciones y paso de parámetros.
3.5. Descomposición estructurada.
3.6. Manejo de E/S.
3.7. Estrategias de depuración.
3.7.1. Tipo de errores.
3.7.2. Técnicas de depuración.
2
Fundamentos de Programación 2017-I
3
Fundamentos de Programación 2017-I
4
Fundamentos de Programación 2017-I
Programación Estructurada
6
Fundamentos de Programación 2017-I
Lenguaje C
7
Fundamentos de Programación 2017-I
8
Fundamentos de Programación 2017-I
9
Fundamentos de Programación 2017-I
gcc programa1.c
a.out
10
Fundamentos de Programación 2017-I
./programa1
11
Fundamentos de Programación 2017-I
Vocabulario o léxico
Conjunto de palabras válidas o reservadas en el Lenguaje
C.
12
Fundamentos de Programación 2017-I
Gramática
Operatividad Funcional.
13
Fundamentos de Programación 2017-I
14
Fundamentos de Programación 2017-I
15
Fundamentos de Programación 2017-I
Directivas
Declaraciones Globales
Función Principal
Funciones Secundarias
16
Fundamentos de Programación 2017-I
#include <biblioteca1.h>
#include <biblioteca2.h>
... declaraciones de funciones...
... definiciones (cuerpos de funciones)...
... declaraciones de variables globales...
17
Fundamentos de Programación 2017-I
main()
{
…declaraciones de variables locales…
…instrucciones a ejecutar…
}
18
Fundamentos de Programación 2017-I
#include <librería.h>
#define expresión
19
Fundamentos de Programación 2017-I
main(){
//Programa de prueba
}
// Nombre del archivo: prueba1.c
// Compilado: gcc prueba1.c –o prueba1
//Ejecutado: ./prueba1
20
Fundamentos de Programación 2017-I
#include<stdio.h>
main(){
// Este programa es una prueba para mostrar texto
printf(“\nFundamentos de Programación, Gpo. 1119\n”);
}
// Nombre del archivo: prueba2.c
// Compilado: gcc prueba2.c –o prueba2
//Ejecutado: ./prueba2
21
Fundamentos de Programación 2017-I
Tipos de Datos
En C se disponen de estos tipos básicos:
int enteros (números 4 byte 32 bits
enteros positivos y
negativos)
char caracteres (letras) 1 byte 8 bits
float números en coma 4 byte 32 bits
flotante (números
reales)
double números en coma 8 byte 64 bits
flotante de doble
precisión
22
Fundamentos de Programación 2017-I
Tipos modificados
Modificador Significado
short entero corto (rango más pequeño)
long entero largo (rango más amplio)
unsigned entero sin signo (0..N)
signed entero con signo (-N-1 .. +N)
23
Fundamentos de Programación 2017-I
Declaraciones de variables
Ejemplo:
int x;
float y, z;
24
Fundamentos de Programación 2017-I
Operadores Aritméticos
25
Fundamentos de Programación 2017-I
Operadores aritméticos
OPERADOR OPERACIÓN
() Paréntesis
% Módulo (resto de la división
entera)
* Multiplicación
/ División
+ Suma
- Resta
26
Fundamentos de Programación 2017-I
Asignaciones
La forma de dar valor a una variable es
variableSuma= expresión_aritmética
27
Fundamentos de Programación 2017-I
28
Fundamentos de Programación 2017-I
29
Fundamentos de Programación 2017-I
Formatos de printf
%d %i Número Entero
%c %s Caracter, cadena
%f Número Real
Secuencias de escape
\n Salto de línea
\t Tabulación
\a Sonido
30
Fundamentos de Programación 2017-I
Ejem3.
/*bibliotecas*/
#include<stdio.h>
//declaración de variables globales
main(){
//declaración de variables locales
int suma;
suma=2+9;
printf("%d\n",suma);
}
// Nombre del archivo: serie1.c
// Compilado: gcc serie1.c –o serie1
//Ejecutado: ./serie1
31
Fundamentos de Programación 2017-I
Entrada de datos
scanf (“formato”, & arg1, & arg2, ... );
Sintaxis:
32
Fundamentos de Programación 2017-I
Ejem4.
/*bibliotecas*/
#include<stdio.h>
main(){
//declaración de variables locales
float a, b, suma;
printf("Ingrese a: ");
scanf("%f",&a);
printf("Ingrese b: ");
scanf("%f",&b);
suma=a+b;
printf("%f\n",suma);
}
33
Fundamentos de Programación 2017-I
34
Fundamentos de Programación 2017-I
Construcciones algorítmicas
35
Fundamentos de Programación 2017-I
sentencia_simple;
36
Fundamentos de Programación 2017-I
{
Sentencia1
Sentencia2
...
SentenciaN
37
Fundamentos de Programación 2017-I
Construcciones Condicionales-Selección
Sentencia if
La construcción if sirve para ejecutar código, sólo si una
condición es cierta:
if (condición)
sentencia
Operadores booleanos
Operador
A==B si A es igual a B
A != B si A es distinto de B
A>B si A es mayor que B
A<B si A es menor que B
A >= B si A es mayor o igual que B
A <= B si A es menor o igual que B
39
Fundamentos de Programación 2017-I
Ejem5.
//serie14: Leer un número X e imprimir si es cero.
#include <stdio.h>
main( )
{ int x;
printf("\n\tIngrese un valor numérico para x:");
scanf("%d", &x);
if ( x == 0 )
printf ("\n El valor de tu variable es cero\n");
}// Nombre del archivo: serie14.c
// Compilado: gcc serie14.c –o serie14
//Ejecutado: ./serie14
40
Fundamentos de Programación 2017-I
Sentencia if –compuesta-
if (condición) {
sentencia1
sentencia2
}
41
Fundamentos de Programación 2017-I
Ejem6.
/*serie14a: Leer un número X e imprimir si es cero. */
#include <stdio.h>
main( )
{
int x;
printf("\n\tIngrese un valor numérico para x:");
scanf("%d", &x);
if ( x == 0 ){
printf ("\n El valor de tu variable es cero\n");
printf ("\n Segunda instrucción de if verdadero\n");
42
Fundamentos de Programación 2017-I
}//cierre de main
// Nombre del archivo: serie14a.c
// Compilado: gcc serie14a.c –o serie14a
//Ejecutado: ./serie14a
43
Fundamentos de Programación 2017-I
Construcción if-else
Con la construcción else se pueden definir acciones para
cuando la condición del if sea falsa.
La sintaxis es
if (condición)
sentencia
else
sentencia
44
Fundamentos de Programación 2017-I
Ejem7.
/*serie15: Leer un número Z e imprimir si es negativo o
positivo. */
#include <stdio.h>
main( )
{
int x;
printf("\n\tIngrese un valor numérico para x:");
scanf("%d", &x);
if ( x == 0 )
printf ("\n El valor de tu variable es cero\n");
else
45
Fundamentos de Programación 2017-I
if(x>0)
printf ("\n El valor de tu variable es positivo\n");
else
printf ("\n El valor de tu variable es negativo\n");
}// cierre de main
// Nombre del archivo: serie15.c
// Compilado: gcc serie15.c –o serie15
//Ejecutado: ./serie15
46
Fundamentos de Programación 2017-I
}
else
if(x>0){
printf ("\n El valor de tu variable es positivo\n");
printf ("\n %d \n",x);}
else{
printf ("\n El valor de tu variable es negativo\n");
printf ("\n %d \n",x);}
return 0;
}
48
Fundamentos de Programación 2017-I
49
Fundamentos de Programación 2017-I
Expresión Resultado
E1 && E2 Cierta si E1 y E2 son ciertas (AND)
E1 || E2 Cierta si E1 o E2 son ciertas (OR)
50
Fundamentos de Programación 2017-I
Construcción switch
Se utiliza para ejecutar acciones diferentes según el valor
de una expresión.
Ejemplo de sintaxis:
switch (expresión)
{
case valor1:
... sentenciasA...
break;
51
Fundamentos de Programación 2017-I
case valor2:
... sentenciasB ...
break;
.
.
.
default:
... sentenciasN ...
break;
}
52
Fundamentos de Programación 2017-I
53
Fundamentos de Programación 2017-I
Ejem9.
/*serie41: Escribir un código fuente que muestre el
siguiente menú al usuario, indique al usuario que deberá
elegir solo una opción a realizar.
Opción 1 -- Suma
Opción 2 -- Resta
Opción 3 -- Multiplicación
Opción 4 -- División
Opción default –Mostrar “verifique su selección”*/
54
Fundamentos de Programación 2017-I
#include <stdio.h>
main(){
int op;
float a,b,res;
printf("\n\t FAVOR DE SELECCIONAR UNA OPCIÓN\n");
printf("\n\t OPCIÓN DE SUMA 1\n");
printf("\n\t OPCIÓN DE RESTA 2\n");
printf("\n\t OPCIÓN DE MULTIPLICACIÓN3\n");
printf("\n\t OPCIÓN DE DIVISIÓN 4\n\n\t\t\t");
scanf("%d",&op);
switch(op) {
55
Fundamentos de Programación 2017-I
case 1:
printf("\n\t TECLEAR EL VALOR DE A: \t");
scanf("%f",&a);
printf("\n\t TECLEAR EL VALOR DE B: \t");
scanf("%f",&b);
res=a+b;
printf("\n\t La suma es : %f\n", res);
break;
case 2:
printf("\n\t TECLEAR EL VALOR DE A: \t");
scanf("%f",&a);
56
Fundamentos de Programación 2017-I
else
printf("\n\t ERROR!!!\n");
break;
default:
printf("\n\t OPCION NO VALIDA\n");
}//cierre de switch
}//cierre de main
// Nombre del archivo: serie41.c
// Compilado: gcc serie41.c –o serie41
//Ejecutado: ./serie41
59