INSTITUTO POLITECNICO NACIONAL

LA TÈCNICA AL SERVICIO DE LA PATRIA.

ESIME

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA

FUNDAMENTOS DE PROGRAMACION

INTRODUCCION A LA PROGRAMACION

PROGRAMACION PARA RESOLICION DE PROBLEMAS

Un problema en la computadora...

miércoles, 19 de marzo de 2014

ESTRUCTURA REPETITIVA

ESTRUCTURA REPETITIVA

El lenguaje C/C++ proporciona tres tipos de sentencias repetitivas que son conocidas como ciclos: 
 
For 
While 
Do while

Es una forma de repetir una serie de sentencia hasta que un determinado valor sea correcto:
 
Ejemplo for:
 
saber enque momento se cambia una llanta usando el repuesto.
 
En Pseudocódigo, seria así : 
Entradas: llanta
Datos adicionales:revisar daños para cambiar el repuesto
Variables:
D = Daño
Algoritmo:
Inicio
Leer (daño ocacionado)
for D >daño llanta
Escribir ("cambiar")
Fin_for
Fin
 Diagrama de Flujo:
 
 
 
 
 
 
Ejemplo while:
 
Mira, aquí un ejemplo con while que muestra la tabla de multiplicar del 1 al 10 ingresada por el usuario.
 
 #include <iostream>

using namespace std;

int main()
{
int num,cont=1;
cout<<"Ingrese un numero:";cin>>num;
while (cont<=10) //Mientras el numero sea menor a 10
{
cout<<endl<<num<<" x "<<cont<<" = "<<num*cont<<endl;
cont++;
}
cin.get();cin.get();
return 0;
 
 
 Diagrama de Flujo:
 
Do While:
 
 
La estructura do while es otra estructura repetitiva, la cual ejecuta al menos una vez su bloque repetitivo, a diferencia del while o del for que podían no ejecutar el bloque.
Esta estructura repetitiva se utiliza cuando conocemos de antemano que por lo menos una vez se ejecutará el bloque repetitivo.
La condición de la estructura está abajo del bloque a repetir, a diferencia del while o del for que está en la parte superior:

Ejemplo Do while

 

Escribir un programa que solicite la carga de un número entre 0 y 999, y nos muestre un mensaje de cuántos dígitos tiene el mismo. Finalizar el programa cuando se cargue el valor 0

 
Programado en C++:
 
#include <stdio.h>

#include <conio.h>

#include <string.h>

void main()

{

clrscr();

// declaracion variables

int x=1;

// instruccion do while

do{

gotoxy(10, x+3); printf("%d GATO",x);

x++; } while(x<=10);

getchar();

}
 
 

Estructuras selectivas

Estructuras selectivas

Simple, doble y múltiple.

La especificación formal de algoritmos tiene realmente utilidad cuando el algoritmo requiere una descripción más complicada que una lista sencilla de instrucciones. 
Este es el caso cuando existen un número de posibles alternativas resultantes de la evaluación de una determinada condición.
Estas estructuras se identifican porque en la fase de solución del problema existe algún punto en el cual es necesario establecer una pregunta, para decidir si ciertas acciones d eben realizarse o no.
Las condiciones se especifican usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if - then - else o en español si - entonces - sino) y en flujograma con una figura geométrica en forma de rombo.

ESTRUCTURAS SELECTIVAS SIMPLES.
 
Se identifican porque están compuestos únicamente de una condición. La estructura si - entonces evalúa la condición y en tal caso:
Si la condición es verdadera, entonces ejecuta la acción Si (o acciones si son varias).
Si la condición es falsa, entonces no se hace nada.
              Inglés            
If <condición> 
                         then<acción Si>                        
endif 



Ejemplo 1.
Construir un algoritmo tal, que dado como dato la calificación de un alumno en un examen, escriba "Aprobado" en caso que esa calificación fuese mayor que 8. 
Salidas: mensaje de aprobado si se cumple la condición.
 
En Pseudocódigo, seria así :
Entradas: calificación
Datos adicionales: un alumno aprueba si la calificación es mayor que 8
Variables:
Cal = calificación
Algoritmo:
Inicio
Leer (cal)
Si cal > 8 entonces
Escribir ("aprobado")
Fin_si
Fin

Algoritmo: 
Determinar a partir de la calificación dada (entero entre 0 y 10) si un alumno es APROBADO o
REPROBADO
Listado de puntos clave del problema
Datos
Condiciones
Listado de lo que se sabe
  Con calificación menor a 6 el alumno reprueba
  Estructuras selectivas
Listado de lo que no se sabe
Reporte
  Solicitar calificación
  Comparar calificación
  Mostrar si es A o R
Propuesta de solución
  Pedir la calificación al usuario, si es menor a 6 el alumno está reprobado, de lo contrario el alumno aprobó. Imprimir resultado
 
 Diagrama de Flujo:
 

 

Programado en C
#include<stdio.h>
int main ()
{
setvbuf(stdout, NULL, _IONBF, 0);
printf("Programa para Conocer si un alumno tiene calificación aprobatoria o reprobatoria\n");

float calif;
printf("Introduzca la calificación del alumno\n");
scanf("%f", &calif);

if(calif<0)
{
printf("Error en la calificación\n");

}
else
{
if (calif<6)
{
printf("Alumno reprobado");
}
else
{
if (calif<=10)
{
printf("Alumno aprobado");
}
else
{

printf("Calificación no válida");
}
}
}
return 0;
}

 


Esta toma de decisión (expresada con un rombo) se basa en la evaluación de una o  más condiciones que nos señalarán como alternativa o consecuencia, la rama a seguir.

 

 

ESTRUCTURA SECUENCIAL

ESTRUCTURA SECUENCIAL

Es aquella en donde las instrucciones del programa se ejecutaran una tras otra, en el orden en que estas aparecen sin que varíe por alguna condición.

Pseudocódigo.- Es utilizado para describir algoritmos en un lenguaje simplificado humano no depende de ningún lenguaje de programación. 

En Pseudocódigo: 
 
Inicio
         acción 1
         acción 2
             .
             .
         acción n
Fin

Ejemplo:
 Para entenderlo mejor haré un programa que reciba como entrada la base y la altura de un triángulo, el programa debe calcular el área y mostrarlo por la pantalla.  

En Pseudocódigo, seria así :
Inicio
             Escribir(“Ingrese base”)
             Leer(base)
             Escribir(“Ingrese altura”)
             Leer(altura)
             area← (base*altura)/2
             Escribir(“El área del triangulo es”, area)
Fin
 Algoritmo:
  1. Pedimos los datos de entrada que se requieren, calculamos el área y lo mostramos por pantalla.
  2. Escribir(“ ”)  : Lo que este dentro de los paréntesis es lo que se mostrara en pantalla
  3. Leer() : Aquí se lee el dato ingresado por teclado en la variable que esta dentro del paréntesis.
  4.  ←  : la flecha nos indica que el valor que se encuentra en la parte derecha será asignada a la variable (la variable es la que contiene el dato)  que se encuentra al lado izquierdo.
     Diagrama de Flujo:
     
    Programado en c++
    #include<iostream.h>

    int main(){

    int base;
    int altura;
    float area;

    cout<<"Ingrese base : ";
    cin>>base;
    cout<<"Ingrese altura : ";
    cin>>altura;
    area=(base*altura)/2.0;

    cout<<"El area del triangulo es :"<<area<<endl;
      
    system("pause");
    return 0;   
    }
     
  En Estructuras secuenciales como ves cada  instrucción se ejecutara una tras otra si que varia dicha secuencia.
En caso de no aber una intruccion on o completar una de las intrucciones elprogramadeja de ejecutarse y nosigue la secuencia de aeui su nombre estructura secuencial