Você está na página 1de 37

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Defensa


Universidad Nacional Experimental Politécnica de la Fuerza
Armada
UNEFA

Introducción a la
Programación Estructurada en
Lenguaje C
PARTE I
Objetivos de Aprendizaje


Conocer las técnicas de programación estructurada.

Trabajar con estructuras secuenciales.

Conocer la anidación de bucles y condicionales.

Realizar el control de datos de entrada.
Lenguaje C
C  es  un  lenguaje  de  programación  creado  en  1972  por  Dennis 
M. Ritchie en los Laboratorios Bell como evolución del anterior 
lenguaje B, a su vez basado en BCPL.

Es  un  lenguaje  orientado  a  la  implementación  de  Sistemas 


Operativos,  concretamente  Unix.  C  es  apreciado  por  la 
eficiencia  del  código  que  produce  y  es  el  lenguaje  de 
programación  más  popular  para  crear  software  de  sistemas, 
aunque también se utiliza para crear aplicaciones.
Características de C
Lenguaje de propósito general ampliamente utilizado
Presenta características de bajo nivel: trabaja con direcciones 
de memoria (punteros)
Estrechamente asociado con el sistema operativo UNIX: UNIX 
y su software fueron escritos en C
Lenguaje pequeño: sólo ofrece sentencias de control sencillas y 
funciones
No  ofrece  mecanismos  de  E/S  (entrada/salida)  nativas  del 
lenguaje, se ofrecen como funciones de biblioteca.
Programas  portables:  pueden  ejecutarse  sin  cambios  en 
multitud de computadores
Permite programación estructurada y diseño modular
Primer Programa en C
Comentarios en C
Identificadores

El identificador es el nombre definido por el programador que se 
asigna a los datos (variables) y funciones dentro de un programa.
Puede  incluir  los  dígitos  (del  0  al  9),  las  letras  (mayúsculas  y 
minúsculas son distintas) y el guión bajo ('_'). 

No puede empezar por un dígito.

Ejemplos: x, y1, nombres, area, suma_1, valor_medio.
Palabras Reservadas
Identificadores con significado predefinido estándar

No pueden ser usadas como identificadores del programador

Variables

Identificador  utilizado  para  representar  un  cierto  tipo  de 


información.

En su forma más sencilla para representar un dato individual:
­ Una cantidad numérica
­ Un carácter alfanumérico

Hace  referencia  a  unas  posiciones  de  memoria  que  contendrán 


un dato de un tipo determinado.

A cada variable se le asigna un tipo de dato.
Variables

Una  variable  puede  almacenar  diferentes  valores  en  distintas 


partes del programa (sentencias de asignación)

No cambia el tipo de dato almacenado

Ejemplos de variables válidas: numero, _color, identificador_1

Las siguientes variables son todas distintas: pi PI Pi pI
Declaración de Variables

Una  declaración  asocia  un  tipo  de  datos  determinado  a  una 


variable.

Reserva las posiciones de memoria que contendrá el valor que tenga 
la variable en cada momento

Toda variable usada en un programa debe ser declarada al principio 
del mismo (después de ‘{’)

El formato de una declaración es:
tipo_de_datos var1, var2, ..., varN;
Ejemplos: int x; 
int num1, num2;
char letra;
Tipos de Datos en C
Ejemplos de Declaración de Variables
Entrada y Salida
Entrada y Salida
Entrada y Salida
Entrada y Salida
Entrada y Salida
Entrada y Salida
Entrada y Salida
Operadores
Operadores
Operadores
Son elementos que relacionan de forma diferente, los valores de una 
o  mas  variables  y/o  constantes.  Es  decir,  los  operadores  nos 
permiten manipular valores. 
Programación Estructurada
La característica principal de la programación
estructurada es que se basa en el uso únicamente de
tres estructuras de control y se apoya en los siguientes
conceptos:

♦ Recursos Abstractos: Son los recursos que se tienen en


el momento de programar y que se irá transformando en
recursos concretos.
♦ Diseño Descendente (top down): Se trata de ir
descomponiendo el problema en niveles o pasos cada vez
más sencillos, de forma que la salida de una etapa va a
servir de entrada para la siguiente.
♦ Estructuras Básicas de Control: Para construir un
programa se siguen los pasos de razonamientos anteriores y
al final se codifica el programa usando tres tipos de
estructuras: repetitivas, alternativas y secuenciales.
Estructuras Secuenciales

En las estructuras secuenciales una instrucción sigue a


otra en secuencia, es decir, la salida de una instrucción
es la entrada de la siguiente.

int meses = 2;
int total = 0;
total = meses * 5;
printf("El total es %d, ", total);
return total;
Estructuras Alternativas

En este tipo de estructuras se evalúa una condición y


en función del resultado lógico (verdadero o falso) u
otro se ejecuta un conjunto de instrucciones.

int a = 10;

if ( a%2 == 0)
{
printf("\nEl número %d es par", a);
}
Estructuras Alternativas

Switch-case: Una instrucción switch (alternativa


múltiple) permite seleccionar, por medio de una
expresión, el siguiente bloque de instrucciones a
ejecutar de entre varios posibles. Se usa en conjunto
con sentencias como case, default y break,

int dia = 2;

switch ( dia )
{
case 1 : printf( "\n Lunes" );
break;
case 2 : printf( "\n Martes" );
break;
default : printf( "\n ERROR: Día incorrecto." );
}
Estructuras Repetitivas

Las estructuras repetitivas o de ciclo representan un


bucle o conjunto de instrucciones que se repiten un
número finito de veces. Cada repetición del bucle se
conoce como iteración.
Todo bucle tiene asociada una condición, que es la que
va a determinar si debe ejecutarse el bucle y hasta
cuando.

Existen tres tipos básicos de estructuras repetitivas:

♦ Mientras-hacer (while)
♦ Repetir-hasta (repeat until)
♦ Desde (for)
Estructuras Repetitivas

Mientras-Hacer (while): En la estructura repetitiva


Mientras-Hacer, la condición de entrada al ciclo se
evalúa antes de realizar cualquier iteración del bucle.
Si la condición no se cumple, el ciclo no se ejecuta y
el programa continua con la secuencia de acciones
siguientes al ciclo.

int num;

num = 0;
while (num<=10)
{
printf(“Repetición numero %d\n”, num);
num = num + 1;
};
Estructuras Repetitivas

Repetir-Hasta (do-while): En la estructura


repetitiva Repetir-Hasta, la condición del ciclo se
evalúa después de realizar la primera iteración del
bucle. Este bucle se repite mientras la condición
evaluada al final se mantenga falsa. Como la
condición se evalúa al final, se pasa al menos una vez
por el bucle.
int contador;

contador = 1;
do
{
printf( "%d ", contador );
contador++;
} while ( contador <= 10 );
Estructuras Repetitivas

Desde (for): La estructura repetitiva Desde, se usa


cuando se sabe el número exacto de veces que se va
a ejecutar el bucle. En cada iteración del bucle, la
variable índice se actualiza automáticamente y
cuando alcanza el valor que se ha establecido como
final, se termina la ejecución del bucle.

int indice;

for (indice = 1; indice<=10; indice++)


{
printf(“Número %d\n”, indice);
};
Estructuras Anidadas

Las estructuras selectivas, como los bucles, se


pueden escribir unas dentro de otras. Esto se conoce
como estructuras anidadas.

En otras palabras, por ejemplo un ciclo “desde”


puede tener dentro de sus sentencias otro ciclo
“desde” o cualquier otra estructura estudiada
anteriormente. También se pueden hacer anidaciones
de estructuras condicionales.
Anidación de Condicionales
La anidación condicional se utiliza para evaluar un conjunto
de condiciones de forma secuencial y separada. Cuando
una condición se cumple, no hay por que evaluar las
condiciones que le siguen.

int num = 5; l
Anidado int num = 5; lSin anidar

if(num==5){ if(num==5){
printf(“Condición 1”); printf(“Condición 1”);
} }
else{
if(num<5){ if(num<5){
printf(“Condición 2”); printf(“Condición 2”);
} }
else if(num>5){
printf(“Condición 3”); if(num>5){
} printf(“Condición 3”);
} }
Bucles Anidados

Al anidar bucles hay que tener en cuenta que el bucle


interno funciona como una sentencia más en el bloque del
bucle externo, por lo tanto, en cada iteración del bucle
externo se van a ejecutar todas las iteraciones del bucle
interno.

int i,j;
for(i=1;i<=10;i++)
{
for(j=0;j<=10;j++) {
printf("En el bucle ",j);
}
}
Ejercicio

Elaborar un programa que lea un número y calcule la


sumatoria del mismo. Si el número no es mayor que cero
debe indicar un error.
#include <stdio.h>
int main()
{
int n, a=0,i;
printf( "Introduzca un numero entero mayor que cero:");
scanf( "%d", &n );

if ( n <0 ){
printf( "error! el numero es menor que cero\n");
return;

}else{

for(i=0;i<=n;i++){
a+=i;
}
}
printf( "Sumatoria= %d\n",a);
}
Gracias
por su
Atención

Você também pode gostar