ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Introducción a la programación en C++

palomaarmendariz10 de Septiembre de 2012

16.967 Palabras (68 Páginas)524 Visitas

Página 1 de 68

Introducción a la programación en C++

Algoritmos, diagramas de flujo y programas

Problemas y algoritmos :

Casi inconscientemente, los humanos efectuamos cotidianamente una serie de pasos, procedimientos y acciones que nos permiten alcanzar un resultado o resolver un problema.

Esta serie de pasos, procedimientos o acciones, comenzamos a aplicarlas muy temprano en la mañana cuando, por ejemplo, decidimos tomar un baño. Posteriormente cuando pensamos en desayunar también seguimos una serie de pasos que nos permiten alcanzar un resultado específico : tomar el desayuno. La historia se repite innumerables veces durante el día. Continuamente seguimos una serie de pasos o conjunto de acciones que nos permiten alcanzar un resultado. Estamos en realidad aplicando un algoritmo para resolver un problema.

“Formalmente definimos un algoritmo como un conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema”.

Muchas veces aplicamos el algoritmo de manera inadvertida, inconsciente o automáticamente. Esto generalmente se produce cuando el problema que tenemos enfrente lo hemos resuelto con anterioridad un gran número de veces.

Supongamos que simplemente tenemos que abrir una puerta. Lo hemos hecho tantas veces que difícilmente nos ponemos a enumerar los pasos para alcanzar este objetivo. Lo hacemos de manera automática. Lo mismo ocurre cuando queremos subirnos a un automóvil, cuando tenemos que lustrar nuestros zapatos, cuando nos calzamos, cuando nos vestimos, cuando tenemos desafortunadamente que cambiar la llanta de un automóvil o, simplemente cuando queremos tomar un vaso con agua.

Por otra parte, existe una gran cantidad de problemas que requieren de un análisis profundo y de un pensamiento flexible y estructurado para su solución. En estos apuntes nos interesa abordar ese tipo de problemas. Invariablemente surgen ciertas preguntas :

• ¿Podemos enseñar a resolver un problema?

• ¿Podemos enseñar a analizar el mismo?

• ¿Podemos enseñar a pensar……?

Lógicamente las respuestas a estas interrogantes son difíciles de obtener. No existen reglas específicas que nos permitan resolver un problema. Sin embargo, que se pueden ofrecer un conjunto de técnicas y herramientas metodológicas que permiten flexibilizar y estructurar el razonamiento utilizado en la solución de un problema. Eso provocará finalmente la construcción de algoritmos eficientes.

Ejemplo :

Construye un algoritmo para preparar “Pechugas de pollo en salsa de elote y chile poblano”.

Ingredientes (para 6 personas) :

3 pechugas deshuesadas, sin piel y partidas a la mitad.

1 diente de ajo.

4 gramos de pimienta negra.

Sal .

6 cucharadas de aceite.

5 chiles poblanos asados limpios.

½ taza de leche.

¼ taza de crema ligera.

1 lata de crema de elote.

Algoritmo (preparación) :

• Muele el ajo, la pimienta y un poco de sal y úntaselo a la pechuga.

• Calienta el aceite y dora las pechugas.

• Licua los chiles con leche y crema, y mézclalos con la crema de elote.

• En una fuente coloca las pechugas y báñalas con la mezcla anterior.

• Cubre el platón con papel aluminio y hornea a 200º c, durante 15 minutos.

Nota :

El algoritmo fue probado repetidas veces y siempre arrojó el mismo resultado : un platillo exquisito.

En la siguiente figura podemos observar las etapas que debemos seguir para la solución de un problema :

Etapa 1 Etapa 2 Etapa 3

Etapas de solución del problema

Nota :

Precisión : los pasos a seguir en el algoritmo deben ser precisos claramente.

Determinismo : El algoritmo, dado un conjunto de datos idénticos de entrada, siempre debe arrojar los mismos resultados.

Finitud : El algoritmo, independientemente de la complejidad del mismo, siempre debe ser de longitud finita.

Por otra parte, un algoritmo consta de tres secciones o módulos principales.

En la figura siguiente podemos observar las secciones que constituyen un algoritmo :

Módulo 1 Módulo 2 Módulo 3

Diagramas de flujo :

Un diagrama de flujo representa la esquematización gráfica de un algoritmo. En realidad muestra gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema. Su correcta construcción es sumamente importante porque a partir del mismo se escribe un programa en algún lenguaje de programación. Si el diagrama de flujo está completo y correcto, el paso del mismo a un lenguaje de programación es relativamente simple y directo.

Existen varios símbolos, pero aquí, nada más usaremos los siguiente para explicar el proceso de solución de un problema :

O

Ejemplo : Calcular el promedio de tres números :

Ejercicios :

1. Determina un procedimiento paso-a-paso (enumera los pasos) para efectuar las siguientes tareas. El ejercicio se ha diseñado para que practiques la conversación de comandos de tipo intuitivo a algoritmos equivalentes y que efectúe el cambio entre los procesos mentales involucrados entre las dos maneras diferentes de pensar).

a. Cambiar una llanta desinflada.

b. Hacer una llamada por teléfono.

c. Acceder una computadora.

d. Hornear un pavo.

2. Determine y escriba un algoritmo (mostrando los pasos a seguir) para intercambiar el contenido de dos tazas de líquido. Supón que una tercera taza está disponible para depositar el contenido de cualquier taza, temporalmente. Cada taza deberá enjuagarse antes de vaciar cualquier líquido nuevo en ella.

Conceptos fundamentales

En esta sección trataremos algunos conceptos que son fundamentales para la construcción de algoritmos, diagramas de flujo y programas. Primero analizaremos los tipos de datos, luego estudiaremos los conceptos de identificador, constantes y variables, más adelante analizaremos las operaciones aritméticas y expresiones lógicas. Por último estudiaremos los bloques de asignación.

Tipos de datos :

Los datos a procesar por una computadora pueden clasificarse en :

• Simples.

• Estructurales.

La principal característica de los datos simples es que ocupan sólo una casilla de memoria :

Identificador

Por lo tanto, una variable simple hace referencia a un único valor a la vez. Dentro de este grupo de datos se encuentran : enteros, reales, caracteres, booleanos, enumerados y subrangos (los dos últimos no existen en algunos lenguajes de programación).

Los datos estructurados se caracterizan por el hecho de que con un nombre (identificador de variable estructurada) se hace referencia a un grupo de casillas de memoria. Es decir, un dato estructurado tiene varios componentes :

Identificador

Cada uno de los componentes puede ser a su vez un dato simple o estructurado. Sin embargo, los componentes básicos (los de nivel más bajo) de cualquier tipo estructurado son datos simples. Dentro de este grupo de datos se encuentran : los arreglos, cadena de caracteres, registros y conjuntos.

A continuación trataremos los datos simples : enteros, reales, caracteres y booleanos :

Datos numéricos :

Dentro de los tipos de datos numéricos encontraremos los enteros y los reales. Los enteros son números que pueden estar precedidos del signo + o -, y que tienen una parte decimal. Por ejemplo :

128 1528 -714 8530 16235 -14780

Los reales son números que pueden estar precedidos del signo + o -, y que tienen una parte decimal. Por ejemplo :

7.5 128.0 -37.876 129.7 16000.50 -15.0

Datos alfanuméricos :

Dentro de este tipo de datos encontramos los de tipo carácter (simple) y cadena de caracteres (estructurado). Son datos cuyo contenido pueden ser letras del abecedario (a, b, c,,…..,z), digitos (0, 1, 2,….,9) o símbolos especiales (#, $, *, %, &, /, ¡, +, -, …….,etc). Debemos remarcar que aunque este tipo de datos pueden contener números, no pueden ser utilizados para realizar operaciones aritméticas.

Un dato tipo carácter contiene un solo carácter, y se escribe entre apóstrofes.

Por ejmplo :

‘a’ ‘B’ ‘$’ ‘9’ ‘-‘ ‘#’ ‘f’

Un dato de tipo cadena de caracteres contiene un conjunto de caracteres, y se escribe entre comillas. La longitud de la cadena depende de los lenguajes de programación, aunque normalmente se acepta una longitud máxima de 255.

“abcde” “$9#7”

...

Descargar como (para miembros actualizados) txt (65 Kb)
Leer 67 páginas más »
Disponible sólo en Clubensayos.com