OBJETIVOS MARCO TEORICO

Anuncio
UNIVERSIDAD TECNOLÓGICA DE LOS ANDES
INGENIERÍA DE SISTEMAS E INFORMÁTICA
ALGORITMOS Y ESTRUCTURAS DE DATOS
DOCENTE: Ing. Ronald Rentería Ayquipa
OBJETIVOS



Realizar la ejecución de su primer programa en el entorno Borland C++.
Realizar sus primeros programas de estructura secuencial aplicando las diferentes etapas del
desarrollo de programas.
Compilar y ejecutar los algoritmos en Pseint, DFD y Borland C++
MARCO TEORICO
VARIABLES EN C++.
Una variable es un símbolo que como su nombre lo indica, puede cambiar de contenido a lo largo de una
determinada operación. Una variable corresponde a un área reservada en la memoria principal del
computador:
suma = a + b
Variable dependiente
Ejemplo 1:
a
b
c
a
b
c
a
b
c
=
=
=
=
=
=
=
=
=
Variables independientes
Ejemplo 2:
10
20
5
a+3
b+4–a
a+b+c
a+c
4
c+3-b+2
a
b
c
d
a
b
c
d
a
=
=
=
=
=
=
=
=
=
18
18
18
18
a+b
a-b
a+b
a-b
a-b
Después de tener clara la definición de una variable ahora aprenderemos las reglas para
una correcta declaración de una variable.
a. Una variable siempre tendrá como carácter inicial una letra de la A-Z en mayúscula o
minúscula, o también el símbolo _, pero no un número.
b. Luego la variable podrá tener como carácter siguiente cualquier letra mayúscula o
minúscula, número o el símbolo _.
c. No se podrá declarar una con el mismo nombre más de una vez, así se declare con distinto
tipo de dato.
d. Dos variables serán diferentes si alguno de sus caracteres no son iguales, los caracteres en
mayúscula y minúscula se consideran como diferentes, ejemplo la variable Edad es
diferente a la variable edad. Ejemplo
Universidad Tecnológica de los Andes
Fundamentos de Programación
1/13
Ingeniería de Sistemas e Informática
Ing. Ronald Rentería A.
Veamos algunos ejemplos declaración de variables correctas e incorrectas.
Variable
Suma
Correcto
numero
Correcto
_edad
Correcto
$edad
Incorrecto
(Comienza con el símbolo $)
Número
Incorrecto
(La variable tiene tilde)
_nombre
Correcto
1digito
Incorrecto
(Comienza con un número)
digito1
Correcto
Ojo que las variables, tienen como función almacenar valores, recuerda que valor que toma una variable,
puede cambiar a lo largo de la ejecución del programa.
TIPOS DE DATOS PREDEFINIDOS EN C++.
Los tipos de datos predefinidos en C++, son: tipos enteros, tipos reales, y tipos carácter. El en C++
estos tipos de datos los escribimos y representamos de la siguiente manera:
Tipo De Dato
Tamaño en bits
Rango
unsigned char
8 bits
0 a 255
char
8 bits
-128 a 127
Enum
16 bits
-32,768 a 32,767
unsigned int
16 bits
0 a 65,535
short int
16 bits
-32,768 a 32,767
Int
16 bits
-32,768 a 32,767
unsigned long
32 bits
0 a 4,294,967,295
Long
32 bits
-2,147,483,648 a 2,147,483,647
float
32 bits
3.4 * (10**-38) a 3.4 * (10**+38)
double
64 bits
1.7 * (10**-308) a 1.7 * (10**+308)
Long double
80 bits
3.4 * (10**-4932) a 1.1 * (10**+4932)
DECLARACIÓN DE VARIABLES.
Para poder declarar una variable en C++, debemos de tener en cuenta lo tocado anteriormente en
el tema de variables.
La declaración de variables es muy sencilla ya que solo anteponiendo un tipo de dato a una
variable, ya se tiene declarada una variable.
Ejemplos:
int edad;
float pi = 3.1416;
char caracter;
char cadena[10];
tipo entero.
tipo coma flotante.
tipo carácter.
esta declaración nos indica una variable llamada cadena que puede
tener hasta 10 caracteres como máximo.
ASIGNACION DE VALOR A LAS VARIABLES.
Para asignar valor a una variable debemos considerar que al lado izquierdo siempre va una variable y al
lado derecho el valor de la variable, otra variable o una operación.
a=b
a = 10
Variable
Valor de variable
Universidad Tecnológica de los Andes
Variable
Variable
Fundamentos de Programación
2/13
Ingeniería de Sistemas e Informática
Ing. Ronald Rentería A.
s=a+b
Variable
Operación
ESTRUCTURA DE UN PROGRAMA.
Como todo tiene un orden en esta vida, la estructura de un programa en Borland C++, también
tiene su orden que se tiene que respetar ya que si no se sigue dicho orden puede que al momento
de ejecutar el programa nos aparezca un error, bueno a continuación detallamos la estructura y
algunas características que en estas se presentan.
#include <conio.h>
#include <iostream.h>
Inclusión de librerías
PARTE 1
void main()
{
//...
}
Función Principal
Y
Cuerpo del programa
PARTE 2
NOTA: Sobre los comentarios.
Estos comentarios no son tomados en cuenta por el compilador, es decir que no importa lo que
se escriba en estos comentarios.
Comentario Corto: Los comentarios cortos se representan mediante dos barras //. Solo se
puede escribir en una línea, ejemplo:
// Este es un comentario corto
Comentario Largo: Los comentarios largos se representan mediante una barra y un asterisco
juntos, para hacer un comentario largo tenemos que abrir y cerrar este comentario, lo abrimos
mediante la barra y el asterisco /* y lo cerramos con el asterisco y la barra */, todo lo que este
dentro de estos símbolos no serán tomados en cuenta por el compilador del programa, ejemplo:
/*
Así se abre el comentario largo.
Este es un comentario largo, y puedo escribir en esta línea,
En esta otra línea también puedo escribir.
Así se cierra el comentario largo
*/
Ambas partes tanto la 1 como la 2 son siempre necesarias para realizar un programa útil.
En la PARTE 1, tenemos la inclusión de librerías, esta parte no es indispensable, ya que podemos
hacer programas sin usar librerías.
En la PARTE 2, la función principal main y el cuerpo del programa, esta es la parte más importante
de un programa, La función main() es indispensable ya que en esta parte se ejecutan las órdenes o
sentencias del programa, sin esta función un programa nunca se podrá ejecutar, el cuerpo del
programa, esta es la parte en la cual van las sentencias, declaración de variables, etc., es decir
nuestro programa.
Universidad Tecnológica de los Andes
Fundamentos de Programación
3/13
Ingeniería de Sistemas e Informática
Ing. Ronald Rentería A.
JERARQUIA DE OPERADORES.
El orden de prioridad de operadores es similar al orden de prioridad de operadores usados en las
matemáticas, con la pequeña diferencia que en este caso solo se utilizan paréntesis para anidar
operaciones, veamos:

Primero se realizan las operaciones encerradas entre paréntesis, desde las más internas.

Luego se realizan las operaciones de potenciación y radicación.

Después se resuelven las multiplicaciones y divisiones.

Y por último las sumas y las restas.
Para agrupar una expresión dentro de otra, solo se utilizan los paréntesis, como mencionamos
anteriormente, Ejemplo:
x=(((a+b)*c)+d)-(a-b)/(c*d)
Donde: x, a, b, c, d son las variables.
Las operaciones principales como son suma, resta, multiplicación, división, también el resto de
la división (residuo) se representan de la siguiente manera.
OPERADOR
Suma
Resta
Multiplicación
División
Resto División
SIMBOLO
+
* (asterisco)
/ (slash)
% (porcentaje)
EJEMPLO
2+3=5
5-3=2
3*8=24
10/5=2
5%3=2
La potenciación y radicación son funciones implementadas en C++, se representan de la
siguiente manera:
Función
Pow
Sqrt
Representación
Ejemplo
pow(base,pot)
sqrt(rad)
pow(5,2)=25
sqrt(4)=2
Forma
Matemática
5²
√4 = 2
Las funciones pow y sqrt devuelven el valor de un número elevado a una potencia y la raíz
cuadrada de un número respectivamente, veamos un ejemplo:
raiz=sqrt(15);
potencia=pow(2,5);
ENTRADA Y SALIDA DE DATOS (E/S).
ENTRADA O INGRESO DE DATOS:
El ingreso de datos nos permite almacenar un dato (un número o una cadena de
caracteres), ingresado desde el teclado, en una variable.
Universidad Tecnológica de los Andes
Fundamentos de Programación
4/13
Ingeniería de Sistemas e Informática
Ing. Ronald Rentería A.
El ingreso de datos se realiza mediante el flujo cin, acompañado del operador >>, ahora
para que podamos ingresar un dato solo tenemos escribir el siguiente código:
cin>>nombre_variable;
En C, el ingreso de datos es a través la palabra scanf, de la siguiente manera:
scanf(“%formato”,&nombre_variable);
Los formatos los especificamos a continuación.
%d indica que la variable que se ingresará es entera.
%f indica que la variable es de tipo float.
%c indica que la variable es de tipo carácter.
%s indica que la variable es de una cadena de caracteres.
%lf indica que la variable es un real de doble precisión (double)
%ld indica que la variable es un entero largo (long)
Siempre se direcciona la la variable con el operador &.
SALIDA DE DATOS:
La salida de datos nos sirve para visualizar por pantalla algún dato o resultado obtenido de
alguna operación.
De forma similar al ingreso de datos, la salida de datos utiliza el flujo cout, acompañado del
operador <<, de la siguiente manera.
cout<<nombre_variable;
O también:
cout<<”Podrá Escribir cualquier mensaje”;
En este caso se visualizará en la pantalla lo que está escrito entre comillas.
En C, para imprimir o mostrar el valor de alguna variable se usara la palabra printf, de la
siguiente manera.
printf(“%formato”,nombre_variable);
Los formatos se usan de la misma manera tanto para el scanf y el printf.
COMPILACIÓN Y EJECUCIÓN DE PROGRAMAS.
La compilación y ejecución de un programa son pasos muy importantes ya que con estos podremos ver los
resultados o los errores que cometimos durante la edición del programa.
Para poder compilar un programa sólo bastará con presionar las teclas Alt+F9, cuando realicemos esta
operación la computadora nos informará si existe algún error, en caso que lo hubiera nos indicara una
posibilidad de donde se ubique el error.
Para ejecutar un programa presionaremos las teclas Ctrl+F9, si no existe ningún error podremos ver los
resultados del código fuente escrito, en caso no fuera así se tendrá que depurar los errores uno por uno
hasta que no quede ninguno.
Universidad Tecnológica de los Andes
Fundamentos de Programación
5/13
Ingeniería de Sistemas e Informática
Ing. Ronald Rentería A.
El proceso de compilación consiste en traducir un programa fuente escrito en lenguaje de alto nivel en su
correspondiente programa objeto, para luego enlazarlo con las librerías del C++, obteniéndose así un
programa ejecutable; además de este proceso se encarga de la detección de errores de escritura del
programa fuente.
ESTRUCTURA SECUENCIAL.
Es la estructura más sencilla que existe para dar la solución a un problema por computador. Esta estructura
simplemente deja guiar en forma consecutiva una solución de un problema, es decir se utiliza en aquellos
casos en donde se da solución a fórmulas.
EJERCICIOS DEMOSTRATIVOS
MI PRIMER PROGRAMA - HOLA MUNDO.
Llegamos a la parte más interesante, Mi Primer Programa – Hola Mundo, este es un programa sencillo
pero vital e interesante para que pueda comprender el comportamiento de los programas, aquí
aplicaremos lo que hemos aprendido, copia este programa tal y como está en el editor del Borland C++ y
luego de copiarlo, compílalo y ejecútalo.
/*******************************
INICIO DEL PROGRAMA
MI PRIMER PROGRAMA
*******************************/
#include<iostream.h>
#include<conio.h>
//----> LINEA 1
// ----> LINEA 2
void main()
{
clrscr();
// ----> LINEA 3
// ----> LINEA 4
// ----> LINEA 5
}
cout<<"HOLA MUNDO";
// ----> LINEA 6
getch();
// ----> LINEA 7
// ----> LINEA 8
IMPORTANTE:
Toda sentencia terminará con un punto y coma (;), en caso de no ser así el
compilador nos enviará uno o más errores.
EXPLICACION:
Te ofreceremos una breve explicación, esta explicación te indicará como es que este programa se
ejecuta exactamente.
Universidad Tecnológica de los Andes
Fundamentos de Programación
6/13
Ingeniería de Sistemas e Informática
Ing. Ronald Rentería A.
Primeramente tiene que saber que lo que se ejecuta en un programa, es lo que se encuentra
dentro de la función principal (main()), es decir que primero se busca la función main(), si esta no se
encuentra, el programa no se podrá ejecutar y enviará un mensaje de error, luego se ejecuta una
por una las líneas de código existentes.
Luego de esta explicación deberás haber entendido a la perfección el programa, si no es así siga
leyendo la explicación junto con el código.
LINEA 1:
Se tiene la librería conio.h, que contiene a las funciones clrscr() y getch().
LINEA 2:
cout y cin.
Esta es la librería iostream.h, esta librería contiene los flujos de entrada y salida
LINEA 3:
Esta línea nos muestra la función principal main, esta línea es indispensable para
cualquier programa.
LINEA 4:
La llave “ { “ nos indica el inicio del programa.
LINEA 5:
programa.
La función clrscr(), se encarga de limpiar la pantalla en cada ejecución del
LINEA 6:
En esta línea gracias al flujo cout<<, podemos visualizar en la pantalla lo escrito
entre comillas.
LINEA 7:
La función getch(), es una pausa para ver los resultados, gracias a este podemos ver
los resultados del programa.
LINEA 8:
La llave “ } ” nos indica el fin del programa.
ETAPAS EN LA IMPLEMENTACIÓN DE UN ALGORITMO.
Ejercicio 1.
Hacer un algoritmo para calcular el área de un triángulo rectángulo.
Solución:
Pasos:
01. Análisis del problema:
Para calcular el área de un triangulo rectángulo requerimos conocer la fórmula matemática:
Altura
Base
Área de triangulo rectángulo 
basexaltur a
2
02. Declaración de variables:
Entrada
Base, altura : reales
Universidad Tecnológica de los Andes
Fundamentos de Programación
7/13
Ingeniería de Sistemas e Informática
Ing. Ronald Rentería A.
Salida
Area : real
03. Pseudocódigo :
// Problema nº 01
// Desarrollado por: Nombre y apellidos Grupo
// Calcula el área de un triángulo rectángulo
Inicio
// lectura de variables de entrada
Leer (Base,altura)
// Proceso del cálculo del área
Area← (base * altura)/2
// Salida de variable
Escribir (Area)
Fin
04. Prueba de Escritorio.
Ingrese los siguientes datos y verifique las respuestas:
Base
5
3
35.5
Altura
5
9
12
Área = (Base x Altura)/2
12.5
13.5
213
05. ETAPAS DE COMPILACIÓN:
Ahora debemos convertir nuestro algoritmo a los diferentes lenguajes de programación para poder
compilarlo, ejecutarlo y si es necesario modificarlo.
PSEINT
En este programa se escribe el pseudocódigo generado anteriormente con algunas modificaciones propias
del programa.
1. Escribir el siguiente código en PSeInt
Proceso sin_titulo
// lectura de variables de entrada
Leer base
Leer altura
// Proceso del cálculo del área
Area <- (base*altura)/2
// Salida de variable
Escribir Area
FinProceso
Universidad Tecnológica de los Andes
Fundamentos de Programación
8/13
Ingeniería de Sistemas e Informática
Ing. Ronald Rentería A.
2. Para ejecutar el código presionar el icono correspondiente en la barra de herramientas
o presionar F9.
DFD
1. Ingreso de comentarios en el inicio, para realizar este procedimiento hacer doble clic en inicio.
Inicio
2. Insertar el objeto de lectura, para seguidamente hacer doble clic e ingresar las variables de entrada.
3.
Realizar el proceso de cálculo en objeto asignación, para lo cual hacer doble clic.
4. Insertar el objeto de salida, hacer doble clic e ingresar la variable de salida.
NOTA
Para la impresión de cadena de caracteres (texto), utilizar el símbolo apostrofe ( ‘ ) (Alt + 39).
Para concatenar utilizar comas.
Universidad Tecnológica de los Andes
Fundamentos de Programación
9/13
Ingeniería de Sistemas e Informática
Ing. Ronald Rentería A.
5. Para ejecutar presiona la tecla [F9] ó haga clic en el icono de play (reproducir), seguidamente ingrese
los datos para la evaluación.
Gráfico DFD finalizado
C++
1. Escribir en BORLAND C++ 5.0, el siguiente programa:
//CABECERA
//DECLARACION DE LIBRERIAS
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
//FUNCION PRINCIPAL
main() //INICIO DEL PROGRAMA
{
//DECLARACION DE VARIABLES
float base,altura,area;
//INGRESO DE DATOS
cout<<"Ingrese la base del triangulo: ";
cin>>base;
cout<<"Ingrese la altura del triangulo: ";
cin>>altura;
//PROCESO
area=(base*altura)/2;
//SALIDA DE DATOS
cout<<"El área del triangulo es: ";
cout<<area;
getch();
}
//FIN DEL PROGRAMA
Universidad Tecnológica de los Andes
Fundamentos de Programación
10/13
Ingeniería de Sistemas e Informática
Ing. Ronald Rentería A.
2. Finalmente nos muestra una pantalla de ejecución del programa en la que debemos ingresar los datos
de entrada y nos mostrará los resultados calculados.
Ejercicio 2
Hacer un algoritmo que calcule el Promedio de 3 notas ingresadas de un alumno.
Solución:
Pasos:
01. Análisis del problema:
Para calcular el promedio de tres notas se utiliza la siguiente fórmula estadística:
Pr omedio 
nota1  nota 2  nota 3
3
02. Declaración de variables:
Entrada
nota1, nota2, nota3 : reales
Salida
promedio : real
03. Pseudocódigo :
// Problema nº 01
// Desarrollado por: Nombre y apellidos Grupo
// Calcula el área de un triángulo rectángulo
Inicio
// lectura de variables de entrada
Leer (nota1, nota2,nota3 )
// Proceso del cálculo del promedio
promedio← (nota1+nota2+nota3)/3
// Salida de variable
Escribir (promedio)
Fin
04. Prueba de Escritorio.
Ingrese los siguientes datos y verifique las respuestas:
Universidad Tecnológica de los Andes
Fundamentos de Programación
11/13
Ingeniería de Sistemas e Informática
nota1
5
12
20
nota2 nota3
10
5
15
9
18
12
Ing. Ronald Rentería A.
promedio = (nota1+nota2+nota3)/3
6.6666666666666
12
16.6666666666666
05. ETAPAS DE COMPILACIÓN:
PSEINT
Proceso PROMEDIO
// lectura de variables de entrada
Leer nota1
Leer nota2
Leer nota3
// Proceso del cálculo del área
promedio <- (nota1+nota2+nota3)/3
// Salida de variable
Escribir promedio
FinProceso
DFD
Universidad Tecnológica de los Andes
Fundamentos de Programación
12/13
Ingeniería de Sistemas e Informática
Ing. Ronald Rentería A.
C++
//CABECERA
//DECLARACION DE LIBRERIAS
#include <iostream.h>
#include <conio.h>
//FUNCION PRINCIPAL
main() //INICIO DEL PROGRAMA
{
//DECLARACION DE VARIABLES
float nota1,nota2,nota3,promedio;
//INGRESO DE DATOS
cout<<"Ingrese la nota 1: ";
cin>>nota1;
cout<<"Ingrese la nota 2: ";
cin>>nota2;
cout<<"Ingrese la nota 3: ";
cin>>nota3;
//PROCESO DEL CALCULO DEL PROMEDIO
promedio=(nota1+nota2+nota3)/3;
//SALIDA DE DATOS
cout<<"El promedio de las notas es: ";
cout<<promedio;
getch();
}
//FIN DEL PROGRAMA
Ejercicio 3
Realice en clase un algoritmo para hallar el residuo de dos números enteros ingresados por el usuario.
Universidad Tecnológica de los Andes
Fundamentos de Programación
13/13
Descargar