Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fundamentos de programación
RESUMEN
• Un programa se considera como una secuencia lógica de
instrucciones que manipulan un conjunto de objetos (datos)
para obtener unos resultados.
• Todo programa contiene dos bloques diferenciados:
• Bloque de declaraciones: se especifican los objetos que utiliza
el programa (constantes, variables, tablas, registros, etc)
• Bloque de instrucciones: conjunto de operaciones que se han
de realizar para la obtención de los resultados obtenidos.
• Las instrucciones de un programa consisten generalmente en
modificar los objetos del programa
OBJETIVOS
• Podremos identificar los conceptos básicos para poder
programar.
• Identificaremos y podremos realizar un algoritmo utilizando
diversos tipos de métodos.
• Podremos diferencial las diferentes tipos de ejercicios a los
cuales podremos realizarlos.
1. DATOS, ALGORITMOS Y LENGUAJES
CONCEPTO DE ALGORITMO
• Atributos, características
• Debe estar definido: único punto de entrada/salida, que se comprenda la
secuencia de las acciones;
• El proceso de programación es un proceso de solución de problemas, y el
desarrollo de un programa requiere las siguientes fases:
• 1-Definición y análisis del problema.
• 2-Diseño de algoritmos:
• -Diagrama de flujo
• -Diagrama N-S
• -Pseudocódigo
• 3-Codificación del programa.
• 4-Depuración y verificación del programa.
• 5-Documentación externa.
• 6-Mantenimiento.
• En todos los casos anteriores, llevar a cabo simultáneamente la adecuada
documentación interna.
• Bucles
• Un bucle o lazo (loop) es un segmento de un algoritmo o programa,
cuyas instrucciones se repiten una n cantidad de veces mientras se
cumpla una determinada condición.
• Se debe establecer un mecanismo para determinar las tareas
repetitivas; este mecanismo es una condición que puede ser
verdadera o falsa, y que se comprueba cada vez que se realiza un
paso o iteración del bucle.
• Contadores y acumuladores
• VARIABLE ACUMULADORA: Su función es acumular valores,
distintos o no, en forma parcial; valores resultantes de sumas
sucesivas. Se debe inicializar siempre, de lo contrario el valor que
esta tome va a incluir el acumulado de todas las veces que corrió el
programa. Generalmente se inicializa al comienzo o casi al final del
programa. El modo de acumularle valores es siempre el mismo:
5. INTRODUCCION A LA PROGRAMACION
ESTRUCTURADA
#include<iostream.h>
#include<conio.h> if (a<b)
#include<math.h> {z=a;}
void main (void) else z=b;
{ for (i=z;i>=1;i--)
int i,j,z,a,b; { if (a%i==0 && b%i==0)
cout<<"Ingrese el primer { cout<<" El maximo comun
numero dss : "; divisor es : "<<i<< endl;
cin>>a; break;
cout<<"Ingrese el segundo } }
numero dss : "; getch(); }
cin>>b;
• Repetición condicional; “Repetir Mientras”
Tipos primitivos
¿Queeeé?
Me
matricularon al
grupo de
Escobedo!!!
Caso 2: Estudiar es la clave,
Piense con algoritmos, coma con
algoritmos, duerma con algoritmos, viva
con algoritmos
Tengo parcial de
Algoritmos, debo
estudiar, menos mal
tengo puntos que
me deben del ciclo
pasado y los cobraré
este ciclo…
Caso 3: Confía en tí
La autoconfianza te dará la capacidad de
poder asumir nuevos retos, recuerda
eres un(a) ganador(a), tuviste que
competir ante 1’000 0000 de otros
individuos para estar en este mundo ;-)
• Secuenciales
• Selectivas
• Repetitivas
Estructuras SECUENCIALES
INICIO
Acción 1
Acción 2
Acción n
FIN
DIAGRAMA DE FLUJO
INICIO
”INGRESE UN NUMERO: ” A
” INGRESE OTRO NUMERO: ”
B
C=A+B
” EL RESULTADO ES: ” C
FIN
Código en borland c++
#include<iostream.h>
#include<conio.h>
void main(void)
{
int a,b,suma;
cout<<"Ingrese un numero:";
cin>>a;
cout<<"Ingrese otro numero:";
cin>>b;
suma=a+b;
cout<<"La suma de los valores ingresados es :"<<suma;
getch();
}
ESTRUCTURA SELECTIVA
a != b desigualdad X! = Y X es diferente de Y
INICIO
NOTA
NOTA<11
SI NO
“REPROBADO”
FIN
EJEMPLO 1
#include <iostream.h>
INICIO
NOTA
SI NO
NOTA<11
“REPROBADO” “APROBADO”
FIN
EJEMPLO 2
#include<iostream.h>
#include<math.h>
void main(void)
{
int a,b,c;
float x1,x2;
cout<<"Ingresar 1º coeficiente:";
cin>>a;
cout<<"Ingresar 2º coeficiente:";
cin>>b;
cout<<"Ingresar 3º coeficiente:";
cin>>c;
if((a==0)||(b*b-(4*a*c))<0)
{
cout<<"Nose puede procesar";
}
else
{
x1=((b*1)+pow((b*b)-(4*a*c),0.5))/(2*a);
x2=((b*-1)-pow((b*b)-(4*a*c),0.5))/(2*a);
cout<<"La solución 1º es:"<<x1<<endl;
cout<<"La solución 2 es:"<<x2;
}
}
SELECTIVA MULTIPLE
SEN T EN C IA sw itch
INICIO
DIA
1 2 3
FIN
EJEMPLO 3
include<iostream.h>
void main(void)
{
int plato;
cout<<"Ingrese numero de plato:";
cin>>plato;
switch(plato)
{case 1:cout<<"Arroz Árabe";
break;
case 2:cout<<"Pollo a la Plancha";
break;
case 3:cout<<"Pescado frito";
break;
case 4:cout<<"Pollo a la Parrilla";
break;
case 5:cout<<"Pollo al horno";
break;
case 6:cout<<"sudado de pescado";
break;
default: cout<<"No existe ese plato";
}
}
EJEMPLO 4
<sentencia_1>;
<sentencia_2>;
<sentencia_3>;
}
PROCESO DE REPETICION
REPETICION CON NUMERO DEFINIDO DE ITERACCIONES
INICIO
SI
“ ”
FIN
Diseñar un programa que permita leer un número n Positivo y luego
mostrar su factorial.
#include<iostream.h>
#include<conio.h>
void main()
{ int n, factorial=1,i;
clrscr(); gotoxy(10,4); cout<<" CALCULANDO FACTORIAL";
gotoxy(12,6);cout<<" Ingrese un numero :" ;cin>>n;
for(i=1;i<=n;i++)
factorial=factorial*i;
gotoxy(12,8);cout<<"el factorial de "<<n<<" es = "<<factorial;
getch();
}
SENTENCIA WHILE
INICIO
N=0
NO
N >=0
SI
“ Ingrese numero N ”
“ ”
FIN
Diseñar un programa que permita leer un número n entero positivo,
luego calcular su factorial e imprimir su resultado.
#include<iostream.h>
#include<conio.h>
void main()
{int fact=1,n,minumero;
gotoxy(8,4);cout<<" Ingrese un numero : ";cin>>n;
minumero=n;
while (n>0)
{ fact=fact*n;
n--; }
gotoxy(15,6);cout<<"El factorial de "<<minumero <<"es ="<<fact;
getche();
}
SENTENCIA do - WHILE
BUCLE CON SALIDA CONTROLADA
N=0
“ ”
“Ingrese numero” N
N >=0
SI
NO
FIN
EJERCICIO
Diseñar un programa que permita leer un número n y calcule la suma
acumulada de la serie: 1+2+3..n.
El usuario ingresa el número de términos a sumar.
# include < iostream.h >
#include <conio.h>
Void main()
{ int cont=1,suma=0,n;
cout<<"Ingrese numero de términos"; cin>>n;
do
{ suma+=cont;
cont++;
} while (cont<=n);
cout<<"la suma es :"<<suma;
getch();
}