Introducción a los algoritmos¿Qué son los algoritmos y por qué deberían importarte? Vamos a empezar con una visión general de los algoritmos y después discutir dos juegos en los que podrías usar un algoritmo para resolverlos de una manera más eficiente: el juego de adivinar un número y un juego para encontrar un camino.
Introducción a los algoritmos¿Qué son los algoritmos y por qué deberían importarte? Vamos a empezar con una visión general de los algoritmos y después discutir dos juegos en los que podrías usar un algoritmo para resolverlos de una manera más eficiente: el juego de adivinar un número y un juego para encontrar un camino.
1.Algoritmos
1Concepto e importancia
Es un conjunto de pasos lógicos y estructurados que nos
permiten dar solución aún problema.
La importancia de un algoritmo radica en desarrollar un
razonamiento lógico matemático a través de la comprensión
y aplicación de metodologías para la resolución de
problemáticas, éstas problemáticas bien pueden ser de la
propia asignatura o de otras disciplinas como matemáticas,
química y física que implican el seguimiento de algoritmos,
apoyando así al razonamiento critico deductivo e inductivo.
No podemos apartar nuestra vida cotidiana los algoritmos,
ya que al realizar cualquier actividad diaria los algoritmos
están presentes aunque pasan desapercibidos, por ejemplo:
Al levantarnos cada día para hacer nuestras labores hacemos
una serie de pasos una y otra vez; eso es aplicar un
algoritmo.
1.3 Estructura de un Algoritmo
Todo algoritmo consta de tres secciones principales:
Entrada: Es la introducción de datos para ser transformados.
Proceso: Es el conjunto de operaciones a realizar para dar
solución al problema.
Salida: Son los resultados obtenidos a través del proceso.
Entrada Proceso Salida
Un algoritmo, en informática,
particularmente en programación, es un conjunto de pasos para lograr un
resultado, por lo general, un algoritmo tiene datos de entrada, proceso de
datos, y datos de salida, por ejemplo, el siguiente es un algoritmo muy
sensillo que suma dos números que ingresas por el teclado:
En matemáticas, ciencias de la
computación y disciplinas relacionadas, un algoritmo (del latín, dixit
algorithmus y éste a su vez del matemático persa al-Jwarizmi) es una lista bien
definida, ordenada y finita de operaciones que permite hallar la solución a un
problema. Dado un estado inicial y una entrada, a través de pasos sucesivos y
bien definidos se llega a un estado final, obteniendo una solución. Los
algoritmos son objeto de estudio de la algoritmia.
En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver diversos problemas. Algunos ejemplos se encuentran en los instructivos (manuales de usuario), los cuales muestran algoritmos para usar el aparato en cuestión o inclusive en las instrucciones que recibe un trabajador por parte de su patrón. También existen ejemplos de índole matemático, como el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para calcular el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un Sistema lineal de ecuaciones.
La importancia de un algoritmo radica en mostrar la manera de llevar a cabo procesos y resolver mecánicamente problemas matemáticos o de otro tipo. Al igual que las funciones matemáticas, los algoritmos reciben una entrada y la transforman en una salida, comportándose como una caja negra. Sin embargo, no toda caja negra que convierta una entrada en una salida se puede considerar un algoritmo: para que un algoritmo pueda ser considerado como tal, debe ser una secuencia ordenada, finita y definida (formalización de su comportamiento) de instrucciones. De este modo se puede seguir y predecir el comportamiento del algoritmo para cualquier entrada posible (salvo algoritmos probabilistas, que tiene usualmente una salida distinta), a partir del seguimiento de esa secuencia de instrucciones, que como es ordenada y definida, no da lugar a ambigüedades y puede seguirse su traza.
El concepto de algoritmo, aunque similar y obviamente relacionado, no debe confundirse con el concepto de programa. Mientras el primero es la especificación de un conjunto de pasos (operaciones, instrucciones, órdenes,...) orientados a la resolución de un problema (método), el segundo es ese conjunto de operaciones especificadas en un determinado lenguaje de programación y para un computador concreto, susceptible de ser ejecutado (o compilado o interpretado). Un algoritmo, estrictamente hablando, no puede ejecutarse hasta que se implementa, ya sea en un lenguaje de programación, en un circuito eléctrico, en un aparato mecánico, usando papel y lápiz, o en algún otro modelo de computación.
La mayoría de los algoritmos involucran métodos de organizar los datos que intervienen en el cómputo. Estos objetos creados son llamados, de esta manera la estructura de los datos, y también son objetos centrales del estudio en la informática. De esta forma, los algoritmos y estructuras de los datos van siempre de la mano. Los algoritmos simples pueden dar lugar a una estructura de datos complicada y, recíprocamente, los algoritmos complicados pueden usar estructuras de los datos simples.
Cuando usamos una computadora para ayudarnos a resolver un problema, nos enfrentamos típicamente con varios posibles esquemas. Para los problemas pequeños, lo que apenas importa es que lo usemos, con tal de que se tenga uno que resuelva el problema correctamente. Para los problemas grandes (o aplicaciones dónde nosotros necesitamos resolver un gran número de problemas pequeños), sin embargo, nos motivamos en inventar métodos que usan tiempo eficazmente de forma rápida como sea posible.
Cuando un programa de computadora es grande o complejo, este será desarrollado con mucho esfuerzo, ya que se debe comprender y definir el problema a ser resuelto, manejando su complejidad, y descomponiéndolo en partes más pequeñas que puedan resolverse más fácilmente. A menudo, muchos de los algoritmos que se necesitan, después de la descomposición son triviales al instrumento.
El científico de computación Donald Knuth ofreció una lista de cinco propiedades, que son ampliamente aceptadas como requisitos para un algoritmo:
1. Carácter finito. "Un algoritmo siempre debe terminar después de un número finito de pasos".
2. Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso".
3. Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos específicos de objetos".
4. Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica con las entradas".
5. Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas
En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver diversos problemas. Algunos ejemplos se encuentran en los instructivos (manuales de usuario), los cuales muestran algoritmos para usar el aparato en cuestión o inclusive en las instrucciones que recibe un trabajador por parte de su patrón. También existen ejemplos de índole matemático, como el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para calcular el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un Sistema lineal de ecuaciones.
La importancia de un algoritmo radica en mostrar la manera de llevar a cabo procesos y resolver mecánicamente problemas matemáticos o de otro tipo. Al igual que las funciones matemáticas, los algoritmos reciben una entrada y la transforman en una salida, comportándose como una caja negra. Sin embargo, no toda caja negra que convierta una entrada en una salida se puede considerar un algoritmo: para que un algoritmo pueda ser considerado como tal, debe ser una secuencia ordenada, finita y definida (formalización de su comportamiento) de instrucciones. De este modo se puede seguir y predecir el comportamiento del algoritmo para cualquier entrada posible (salvo algoritmos probabilistas, que tiene usualmente una salida distinta), a partir del seguimiento de esa secuencia de instrucciones, que como es ordenada y definida, no da lugar a ambigüedades y puede seguirse su traza.
El concepto de algoritmo, aunque similar y obviamente relacionado, no debe confundirse con el concepto de programa. Mientras el primero es la especificación de un conjunto de pasos (operaciones, instrucciones, órdenes,...) orientados a la resolución de un problema (método), el segundo es ese conjunto de operaciones especificadas en un determinado lenguaje de programación y para un computador concreto, susceptible de ser ejecutado (o compilado o interpretado). Un algoritmo, estrictamente hablando, no puede ejecutarse hasta que se implementa, ya sea en un lenguaje de programación, en un circuito eléctrico, en un aparato mecánico, usando papel y lápiz, o en algún otro modelo de computación.
La mayoría de los algoritmos involucran métodos de organizar los datos que intervienen en el cómputo. Estos objetos creados son llamados, de esta manera la estructura de los datos, y también son objetos centrales del estudio en la informática. De esta forma, los algoritmos y estructuras de los datos van siempre de la mano. Los algoritmos simples pueden dar lugar a una estructura de datos complicada y, recíprocamente, los algoritmos complicados pueden usar estructuras de los datos simples.
Cuando usamos una computadora para ayudarnos a resolver un problema, nos enfrentamos típicamente con varios posibles esquemas. Para los problemas pequeños, lo que apenas importa es que lo usemos, con tal de que se tenga uno que resuelva el problema correctamente. Para los problemas grandes (o aplicaciones dónde nosotros necesitamos resolver un gran número de problemas pequeños), sin embargo, nos motivamos en inventar métodos que usan tiempo eficazmente de forma rápida como sea posible.
Cuando un programa de computadora es grande o complejo, este será desarrollado con mucho esfuerzo, ya que se debe comprender y definir el problema a ser resuelto, manejando su complejidad, y descomponiéndolo en partes más pequeñas que puedan resolverse más fácilmente. A menudo, muchos de los algoritmos que se necesitan, después de la descomposición son triviales al instrumento.
El científico de computación Donald Knuth ofreció una lista de cinco propiedades, que son ampliamente aceptadas como requisitos para un algoritmo:
1. Carácter finito. "Un algoritmo siempre debe terminar después de un número finito de pasos".
2. Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso".
3. Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos específicos de objetos".
4. Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica con las entradas".
5. Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas
Definicion y caracteristicas de algoritmos
Algoritmo: Conjunto de operaciones que se utilizan para resolver un problema específico. En este conjunto de instrucciones se indica la secuencia de operaciones que se deben realizar para, a partir de los datos de entrada, obtener el resultado buscado. El concepto de algoritmo es anterior a los ordenadores, y ampliamente utilizado en el mundo de la ciencia para la resolución metódica de problemas. Sin embargo, con la aparición de los ordenadores se comprobó que era una herramienta ideal, ya que cualquier algoritmo puede transformarse en un programa informático.
Características del algoritmo: Tiene que ser finito (con un final), preciso (detallar el orden de las operaciones a realizar) y unívoco (al aplicar el algoritmo a los mismos datos de entrada, siempre se obtendrá el mismo resultado a la salida).
Un Algoritmo es un conjunto ordenado y finito de pasos o instrucciones que conducen a la solución de un problema. La naturaleza de los problemas varían con el ámbito o con el contexto donde están planteados; así, existen problemas matemáticos, químicos, filosóficos, etc. Según esto la naturaleza de los algoritmos también es variada y no todos ellos pueden ser ejecutados por la computadora. En este curso consideramos aquellos algoritmos que expresan soluciones usando reglas cuantitativas cuyas instrucciones pueden ser introducidas en la computadora, a este tipo de algoritmos se denominan Algoritmos Computacionales.
En la resolución de un problema con la computadora la parte pensante esta en el algoritmo. Así pues la eficacia de un programador no está en conocer la herramienta de programación, cosa necesaria, sino en saber resolver problemas con la computadora para lo cual se requiere conocer un concepto conocido como metodología de la programación cuyo eje central es el algoritmo.
Una vez que la solución de un problema ha sido expresada mediante un algoritmo el paso siguiente es convertirlo a programa para lo cual se elige un lenguaje de programación. De modo que un programa resulta ser la implementación de un algoritmo en un determinado lenguaje de programación. Esto significa, por otro lado, que un algoritmo es independiente del lenguaje de programación.
PROBLEMA -> ALGORITMO -> PROGRAMA
El pseudocódigo es una herramienta algorítmica que permite escribir pseudoprogramas (una imitación de un programa real) utilizando un lenguaje de pseudoprogramación que es una imitación de los lenguajes de programación de alto nivel. Así, un pseudocódigo es una combinación de símbolos (+, -, *, /, %, >, >=, <, <=, !=, ==, y, o, no), términos (Leer, Imprimir, Abrir, Cerrar, Hacer...Mientras, Mientras...Hacer, Para...Mientras, etc) y otras características comúnmente utilizadas en uno o más lenguajes de alto nivel.
No existen reglas que determinen que es o no es un pseudocódigo, sino que varía de un programador a otro. El objetivo del pseudocódigo es permitir al programador centrarse en los aspectos lógicos de la solución evitando las reglas de sintaxis de un lenguaje de programación. Posteriormente el pseudocódigo debe ser traducido a programa usando un lenguaje de programación de alto nivel como Java, C++, C, etc.
Ejemplo 2.1:- Diseñe un algoritmo para preparar una limonada.
INICIO
Llenar una jarra con un litro de agua
Echar el jugo de tres limones
Echar cuatro cucharadas de azúcar
Remover el agua hasta disolver completamente el azúcar
FIN
Ejemplo 2.2 :- Diseñe un algoritmo que permita hallar la suma y el promedio de tres números.
INICIO
LEER numero1, numero2, numero3
suma = numero1 + numero2 + numero3
promedio = suma / 3
IMPRIMIR suma, promedio
FIN
Notas:-
* El término LEER significa obtener un dato de algún dispositivo de entrada, como el teclado, y almacenarlo en una variable.
Una variable es una localización en la memoria que tiene un nombre y cuyo contenido puede cambiar a lo largo de la ejecución de un programa. Así numero1, numero2 y numero3 son variables.
* El término IMPRIMIR significa mostrar el valor de una variable en algún dispositivo de salida, como la pantalla.
Características del algoritmo: Tiene que ser finito (con un final), preciso (detallar el orden de las operaciones a realizar) y unívoco (al aplicar el algoritmo a los mismos datos de entrada, siempre se obtendrá el mismo resultado a la salida).
Un Algoritmo es un conjunto ordenado y finito de pasos o instrucciones que conducen a la solución de un problema. La naturaleza de los problemas varían con el ámbito o con el contexto donde están planteados; así, existen problemas matemáticos, químicos, filosóficos, etc. Según esto la naturaleza de los algoritmos también es variada y no todos ellos pueden ser ejecutados por la computadora. En este curso consideramos aquellos algoritmos que expresan soluciones usando reglas cuantitativas cuyas instrucciones pueden ser introducidas en la computadora, a este tipo de algoritmos se denominan Algoritmos Computacionales.
En la resolución de un problema con la computadora la parte pensante esta en el algoritmo. Así pues la eficacia de un programador no está en conocer la herramienta de programación, cosa necesaria, sino en saber resolver problemas con la computadora para lo cual se requiere conocer un concepto conocido como metodología de la programación cuyo eje central es el algoritmo.
Una vez que la solución de un problema ha sido expresada mediante un algoritmo el paso siguiente es convertirlo a programa para lo cual se elige un lenguaje de programación. De modo que un programa resulta ser la implementación de un algoritmo en un determinado lenguaje de programación. Esto significa, por otro lado, que un algoritmo es independiente del lenguaje de programación.
PROBLEMA -> ALGORITMO -> PROGRAMA
El pseudocódigo es una herramienta algorítmica que permite escribir pseudoprogramas (una imitación de un programa real) utilizando un lenguaje de pseudoprogramación que es una imitación de los lenguajes de programación de alto nivel. Así, un pseudocódigo es una combinación de símbolos (+, -, *, /, %, >, >=, <, <=, !=, ==, y, o, no), términos (Leer, Imprimir, Abrir, Cerrar, Hacer...Mientras, Mientras...Hacer, Para...Mientras, etc) y otras características comúnmente utilizadas en uno o más lenguajes de alto nivel.
No existen reglas que determinen que es o no es un pseudocódigo, sino que varía de un programador a otro. El objetivo del pseudocódigo es permitir al programador centrarse en los aspectos lógicos de la solución evitando las reglas de sintaxis de un lenguaje de programación. Posteriormente el pseudocódigo debe ser traducido a programa usando un lenguaje de programación de alto nivel como Java, C++, C, etc.
Ejemplo 2.1:- Diseñe un algoritmo para preparar una limonada.
INICIO
Llenar una jarra con un litro de agua
Echar el jugo de tres limones
Echar cuatro cucharadas de azúcar
Remover el agua hasta disolver completamente el azúcar
FIN
Ejemplo 2.2 :- Diseñe un algoritmo que permita hallar la suma y el promedio de tres números.
INICIO
LEER numero1, numero2, numero3
suma = numero1 + numero2 + numero3
promedio = suma / 3
IMPRIMIR suma, promedio
FIN
Notas:-
* El término LEER significa obtener un dato de algún dispositivo de entrada, como el teclado, y almacenarlo en una variable.
Una variable es una localización en la memoria que tiene un nombre y cuyo contenido puede cambiar a lo largo de la ejecución de un programa. Así numero1, numero2 y numero3 son variables.
* El término IMPRIMIR significa mostrar el valor de una variable en algún dispositivo de salida, como la pantalla.
Los diagramas de flujo sirven para representar algoritmos de manera gráfica.
En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi ) es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o elmétodo de Gauss para resolver un sistema lineal de ecuaciones.
En general, no existe ningún consenso definitivo en cuanto a la definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten los datos de un problema (entrada) en una solución (salida). Sin embargo cabe notar que algunos algoritmos no necesariamente tienen que terminar o resolver un problema en particular. Por ejemplo, una versión modificada de la criba de Eratóstenes que nunca termine de calcular números primos no deja de ser un algoritmo.
A lo largo de la historia varios autores han tratado de definir formalmente a los algoritmos utilizando modelos matemáticos como máquinas de Turing entre otros.Sin embargo, estos modelos están sujetos a un tipo particular de datos como son números, símbolos o gráficas mientras que, en general, los algoritmos funcionan sobre una vasta cantidad de estructuras de datos. En general, la parte común en todas las definiciones se puede resumir en las siguientes tres propiedades siempre y cuando no consideremos algoritmos paralelos:
Tiempo secuencial. Un algoritmo funciona en tiempo discretizado –paso a paso–, definiendo así una secuencia de estados "computacionales" por cada entrada válida (la entrada son los datos que se le suministran al algoritmo antes de comenzar).
Estado abstracto. Cada estado computacional puede ser descrito formalmente utilizando una estructura de primer orden y cada algoritmo es independiente de su implementación (los algoritmos son objetos abstractos) de manera que en un algoritmo las estructuras de primer orden son invariantes bajo isomorfismo.
Exploración acotada. La transición de un estado al siguiente queda completamente determinada por una descripción fija y finita; es decir, entre cada estado y el siguiente solamente se puede tomar en cuenta una cantidad fija y limitada de términos del estado actual.
En resumen, un algoritmo es cualquier cosa que funcione paso a paso, donde cada paso se pueda describir sin ambigüedad y sin hacer referencia a una computadora en particular, y además tiene un límite fijo en cuanto a la cantidad de datos que se pueden leer/escribir en un solo paso. Esta amplia definición abarca tanto a algoritmos prácticos como aquellos que solo funcionan en teoría, por ejemplo el método de Newton y la eliminación de Gauss-Jordan funcionan, al menos en principio, con números de precisión infinita; sin embargo no es posible programar la precisión infinita en una computadora, y no por ello dejan de ser algoritmos. En particular es posible considerar una cuarta propiedad que puede ser usada para validar la tesis de Church-Turing de que toda función calculable se puede programar en una máquina de Turing (o equivalentemente, en un lenguaje de programación suficientemente general):
Aritmetizabilidad. Solamente operaciones innegablemente calculables están disponibles en el paso inicial.
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.
La descripción de un algoritmo usualmente se hace en tres niveles:
Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.
También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos.
Programa: Un programa es una serie de instrucciones ordenadas, codificadas en lenguaje de programación que expresa un algoritmo y que puede ser ejecutado en un computador.
CLASIFICACIÓN DE ALGORITMOS: Los algoritmos se pueden clasificar en cuatro tipos:
- Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x.
- Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido.
- Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro.
- Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos numéricos. Ejemplo: Solución de una ecuación de segundo grado.
CARACTERÍSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las siguientes características:
- 1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se debe hacer.
2. Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos.
3. Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada.
4. Puede tener cero o más elementos de entrada.
5. Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.
PARTES DE UN ALGORITMO: Todo Algoritmo debe tener las siguientes partes:
· Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado.
· Proceso, es la secuencia de pasos para ejecutar el algoritmo.
· Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.
TÉCNICAS DE REPRESENTACIÓN: Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son:
· Diagramación libre (Diagramas de flujo).
· Diagramas Nassi-Shneiderman.
· Pseudocódigo.
· Lenguaje natural (español, inglés, etc.).
· Fórmulas matemáticas.
Por ejemplo en una analogía con la vida diaria, una receta de un plato de cocina se puede expresar en español, ingles o francés, pero cualquiera que sea el lenguaje, los pasos para la elaboración del plato se realizaran sin importar el cocinero.
Los pasos a seguir en la solución de una ecuación de segundo grado.
Los pasos matemáticos para la solución de un número factorial.
Las instrucciones para la liquidación de una nomina.
Las acciones que se deben seguir para la obtención de una estadística.
Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo, de modo que sin algoritmo no puede existir un programa.
Características de los algoritmos
Las características fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe de tener un número finito de pasos.
La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
En el algoritmo citado anteriormente se tendrá:
Entrada ingredientes y utensilios empleados
Proceso elaboración de la receta de cocina
Salida terminación del plato (por ejemplo, cordero)
Un algoritmo exige que se tengan varias propiedades importantes:
Los pasos de un algoritmo deben ser simples y exentos de ambigüedades (diferentes significados), deben seguir un orden cuidadosamente prescrito, deben ser efectivos y deben de resolver el problema en un número finito de pasos.
El siguiente ejemplo muestra un algoritmo para cambiar un foco quemado.
Cambiar un foco quemado podría resumirse en dos pasos:
Quitar el foco quemado
Colocar un foco nuevo
Pero, si tuviera que entrenar un robot domestico para que efectúe esta tarea, tendrá que ser mas especifico y claro en los pasos a seguir, dar mas detalles (suponga que el foco se encuentra en el techo de una habitación):
Situar escalera bajo el foco quemado.
Elegir un foco de reemplazo (de la misma potencia que el anterior).
Subir por la escalera hasta alcanzar el foco.
Girar el foco contra las manecillas del reloj hasta que esté suelto.
Ubicar el foco nuevo en el mismo lugar que el anterior.
Enroscar en el sentido de las manecillas del reloj hasta que quede apretado.
Bajar de la escalera.
1.2 Lenguajes de programación (Lenguaje máquina, ensamblador y de alto nivel)
Al igual que los idiomas sirven de vehículo de comunicación entre seres humanos, existen lenguajes que realizan la comunicación entre ellos y las computadoras. Estos lenguajes permiten expresar las instrucciones que el programador desea que la computadora ejecute.
Los principales tipos de lenguajes utilizados en la actualidad son tres:
Lenguaje maquina
Lenguaje de bajo nivel (ensamblador)
Lenguajes de alto nivel
Lenguajes máquina
Se llama lenguaje máquina a las instrucciones que se dan directamente a la computadora, utilizando una serie de dígitos binarios o bits, representados por los números 0 y 1 que especifican una operación. Aunque este lenguaje es el que entiende la computadora, es muy difícil de manejar en la comunicación humana. Las instrucciones en lenguaje maquina dependen del hardware de la computadora y, por lo tanto, diferirán de una computadora a otra.
Lenguajes de bajo nivel (ensamblador)
Los lenguajes de bajo nivel son más fáciles de utilizar que los lenguajes máquina, pero, al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador (assembler lenguaje). Las instrucciones en lenguaje ensamblador son conocidas como mnemotécnicos.
Por ejemplo, mnemotécnicos típicos de operaciones aritméticas son:
en ingles, ADD, SUB, DIV, etc.
en español, SUM,RES,DIV, etc.
Una instrucción típica de suma seria:
ADD M, N, P
Esta instrucción podría significar "sumar el número contenido en la posición de memoria M al número almacenado en la posición de memoria N y situar el resultado en la posición de memoria P". Evidentemente es mucho más sencillo recordar la instrucción anterior con un mnemotécnico que su equivalente en código máquina.
0110 1001 1010 1011
Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora (en esto se diferencia esencialmente del lenguaje máquina) sino que requiere una fase de traducción al lenguaje máquina.
El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje maquina se conoce como programa objeto, ya directamente entendible por la computadora.
El traductor de programas fuente a objeto es un programa llamado ensamblador (assembler), existente en casi todas las computadoras.
NOTA: No se debe confundir el programa ensamblador, encargado de efectuar la traducción del programa fuente escrito a lenguaje maquina, con el lenguaje ensamblador (assembly language), lenguaje de programación con una estructura y gramática definidas.
Los lenguajes ensambladores presentan la ventaja frente a los lenguajes maquina de su mayor facilidad de codificación y, en general, su velocidad de cálculo.
Los inconvenientes más notables de los lenguajes ensambladores son:
Dependencia total de la maquina lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes maquinas).
La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que exige no sólo las técnicas de programación, sino también el conocimiento del interior de la máquina.
Hoy día los lenguajes ensambladores tienen sus aplicaciones muy reducidas en la programación de aplicaciones y se centran en aplicaciones de tiempo real, control de procesos y de dispositivos electrónicos, etc.
Lenguajes de alto nivel
Los lenguajes de alto nivel son los mas utilizados por los programadores. Están diseñados para que las personas escriban y entiendan los programas de un modo mucho más fácil que los lenguajes máquina y ensambladores. Otra razón es que un programa escrito en un lenguaje de alto nivel es independiente de la máquina; esto es, las instrucciones del programa de la computadora no dependen del diseño del hardware o de una computadora en particular. En consecuencia, los programas escritos en lenguajes de alto nivel son portables o transportables, lo que significa la posibilidad de poder ser ejecutados con poca o ninguna modificación en diferentes tipos de computadoras; al contrario que los programas en lenguaje máquina o ensamblador que sólo se pueden ejecutar en un determinado tipo de computadora.
Los lenguajes de alto nivel presentan las siguientes ventajas:
El tiempo de formación de los programadores es relativamente corto comparado con otros lenguajes.
La escritura de programas se basa en reglas sintácticas similares a los lenguajes humanos. Nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN, etc. Las modificaciones y puestas a punto de los programas son más fáciles.
Reducción del coste de los programas.
Transportabilidad.
Los inconvenientes se concretan en:
Incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo.
No se aprovechan los recursos internos de la máquina que se explotan mucho mejor en lenguajes máquina y ensambladores.
Aumento de la ocupación de memoria.
El tiempo de ejecución de los programas es mucho mayor.
Al igual que pasa con los lenguajes ensambladores, los programas fuente tienen que ser traducidos por programas traductores, llamados compiladores e interpretes.
Los lenguajes de programación de alto nivel existentes en la actualidad son muy numerosos, aunque la práctica demuestra que su uso mayoritario se reduce a BASIC, COBOL, PASCAL, C, C++,... y en el campo de la primera enseñanza a LOGO, PILOT...
1.3 Traductores de lenguaje
Los traductores de lenguajes son programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código máquina.
Los traductores se dividen en:
Compiladores
Interpretes
Interpretes
Un interprete es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta (dicho programa por medio de la computadora desarrolla una tarea especifica).
Un lenguaje que soporte un traductor de tipo intérprete se denomina lenguaje interpretado. BASIC es el modelo por excelencia interpretado.
Los programas fuente en BASIC se escriben con ayuda de un programa denominado editor que suele venir incorporado al programa intérprete.
Compiladores
Un compilador es un programa que traduce los programas fuente escritos en lenguajes de alto nivel a lenguaje máquina.
Los programas escritos en lenguajes de alto nivel (en el editor del lenguaje) se llaman programas fuente y el programa traducido programa objeto o código objeto. El compilador traduce (sentencia a sentencia) el programa fuente.
Lenguajes compiladores típicos son: PASCAL, COBOL, C..
Fases de la compilación
La compilación es el proceso de la traducción de programas fuente a programas objeto.
El programa objeto obtenido de la compilación no ha sido traducido normalmente a código máquina sino a ensamblador. Para conseguir el programa máquina real se debe utilizar un programa llamado montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje máquina directamente ejecutable:
Por ejemplo, el proceso de ejecución de un Programa en C++ tiene los siguientes pasos:
Escritura del programa fuente con un editor (programa que permite a una computadora actuar de modo similar a una máquina de escribir electrónica) y guardarlo en un dispositivo de almacenamiento (un disco).
Introducir el programa fuente en memoria.
Compilar el programa con el compilador C++.
Verificar y corregir errores de compilación (listado de errores).
Obtención del programa objeto.
El montador obtiene el programa ejecutable.
Se ejecuta el programa y si no existen errores, se tendrá la salida del mismo.
1.4 Definición de programa
Un programa de computadora es un conjunto de instrucciones (ordenes dadas a la máquina) que producirán la ejecución de una determinada tarea. En esencia, un programa es un medio para conseguir un fin. El fin será normalmente definido como la información necesaria para solucionar un problema.
El proceso de programación es, por consiguiente, un proceso de solución de problemas (como ya se vio anteriormente) 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;
- pseudocódigo.
3. Codificación del programa.
4. Depuración y verificación del programa.
5. Documentación.
6. Mantenimiento.
Principales conceptos de este manual, así como una introducción a sus contenidos.
El desarrollo de algoritmos es un tema fundamental en el diseño de programas o soluciones. Por lo cual, el alumno debe tener buenas bases que le sirvan para poder crear de manera fácil y rápida sus programas.
La siguiente documentación pueden servir de apoyo a tutores o profesores, en su labor cotidiana de enseñanza y al estudiante, facilitarle el desarrollo de su capacidad analítica y creadora, para de esta manera mejorar su destreza en la elaboración de algoritmos que sirven como base para la codificación de los diferentes programas que tendrá que desarrollar a lo largo de su carrera.
Contenido
Los posteriores artículos mostrarán el desarrollo del tema de algoritmo a manera de curso. Existen una serie de documentación adicional para refuerzo conceptual, dado parte importante en el proceso del tema en cuestión.
El algoritmo, una iniciación a la programación
¿QUÉ ES ALGORITMO?
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.
¿TIPOS DE ALGORITMOS
?
Existen dos tipos y son llamados así por su naturaleza:
- Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
- Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
Lenguajes Algorítmicos
Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
Tipos de Lenguajes Algorítmicos
- Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
- No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
Programa: Un programa es una serie de instrucciones ordenadas, codificadas en lenguaje de programación que expresa un algoritmo y que puede ser ejecutado en un computador.
CLASIFICACIÓN DE ALGORITMOS: Los algoritmos se pueden clasificar en cuatro tipos:
- Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x.
- Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido.
- Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro.
- Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos numéricos. Ejemplo: Solución de una ecuación de segundo grado.
CARACTERÍSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las siguientes características:
- 1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se debe hacer.
2. Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos.
3. Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada.
4. Puede tener cero o más elementos de entrada.
5. Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.
PARTES DE UN ALGORITMO: Todo Algoritmo debe tener las siguientes partes:
· Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado.
· Proceso, es la secuencia de pasos para ejecutar el algoritmo.
· Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.
· Proceso, es la secuencia de pasos para ejecutar el algoritmo.
· Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.
TÉCNICAS DE REPRESENTACIÓN: Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son:
· Diagramación libre (Diagramas de flujo).
· Diagramas Nassi-Shneiderman.
· Pseudocódigo.
· Lenguaje natural (español, inglés, etc.).
· Fórmulas matemáticas.
Por ejemplo en una analogía con la vida diaria, una receta de un plato de cocina se puede expresar en español, ingles o francés, pero cualquiera que sea el lenguaje, los pasos para la elaboración del plato se realizaran sin importar el cocinero.
Los pasos a seguir en la solución de una ecuación de segundo grado.
Los pasos matemáticos para la solución de un número factorial.
Las instrucciones para la liquidación de una nomina.
Las acciones que se deben seguir para la obtención de una estadística.
Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo, de modo que sin algoritmo no puede existir un programa.
Características de los algoritmos
Las características fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe de tener un número finito de pasos.
La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
En el algoritmo citado anteriormente se tendrá:
Entrada ingredientes y utensilios empleados
Proceso elaboración de la receta de cocina
Salida terminación del plato (por ejemplo, cordero)
Un algoritmo exige que se tengan varias propiedades importantes:
Los pasos de un algoritmo deben ser simples y exentos de ambigüedades (diferentes significados), deben seguir un orden cuidadosamente prescrito, deben ser efectivos y deben de resolver el problema en un número finito de pasos.
El siguiente ejemplo muestra un algoritmo para cambiar un foco quemado.
Cambiar un foco quemado podría resumirse en dos pasos:
Quitar el foco quemado
Colocar un foco nuevo
Quitar el foco quemado
Colocar un foco nuevo
Pero, si tuviera que entrenar un robot domestico para que efectúe esta tarea, tendrá que ser mas especifico y claro en los pasos a seguir, dar mas detalles (suponga que el foco se encuentra en el techo de una habitación):
Situar escalera bajo el foco quemado.
Elegir un foco de reemplazo (de la misma potencia que el anterior).
Subir por la escalera hasta alcanzar el foco.
Girar el foco contra las manecillas del reloj hasta que esté suelto.
Ubicar el foco nuevo en el mismo lugar que el anterior.
Enroscar en el sentido de las manecillas del reloj hasta que quede apretado.
Bajar de la escalera.
Situar escalera bajo el foco quemado.
Elegir un foco de reemplazo (de la misma potencia que el anterior).
Subir por la escalera hasta alcanzar el foco.
Girar el foco contra las manecillas del reloj hasta que esté suelto.
Ubicar el foco nuevo en el mismo lugar que el anterior.
Enroscar en el sentido de las manecillas del reloj hasta que quede apretado.
Bajar de la escalera.
1.2 Lenguajes de programación (Lenguaje máquina, ensamblador y de alto nivel)
Al igual que los idiomas sirven de vehículo de comunicación entre seres humanos, existen lenguajes que realizan la comunicación entre ellos y las computadoras. Estos lenguajes permiten expresar las instrucciones que el programador desea que la computadora ejecute.
Los principales tipos de lenguajes utilizados en la actualidad son tres:
Lenguaje maquina
Lenguaje de bajo nivel (ensamblador)
Lenguajes de alto nivel
Lenguajes máquina
Lenguaje de bajo nivel (ensamblador)
Lenguajes de alto nivel
Lenguajes máquina
Se llama lenguaje máquina a las instrucciones que se dan directamente a la computadora, utilizando una serie de dígitos binarios o bits, representados por los números 0 y 1 que especifican una operación. Aunque este lenguaje es el que entiende la computadora, es muy difícil de manejar en la comunicación humana. Las instrucciones en lenguaje maquina dependen del hardware de la computadora y, por lo tanto, diferirán de una computadora a otra.
Lenguajes de bajo nivel (ensamblador)
Los lenguajes de bajo nivel son más fáciles de utilizar que los lenguajes máquina, pero, al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador (assembler lenguaje). Las instrucciones en lenguaje ensamblador son conocidas como mnemotécnicos.
Por ejemplo, mnemotécnicos típicos de operaciones aritméticas son:
en ingles, ADD, SUB, DIV, etc.
en español, SUM,RES,DIV, etc.
en español, SUM,RES,DIV, etc.
Una instrucción típica de suma seria:
ADD M, N, P
Esta instrucción podría significar "sumar el número contenido en la posición de memoria M al número almacenado en la posición de memoria N y situar el resultado en la posición de memoria P". Evidentemente es mucho más sencillo recordar la instrucción anterior con un mnemotécnico que su equivalente en código máquina.
0110 1001 1010 1011
Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora (en esto se diferencia esencialmente del lenguaje máquina) sino que requiere una fase de traducción al lenguaje máquina.
El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje maquina se conoce como programa objeto, ya directamente entendible por la computadora.
El traductor de programas fuente a objeto es un programa llamado ensamblador (assembler), existente en casi todas las computadoras.
NOTA: No se debe confundir el programa ensamblador, encargado de efectuar la traducción del programa fuente escrito a lenguaje maquina, con el lenguaje ensamblador (assembly language), lenguaje de programación con una estructura y gramática definidas.
Los lenguajes ensambladores presentan la ventaja frente a los lenguajes maquina de su mayor facilidad de codificación y, en general, su velocidad de cálculo.
Los inconvenientes más notables de los lenguajes ensambladores son:
Dependencia total de la maquina lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes maquinas).
La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que exige no sólo las técnicas de programación, sino también el conocimiento del interior de la máquina.
Hoy día los lenguajes ensambladores tienen sus aplicaciones muy reducidas en la programación de aplicaciones y se centran en aplicaciones de tiempo real, control de procesos y de dispositivos electrónicos, etc.
Lenguajes de alto nivel
Los lenguajes de alto nivel son los mas utilizados por los programadores. Están diseñados para que las personas escriban y entiendan los programas de un modo mucho más fácil que los lenguajes máquina y ensambladores. Otra razón es que un programa escrito en un lenguaje de alto nivel es independiente de la máquina; esto es, las instrucciones del programa de la computadora no dependen del diseño del hardware o de una computadora en particular. En consecuencia, los programas escritos en lenguajes de alto nivel son portables o transportables, lo que significa la posibilidad de poder ser ejecutados con poca o ninguna modificación en diferentes tipos de computadoras; al contrario que los programas en lenguaje máquina o ensamblador que sólo se pueden ejecutar en un determinado tipo de computadora.
Los lenguajes de alto nivel presentan las siguientes ventajas:
El tiempo de formación de los programadores es relativamente corto comparado con otros lenguajes.
La escritura de programas se basa en reglas sintácticas similares a los lenguajes humanos. Nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN, etc. Las modificaciones y puestas a punto de los programas son más fáciles.
Reducción del coste de los programas.
Transportabilidad.
Los inconvenientes se concretan en:
Incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo.
No se aprovechan los recursos internos de la máquina que se explotan mucho mejor en lenguajes máquina y ensambladores.
Aumento de la ocupación de memoria.
El tiempo de ejecución de los programas es mucho mayor.
Al igual que pasa con los lenguajes ensambladores, los programas fuente tienen que ser traducidos por programas traductores, llamados compiladores e interpretes.
Los lenguajes de programación de alto nivel existentes en la actualidad son muy numerosos, aunque la práctica demuestra que su uso mayoritario se reduce a BASIC, COBOL, PASCAL, C, C++,... y en el campo de la primera enseñanza a LOGO, PILOT...
1.3 Traductores de lenguaje
Los traductores de lenguajes son programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código máquina.
Los traductores se dividen en:
Compiladores
Interpretes
Interpretes
Interpretes
Un interprete es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta (dicho programa por medio de la computadora desarrolla una tarea especifica).
Un interprete es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta (dicho programa por medio de la computadora desarrolla una tarea especifica).
Un lenguaje que soporte un traductor de tipo intérprete se denomina lenguaje interpretado. BASIC es el modelo por excelencia interpretado.
Los programas fuente en BASIC se escriben con ayuda de un programa denominado editor que suele venir incorporado al programa intérprete.

Compiladores
Un compilador es un programa que traduce los programas fuente escritos en lenguajes de alto nivel a lenguaje máquina.
Los programas escritos en lenguajes de alto nivel (en el editor del lenguaje) se llaman programas fuente y el programa traducido programa objeto o código objeto. El compilador traduce (sentencia a sentencia) el programa fuente.
Lenguajes compiladores típicos son: PASCAL, COBOL, C..
Fases de la compilación
La compilación es el proceso de la traducción de programas fuente a programas objeto.
El programa objeto obtenido de la compilación no ha sido traducido normalmente a código máquina sino a ensamblador. Para conseguir el programa máquina real se debe utilizar un programa llamado montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje máquina directamente ejecutable:

Por ejemplo, el proceso de ejecución de un Programa en C++ tiene los siguientes pasos:
Escritura del programa fuente con un editor (programa que permite a una computadora actuar de modo similar a una máquina de escribir electrónica) y guardarlo en un dispositivo de almacenamiento (un disco).
Introducir el programa fuente en memoria.
Compilar el programa con el compilador C++.
Verificar y corregir errores de compilación (listado de errores).
Obtención del programa objeto.
El montador obtiene el programa ejecutable.
Se ejecuta el programa y si no existen errores, se tendrá la salida del mismo.
Introducir el programa fuente en memoria.
Compilar el programa con el compilador C++.
Verificar y corregir errores de compilación (listado de errores).
Obtención del programa objeto.
El montador obtiene el programa ejecutable.
Se ejecuta el programa y si no existen errores, se tendrá la salida del mismo.

1.4 Definición de programa
Un programa de computadora es un conjunto de instrucciones (ordenes dadas a la máquina) que producirán la ejecución de una determinada tarea. En esencia, un programa es un medio para conseguir un fin. El fin será normalmente definido como la información necesaria para solucionar un problema.
El proceso de programación es, por consiguiente, un proceso de solución de problemas (como ya se vio anteriormente) 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;
- pseudocódigo.
3. Codificación del programa.
4. Depuración y verificación del programa.
5. Documentación.
6. Mantenimiento.
2. Diseño de algoritmos.
- diagrama de flujo;
- pseudocódigo.
3. Codificación del programa.
4. Depuración y verificación del programa.
5. Documentación.
6. Mantenimiento.
Principales conceptos de este manual, así como una introducción a sus contenidos.
El desarrollo de algoritmos es un tema fundamental en el diseño de programas o soluciones. Por lo cual, el alumno debe tener buenas bases que le sirvan para poder crear de manera fácil y rápida sus programas.
La siguiente documentación pueden servir de apoyo a tutores o profesores, en su labor cotidiana de enseñanza y al estudiante, facilitarle el desarrollo de su capacidad analítica y creadora, para de esta manera mejorar su destreza en la elaboración de algoritmos que sirven como base para la codificación de los diferentes programas que tendrá que desarrollar a lo largo de su carrera.
Contenido
Los posteriores artículos mostrarán el desarrollo del tema de algoritmo a manera de curso. Existen una serie de documentación adicional para refuerzo conceptual, dado parte importante en el proceso del tema en cuestión.
La siguiente documentación pueden servir de apoyo a tutores o profesores, en su labor cotidiana de enseñanza y al estudiante, facilitarle el desarrollo de su capacidad analítica y creadora, para de esta manera mejorar su destreza en la elaboración de algoritmos que sirven como base para la codificación de los diferentes programas que tendrá que desarrollar a lo largo de su carrera.
Contenido
Los posteriores artículos mostrarán el desarrollo del tema de algoritmo a manera de curso. Existen una serie de documentación adicional para refuerzo conceptual, dado parte importante en el proceso del tema en cuestión.
El algoritmo, una iniciación a la programación
¿QUÉ ES ALGORITMO?
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.
¿TIPOS DE ALGORITMOS ?
Existen dos tipos y son llamados así por su naturaleza:
¿QUÉ ES ALGORITMO?
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.
¿TIPOS DE ALGORITMOS ?
Existen dos tipos y son llamados así por su naturaleza:
- Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
- Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
Lenguajes Algorítmicos
Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
Tipos de Lenguajes Algorítmicos
- Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
- No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
Metodología para la creación de algoritmos
Ahora que ya sabemos qué es un algoritmo, vamos a estudiar la metodología para la solución de un problema mediante un ordenador. La creación de un algoritmo y su programación es una etapa, pero como programador debes realizar varios pasos antes y después.
El computador es una máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducirle instrucciones u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en el Problema. El proceso de programación es el siguiente: Dado un determinado problema el programador debe idear una solución y expresarla usando un algoritmo (aquí es donde entra a jugar); luego de esto, debe codificarlo en un determinado lenguaje de programación y por último ejecutar el programa en el computador el cual refleja una solución al problema inicial. Esto es a grandes rasgos lo que hace el programador de computadores.
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
- DEFINICIÓN DEL PROBLEMA
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
- ANÁLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
- Los datos de entrada.
- Cual es la información que se desea producir (salida)
- Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación muy práctica es el de colocarse en el lugar de la computadora y analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los resultados esperados.
- DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son:
- Debe tener un punto particular de inicio.
- Debe ser definido, no debe permitir dobles interpretaciones.
- Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
- Debe ser finito en tamaño y tiempo de ejecución.
- Diseño del Algoritmo
- Prueba de escritorio o Depuración
Principales conceptos de este manual, así como una introducción a sus contenidos.
El desarrollo de algoritmos es un tema fundamental en el diseño de programas o soluciones. Por lo cual, el alumno debe tener buenas bases que le sirvan para poder crear de manera fácil y rápida sus programas.
La siguiente documentación pueden servir de apoyo a tutores o profesores, en su labor cotidiana de enseñanza y al estudiante, facilitarle el desarrollo de su capacidad analítica y creadora, para de esta manera mejorar su destreza en la elaboración de algoritmos que sirven como base para la codificación de los diferentes programas que tendrá que desarrollar a lo largo de su carrera.
Contenido
Los posteriores artículos mostrarán el desarrollo del tema de algoritmo a manera de curso. Existen una serie de documentación adicional para refuerzo conceptual, dado parte importante en el proceso del tema en cuestión.
El algoritmo, una iniciación a la programación
¿QUÉ ES ALGORITMO?
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.
¿TIPOS DE ALGORITMOS
?
Existen dos tipos y son llamados así por su naturaleza:
- Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
- Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
Lenguajes Algorítmicos
Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
Tipos de Lenguajes Algorítmicos
- Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
- No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
Ahora que ya sabemos qué es un algoritmo, vamos a estudiar la metodología para la solución de un problema mediante un ordenador. La creación de un algoritmo y su programación es una etapa, pero como programador debes realizar varios pasos antes y después.
El computador es una máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducirle instrucciones u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en el Problema. El proceso de programación es el siguiente: Dado un determinado problema el programador debe idear una solución y expresarla usando un algoritmo (aquí es donde entra a jugar); luego de esto, debe codificarlo en un determinado lenguaje de programación y por último ejecutar el programa en el computador el cual refleja una solución al problema inicial. Esto es a grandes rasgos lo que hace el programador de computadores.
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
- DEFINICIÓN DEL PROBLEMA
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa. - ANÁLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:- Los datos de entrada.
- Cual es la información que se desea producir (salida)
- Los métodos y fórmulas que se necesitan para procesar los datos.
- DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son:- Debe tener un punto particular de inicio.
- Debe ser definido, no debe permitir dobles interpretaciones.
- Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
- Debe ser finito en tamaño y tiempo de ejecución.
- Diseño del Algoritmo
- Prueba de escritorio o Depuración
Principales conceptos de este manual, así como una introducción a sus contenidos.
El desarrollo de algoritmos es un tema fundamental en el diseño de programas o soluciones. Por lo cual, el alumno debe tener buenas bases que le sirvan para poder crear de manera fácil y rápida sus programas.
La siguiente documentación pueden servir de apoyo a tutores o profesores, en su labor cotidiana de enseñanza y al estudiante, facilitarle el desarrollo de su capacidad analítica y creadora, para de esta manera mejorar su destreza en la elaboración de algoritmos que sirven como base para la codificación de los diferentes programas que tendrá que desarrollar a lo largo de su carrera.
Contenido
Los posteriores artículos mostrarán el desarrollo del tema de algoritmo a manera de curso. Existen una serie de documentación adicional para refuerzo conceptual, dado parte importante en el proceso del tema en cuestión.
La siguiente documentación pueden servir de apoyo a tutores o profesores, en su labor cotidiana de enseñanza y al estudiante, facilitarle el desarrollo de su capacidad analítica y creadora, para de esta manera mejorar su destreza en la elaboración de algoritmos que sirven como base para la codificación de los diferentes programas que tendrá que desarrollar a lo largo de su carrera.
Contenido
Los posteriores artículos mostrarán el desarrollo del tema de algoritmo a manera de curso. Existen una serie de documentación adicional para refuerzo conceptual, dado parte importante en el proceso del tema en cuestión.
El algoritmo, una iniciación a la programación
¿QUÉ ES ALGORITMO?
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.
¿TIPOS DE ALGORITMOS ?
Existen dos tipos y son llamados así por su naturaleza:
¿QUÉ ES ALGORITMO?
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.
¿TIPOS DE ALGORITMOS ?
Existen dos tipos y son llamados así por su naturaleza:
- Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
- Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
Lenguajes Algorítmicos
Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
Tipos de Lenguajes Algorítmicos
- Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
- No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
Metodología para la creación de algoritmos
Ahora que ya sabemos qué es un algoritmo, vamos a estudiar la metodología para la solución de un problema mediante un ordenador. La creación de un algoritmo y su programación es una etapa, pero como programador debes realizar varios pasos antes y después.
El computador es una máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducirle instrucciones u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en el Problema. El proceso de programación es el siguiente: Dado un determinado problema el programador debe idear una solución y expresarla usando un algoritmo (aquí es donde entra a jugar); luego de esto, debe codificarlo en un determinado lenguaje de programación y por último ejecutar el programa en el computador el cual refleja una solución al problema inicial. Esto es a grandes rasgos lo que hace el programador de computadores.
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
- DEFINICIÓN DEL PROBLEMA
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
- ANÁLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
- Los datos de entrada.
- Cual es la información que se desea producir (salida)
- Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación muy práctica es el de colocarse en el lugar de la computadora y analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los resultados esperados.
- DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son:
- Debe tener un punto particular de inicio.
- Debe ser definido, no debe permitir dobles interpretaciones.
- Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
- Debe ser finito en tamaño y tiempo de ejecución.
- Diseño del Algoritmo
- Prueba de escritorio o Depuración
Principales conceptos de este manual, así como una introducción a sus contenidos.
El desarrollo de algoritmos es un tema fundamental en el diseño de programas o soluciones. Por lo cual, el alumno debe tener buenas bases que le sirvan para poder crear de manera fácil y rápida sus programas.
La siguiente documentación pueden servir de apoyo a tutores o profesores, en su labor cotidiana de enseñanza y al estudiante, facilitarle el desarrollo de su capacidad analítica y creadora, para de esta manera mejorar su destreza en la elaboración de algoritmos que sirven como base para la codificación de los diferentes programas que tendrá que desarrollar a lo largo de su carrera.
Contenido
Los posteriores artículos mostrarán el desarrollo del tema de algoritmo a manera de curso. Existen una serie de documentación adicional para refuerzo conceptual, dado parte importante en el proceso del tema en cuestión.
El algoritmo, una iniciación a la programación
¿QUÉ ES ALGORITMO?
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.
¿TIPOS DE ALGORITMOS
?
Existen dos tipos y son llamados así por su naturaleza:
- Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
- Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
Lenguajes Algorítmicos
Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
Tipos de Lenguajes Algorítmicos
- Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
- No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
Ahora que ya sabemos qué es un algoritmo, vamos a estudiar la metodología para la solución de un problema mediante un ordenador. La creación de un algoritmo y su programación es una etapa, pero como programador debes realizar varios pasos antes y después.
El computador es una máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducirle instrucciones u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en el Problema. El proceso de programación es el siguiente: Dado un determinado problema el programador debe idear una solución y expresarla usando un algoritmo (aquí es donde entra a jugar); luego de esto, debe codificarlo en un determinado lenguaje de programación y por último ejecutar el programa en el computador el cual refleja una solución al problema inicial. Esto es a grandes rasgos lo que hace el programador de computadores.
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
- DEFINICIÓN DEL PROBLEMA
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa. - ANÁLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:- Los datos de entrada.
- Cual es la información que se desea producir (salida)
- Los métodos y fórmulas que se necesitan para procesar los datos.
- DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son:- Debe tener un punto particular de inicio.
- Debe ser definido, no debe permitir dobles interpretaciones.
- Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
- Debe ser finito en tamaño y tiempo de ejecución.
- Diseño del Algoritmo
- Prueba de escritorio o Depuración
Principales conceptos de este manual, así como una introducción a sus contenidos.
El desarrollo de algoritmos es un tema fundamental en el diseño de programas o soluciones. Por lo cual, el alumno debe tener buenas bases que le sirvan para poder crear de manera fácil y rápida sus programas.
La siguiente documentación pueden servir de apoyo a tutores o profesores, en su labor cotidiana de enseñanza y al estudiante, facilitarle el desarrollo de su capacidad analítica y creadora, para de esta manera mejorar su destreza en la elaboración de algoritmos que sirven como base para la codificación de los diferentes programas que tendrá que desarrollar a lo largo de su carrera.
Contenido
Los posteriores artículos mostrarán el desarrollo del tema de algoritmo a manera de curso. Existen una serie de documentación adicional para refuerzo conceptual, dado parte importante en el proceso del tema en cuestión.
La siguiente documentación pueden servir de apoyo a tutores o profesores, en su labor cotidiana de enseñanza y al estudiante, facilitarle el desarrollo de su capacidad analítica y creadora, para de esta manera mejorar su destreza en la elaboración de algoritmos que sirven como base para la codificación de los diferentes programas que tendrá que desarrollar a lo largo de su carrera.
Contenido
Los posteriores artículos mostrarán el desarrollo del tema de algoritmo a manera de curso. Existen una serie de documentación adicional para refuerzo conceptual, dado parte importante en el proceso del tema en cuestión.
El algoritmo, una iniciación a la programación
¿QUÉ ES ALGORITMO?
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.
¿TIPOS DE ALGORITMOS ?
Existen dos tipos y son llamados así por su naturaleza:
¿QUÉ ES ALGORITMO?
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.
¿TIPOS DE ALGORITMOS ?
Existen dos tipos y son llamados así por su naturaleza:
- Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
- Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
Lenguajes Algorítmicos
Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
Tipos de Lenguajes Algorítmicos
- Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
- No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
Metodología para la creación de algoritmos
Ahora que ya sabemos qué es un algoritmo, vamos a estudiar la metodología para la solución de un problema mediante un ordenador. La creación de un algoritmo y su programación es una etapa, pero como programador debes realizar varios pasos antes y después.
El computador es una máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducirle instrucciones u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en el Problema. El proceso de programación es el siguiente: Dado un determinado problema el programador debe idear una solución y expresarla usando un algoritmo (aquí es donde entra a jugar); luego de esto, debe codificarlo en un determinado lenguaje de programación y por último ejecutar el programa en el computador el cual refleja una solución al problema inicial. Esto es a grandes rasgos lo que hace el programador de computadores.
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
- DEFINICIÓN DEL PROBLEMA
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
- ANÁLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
- Los datos de entrada.
- Cual es la información que se desea producir (salida)
- Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación muy práctica es el de colocarse en el lugar de la computadora y analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los resultados esperados.
- DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son:
- Debe tener un punto particular de inicio.
- Debe ser definido, no debe permitir dobles interpretaciones.
- Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
- Debe ser finito en tamaño y tiempo de ejecución.
- Diseño del Algoritmo
- Prueba de escritorio o Depuración
¿TIPOS DE ALGORITMOS
?
Existen dos tipos y son llamados así por su naturaleza:
·
Cualitativos: Son aquellos en los que se describen los pasos utilizando
palabras.
·
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos
para definir los pasos del proceso.
Lenguajes Algorítmicos
Un Lenguaje algorítmico es una serie de símbolos
y reglas que se utilizan para describir de manera explícita un proceso.
Tipos de Lenguajes Algorítmicos
·
Gráficos: Es la representación gráfica de las operaciones que realiza un
algoritmo (diagrama de flujo).
·
No Gráficos: Representa en forma descriptiva las operaciones que debe
realizar un algoritmo (pseudocodigo).
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
Metodología para la creación de
algoritmos
Ahora que ya sabemos qué es un algoritmo, vamos a estudiar la
metodología para la solución de un problema mediante un ordenador. La creación
de un algoritmo y su programación es una etapa, pero como programador debes
realizar varios pasos antes y después.
El computador es una máquina que por sí sola no
puede hacer nada, necesita ser programada, es decir, introducirle instrucciones
u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un
problema inicial, así que todo comienza allí: en el Problema. El proceso de
programación es el siguiente: Dado un determinado problema el programador debe
idear una solución y expresarla usando un algoritmo (aquí es donde entra a
jugar); luego de esto, debe codificarlo en un determinado lenguaje de
programación y por último ejecutar el programa en el computador el cual refleja
una solución al problema inicial. Esto es a grandes rasgos lo que hace el
programador de computadores.
La parte que corresponde a este manual es la de:
Dado un determinado problema debemos idear una solución y expresarla usando un
ALGORITMO!.
Metodología para la solución de problemas por
medio de computadora
·
DEFINICIÓN DEL PROBLEMA
Esta fase está dada por el enunciado del problema, el cual requiere una
definición clara y precisa. Es importante que se conozca lo que se desea que
realice la computadora; mientras esto no se conozca del todo no tiene mucho
caso continuar con la siguiente etapa.
·
ANÁLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es necesario
definir:
o
Los datos de entrada.
o
Cual es la información que se desea producir (salida)
o
Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación
muy práctica es el de colocarse en el lugar de la computadora y analizar qué es
lo que se necesita que se ordene y en qué secuencia para producir los
resultados esperados.
·
DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son:
o
Debe tener un punto particular de inicio.
o
Debe ser definido, no debe permitir dobles interpretaciones.
o
Debe ser general, es decir, soportar la mayoría de las variantes que se
puedan presentar en la definición del problema.
o
Debe ser finito en tamaño y tiempo de ejecución.
o
Diseño del Algoritmo
o
Prueba de escritorio o Depuración
Se
denomina prueba de escritorio a la comprobación que se hace de un algoritmo
para saber si está bien hecho. Esta prueba consiste en tomar datos específicos
como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un
resultado, el análisis de estos resultados indicará si el algoritmo está
correcto o si por el contrario hay necesidad de corregirlo o ha¿TIPOS DE ALGORITMOS
?
Existen dos tipos y son llamados así por su naturaleza:
·
Cualitativos: Son aquellos en los que se describen los pasos utilizando
palabras.
·
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos
para definir los pasos del proceso.
Lenguajes Algorítmicos
Un Lenguaje algorítmico es una serie de símbolos
y reglas que se utilizan para describir de manera explícita un proceso.
Tipos de Lenguajes Algorítmicos
·
Gráficos: Es la representación gráfica de las operaciones que realiza un
algoritmo (diagrama de flujo).
·
No Gráficos: Representa en forma descriptiva las operaciones que debe
realizar un algoritmo (pseudocodigo).
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
Metodología para la creación de
algoritmos
Ahora que ya sabemos qué es un algoritmo, vamos a estudiar la
metodología para la solución de un problema mediante un ordenador. La creación
de un algoritmo y su programación es una etapa, pero como programador debes
realizar varios pasos antes y después.
El computador es una máquina que por sí sola no
puede hacer nada, necesita ser programada, es decir, introducirle instrucciones
u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un
problema inicial, así que todo comienza allí: en el Problema. El proceso de
programación es el siguiente: Dado un determinado problema el programador debe
idear una solución y expresarla usando un algoritmo (aquí es donde entra a
jugar); luego de esto, debe codificarlo en un determinado lenguaje de
programación y por último ejecutar el programa en el computador el cual refleja
una solución al problema inicial. Esto es a grandes rasgos lo que hace el
programador de computadores.
La parte que corresponde a este manual es la de:
Dado un determinado problema debemos idear una solución y expresarla usando un
ALGORITMO!.
Metodología para la solución de problemas por
medio de computadora
·
DEFINICIÓN DEL PROBLEMA
Esta fase está dada por el enunciado del problema, el cual requiere una
definición clara y precisa. Es importante que se conozca lo que se desea que
realice la computadora; mientras esto no se conozca del todo no tiene mucho
caso continuar con la siguiente etapa.
·
ANÁLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es necesario
definir:
o
Los datos de entrada.
o
Cual es la información que se desea producir (salida)
o
Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación
muy práctica es el de colocarse en el lugar de la computadora y analizar qué es
lo que se necesita que se ordene y en qué secuencia para producir los
resultados esperados.
·
DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son:
o
Debe tener un punto particular de inicio.
o
Debe ser definido, no debe permitir dobles interpretaciones.
o
Debe ser general, es decir, soportar la mayoría de las variantes que se
puedan presentar en la definición del problema.
o
Debe ser finito en tamaño y tiempo de ejecución.
o
Diseño del Algoritmo
o
Prueba de escritorio o Depuración
Se
denomina prueba de escritorio a la comprobación que se hace de un algoritmo
para saber si está bien hecho. Esta prueba consiste en tomar datos específicos
como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un
resultado, el análisis de estos resultados indicará si el algoritmo está
correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.
Ahora que ya sabemos qué es un algoritmo, vamos a estudiar la metodología para la solución de un problema mediante un ordenador. La creación de un algoritmo y su programación es una etapa, pero como programador debes realizar varios pasos antes y después.
El computador es una máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducirle instrucciones u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en el Problema. El proceso de programación es el siguiente: Dado un determinado problema el programador debe idear una solución y expresarla usando un algoritmo (aquí es donde entra a jugar); luego de esto, debe codificarlo en un determinado lenguaje de programación y por último ejecutar el programa en el computador el cual refleja una solución al problema inicial. Esto es a grandes rasgos lo que hace el programador de computadores.
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
- DEFINICIÓN DEL PROBLEMA
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa. - ANÁLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:- Los datos de entrada.
- Cual es la información que se desea producir (salida)
- Los métodos y fórmulas que se necesitan para procesar los datos.
- DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son: - Debe tener un punto particular de inicio.
- Debe ser definido, no debe permitir dobles interpretaciones.
- Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
- Debe ser finito en tamaño y tiempo de ejecución.
- Diseño del Algoritmo
- Prueba de escritorio o Depuración
¿TIPOS DE ALGORITMOS
?
Existen dos tipos y son llamados así por su naturaleza:
Existen dos tipos y son llamados así por su naturaleza:
·
Cualitativos: Son aquellos en los que se describen los pasos utilizando
palabras.
·
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos
para definir los pasos del proceso.
Lenguajes Algorítmicos
Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
Tipos de Lenguajes Algorítmicos
·
Gráficos: Es la representación gráfica de las operaciones que realiza un
algoritmo (diagrama de flujo).
·
No Gráficos: Representa en forma descriptiva las operaciones que debe
realizar un algoritmo (pseudocodigo).
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
Metodología para la creación de
algoritmos
Ahora que ya sabemos qué es un algoritmo, vamos a estudiar la
metodología para la solución de un problema mediante un ordenador. La creación
de un algoritmo y su programación es una etapa, pero como programador debes
realizar varios pasos antes y después.
El computador es una máquina que por sí sola no
puede hacer nada, necesita ser programada, es decir, introducirle instrucciones
u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un
problema inicial, así que todo comienza allí: en el Problema. El proceso de
programación es el siguiente: Dado un determinado problema el programador debe
idear una solución y expresarla usando un algoritmo (aquí es donde entra a
jugar); luego de esto, debe codificarlo en un determinado lenguaje de
programación y por último ejecutar el programa en el computador el cual refleja
una solución al problema inicial. Esto es a grandes rasgos lo que hace el
programador de computadores.
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
·
DEFINICIÓN DEL PROBLEMA
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
·
ANÁLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
o
Los datos de entrada.
o
Cual es la información que se desea producir (salida)
o
Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación
muy práctica es el de colocarse en el lugar de la computadora y analizar qué es
lo que se necesita que se ordene y en qué secuencia para producir los
resultados esperados.
·
DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son:
Las características de un buen algoritmo son:
o
Debe tener un punto particular de inicio.
o
Debe ser definido, no debe permitir dobles interpretaciones.
o
Debe ser general, es decir, soportar la mayoría de las variantes que se
puedan presentar en la definición del problema.
o
Debe ser finito en tamaño y tiempo de ejecución.
o
Diseño del Algoritmo
o
Prueba de escritorio o Depuración
Se
denomina prueba de escritorio a la comprobación que se hace de un algoritmo
para saber si está bien hecho. Esta prueba consiste en tomar datos específicos
como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un
resultado, el análisis de estos resultados indicará si el algoritmo está
correcto o si por el contrario hay necesidad de corregirlo o ha¿TIPOS DE ALGORITMOS
? Existen dos tipos y son llamados así por su naturaleza:
·
Cualitativos: Son aquellos en los que se describen los pasos utilizando
palabras.
·
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos
para definir los pasos del proceso.
Lenguajes Algorítmicos
Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
Tipos de Lenguajes Algorítmicos
·
Gráficos: Es la representación gráfica de las operaciones que realiza un
algoritmo (diagrama de flujo).
·
No Gráficos: Representa en forma descriptiva las operaciones que debe
realizar un algoritmo (pseudocodigo).
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
Metodología para la creación de
algoritmos
Ahora que ya sabemos qué es un algoritmo, vamos a estudiar la
metodología para la solución de un problema mediante un ordenador. La creación
de un algoritmo y su programación es una etapa, pero como programador debes
realizar varios pasos antes y después.
El computador es una máquina que por sí sola no
puede hacer nada, necesita ser programada, es decir, introducirle instrucciones
u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un
problema inicial, así que todo comienza allí: en el Problema. El proceso de
programación es el siguiente: Dado un determinado problema el programador debe
idear una solución y expresarla usando un algoritmo (aquí es donde entra a
jugar); luego de esto, debe codificarlo en un determinado lenguaje de
programación y por último ejecutar el programa en el computador el cual refleja
una solución al problema inicial. Esto es a grandes rasgos lo que hace el
programador de computadores.
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!.
Metodología para la solución de problemas por medio de computadora
·
DEFINICIÓN DEL PROBLEMA
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
·
ANÁLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
o
Los datos de entrada.
o
Cual es la información que se desea producir (salida)
o
Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación
muy práctica es el de colocarse en el lugar de la computadora y analizar qué es
lo que se necesita que se ordene y en qué secuencia para producir los
resultados esperados.
·
DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son:
Las características de un buen algoritmo son:
o
Debe tener un punto particular de inicio.
o
Debe ser definido, no debe permitir dobles interpretaciones.
o
Debe ser general, es decir, soportar la mayoría de las variantes que se
puedan presentar en la definición del problema.
o
Debe ser finito en tamaño y tiempo de ejecución.
o
Diseño del Algoritmo
o
Prueba de escritorio o Depuración
Se
denomina prueba de escritorio a la comprobación que se hace de un algoritmo
para saber si está bien hecho. Esta prueba consiste en tomar datos específicos
como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un
resultado, el análisis de estos resultados indicará si el algoritmo está
correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.
Ejemplos de algoritmos
Algortimo para escuchar un cd en un reproductor de música.
Paso 1. Inicio
Paso 2. Encender el reproductor
Paso 3. Presionar el botón Eject para abrir la unidad de cd
Paso 4. Insertar cd de audio en la unidad
Paso 5. Presionar el botón Eject para cerrar la unidad de cd
Paso 6. Esperar a que la unidad detecte el cd e inicie la reproducción
Paso7. Ajustar el volumen
Paso 8. Escuchar música
Paso 9. Fin
Algoritmo para obtener el área de un triangulo
Paso 1. Inicio
Paso 2. Identificar las medidas de la base y altura
Paso 3. Multiplicar base por altura
Paso 4. Dividir el resultado del paso 3 entre 2
Paso 5. Generar el resultado del paso 4
Paso 6. Fin
Los programadores bien saben que deben conocer de lenguajes y de algoritmos al momento de escribir cualquier tipo de código, es por ello que con cierta eventualidad deberán resolver ejercicios de algoritmos basicos, para repasar sus habilidades en programación.
Los algoritmos no más que diversas instrucciones preestablecidas, los cuales guiaran las acciones de determinada programación que se ejecutará bajo esas reglas. La ejecución de algoritmos suele graficarse en forma de diagramas de flujos, los cuales permiten ver mejor cuales son los pasos a seguir y las posibles opciones.
Paso 1. Inicio
Paso 2. Encender el reproductor
Paso 3. Presionar el botón Eject para abrir la unidad de cd
Paso 4. Insertar cd de audio en la unidad
Paso 5. Presionar el botón Eject para cerrar la unidad de cd
Paso 6. Esperar a que la unidad detecte el cd e inicie la reproducción
Paso7. Ajustar el volumen
Paso 8. Escuchar música
Paso 9. Fin
Algoritmo para obtener el área de un triangulo
Paso 1. Inicio
Paso 2. Identificar las medidas de la base y altura
Paso 3. Multiplicar base por altura
Paso 4. Dividir el resultado del paso 3 entre 2
Paso 5. Generar el resultado del paso 4
Paso 6. Fin
Los
programadores bien saben que deben conocer de lenguajes y de algoritmos al
momento de escribir cualquier tipo de código, es por ello que con cierta
eventualidad deberán resolver ejercicios de algoritmos
basicos,
para repasar sus habilidades en programación.
Los algoritmos
no más que diversas instrucciones preestablecidas, los cuales guiaran las
acciones de determinada programación que se ejecutará bajo esas reglas. La
ejecución de algoritmos suele graficarse en forma de diagramas de flujos, los
cuales permiten ver mejor cuales son los pasos a seguir y las posibles
opciones.
Características de un
algoritmo
Existe una
especie de reglas que, de no cumplirse, harán que el algoritmo no resuelva
problemas, sino que sea un problema en sí mismo:
§
Precisión:
Cada paso bien trabajado
§
Finito:
Pasos limitados
§
Definido:
Mismas condiciones, mismos resultados
§
Resoluto:
Debe producir un resultado
Entre los ejemplos
de algoritmos cotidianos es la rutina de la vista al baño en la
mañana. Al inicio se abre el grifo, se mojan las manos, luego estas mojan la
cara, si no se siente lo suficientemente mojada se repite el paso dos y luego
el tres.
Esas reglas
estructuran el orden de las acciones, las cuales llevan a un fin determinado,
no al azar. Un ejemplo de algoritmo informático es la programación que
tienen algunas páginas web para detectar si una contraseña tiene o no los
valores requeridos. Si la contraseña es correcta, se puede acceder a la cuenta,
si no lo es, el acceso es denegado.
Un algoritmo
mal ejecutado o planeado puede acabar permitiendo el acceso a cualquier
usuario, negándolo al usuario que introduzca la contraseña correcta o
sencillamente no respondiendo.
Lenguajes de un algoritmo
Para los que
desconocen los lenguajes que usan los ingenieros en software y/o computación,
los algoritmos son sencillamente incomprensibles. Esto hace referencia a que
están escritos en un leguaje para ordenadores, y no es las lenguas usadas por
el hombre.
§
Lenguaje
maquina
§
Lenguaje
ensamblador
§
Lenguaje
de alto nivel
Un algoritmo esta compuesto por tres elementos esenciales :
- Cabecera :donde se da el nombre del algoritmo y se declaran las variables
- Cuerpo: donde se realizan todas las acciones del programa
- Final: donde se da finalizacion,porque debe ser finito.
- En términos generales, un Algoritmo debe ser:
• Realizable: El proceso algorítmico debe terminar después de una cantidad finita de pasos. Se dice que un algoritmo es inaplicable cuando se ejecuta con un conjunto de datos iniciales y el proceso resulta infinito o durante la ejecución se encuentra con un obstáculo insuperable sin arrojar un resultado.
• Comprensible: Debe ser claro lo que hace, de forma que quien ejecute los pasos (ser humano o máquina) sepa qué, cómo y cuándo hacerlo. Debe existir un procedimiento que determine el proceso de ejecución.
• Preciso: El orden de ejecución de las instrucciones debe estar perfectamente indicado. Cuando se ejecuta varias veces, con los mismos datos iniciales, el resultado debe ser el mismo siempre. La precisión implica determinismo.
Luego de analizar detalladamente el problema hasta entenderlo completamente, se procede a diseñar un algoritmo (trazar un plan) que lo resuelva por medio de pasos sucesivos y organizados en secuencia lógica. El concepto intuitivo de algoritmo (procedimientos y reglas) se puede encontrar en procesos naturales de los cuales muchas veces no se es conciente. La familiaridad de lo cotidiano impide a las personas ver muchos algoritmos que se suceden a su alrededor. Procesos, rutinas o biorritmos naturales como la gestación, las estaciones, la circulación sanguínea, los ciclos cósmicos, etc, son algoritmos naturales que generalmente pasan desapercibidos.
EJEMPLO1 :
© Diseñar un algoritmo (seudocódigo ) para hallar el área de un triángulo rectángulo cuya Base mide 3 cm, la Altura 4 cm y la Hipotenusa 5 cm.
R/
ANÁLISIS DEL PROBLEMA
Formular el problema: Ya se encuentra claramente planteado.
Resultados esperados: El área de un triángulo rectángulo.
Datos disponibles: Base, Altura, Hipotenusa, tipo de triángulo. Laincógnita es el ár ea y todos los valores son constantes. El valor de la hipotenusa se puede omitir. El estudiante debe preguntarse si sus conocimientos actuales de matemáticas le permiten resolver este problema; de no ser así, debe plantear una estrategia para obtener
los conocimientos requeridos.
Determinar las restricciones: Utilizar las medidas dadas.
Procesos necesarios: Guardar en dos variables (BASE y ALTURA) los valores de Base y Altura; Guardar en una constante (DIV) el divisor 2; aplicar la fórmula BASE*ALTURA/DIV y guardar el resultado en la variable AREA; comunicar el resultado (AREA).
© Diseñar un algoritmo (seudocódigo ) para hallar el área de un triángulo rectángulo cuya Base mide 3 cm, la Altura 4 cm y la Hipotenusa 5 cm.
R/
ANÁLISIS DEL PROBLEMA
Formular el problema: Ya se encuentra claramente planteado.
Resultados esperados: El área de un triángulo rectángulo.
Datos disponibles: Base, Altura, Hipotenusa, tipo de triángulo. Laincógnita es el ár ea y todos los valores son constantes. El valor de la hipotenusa se puede omitir. El estudiante debe preguntarse si sus conocimientos actuales de matemáticas le permiten resolver este problema; de no ser así, debe plantear una estrategia para obtener
los conocimientos requeridos.
Determinar las restricciones: Utilizar las medidas dadas.
Procesos necesarios: Guardar en dos variables (BASE y ALTURA) los valores de Base y Altura; Guardar en una constante (DIV) el divisor 2; aplicar la fórmula BASE*ALTURA/DIV y guardar el resultado en la variable AREA; comunicar el resultado (AREA).
ALGORITMO EN SEUDOCÓDIGO
Paso 1: Inicio
Paso 2: Asignar el número 2 a la constante “div”
Paso 3: Asignar el número 3 a la constante “base”
Paso 4: Asignar el número 4 a la constante “altura”
Paso 5: Guardar en la variable “área” el resultado de base*altura/div
Paso 6: Imprimir el resultado.
Paso 7: fin
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Paso 1: Inicio
Paso 2: Asignar el número 2 a la constante “div”
Paso 3: Asignar el número 3 a la constante “base”
Paso 4: Asignar el número 4 a la constante “altura”
Paso 5: Guardar en la variable “área” el resultado de base*altura/div
Paso 6: Imprimir el resultado.
Paso 7: fin
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Los Algoritmos son una herramienta que permite describir claramente un conjunto finito de instrucciones, ordenadas secuencialmente y libres de ambigüedad, que debe llevar a cabo un computador para lograr un resultado previsible. Vale la pena recordar que un programa de computador consiste de una serie de instrucciones muy precisas y escritas en un lenguaje de programación que el computador entiende (Visual Basic, Java, Pascal, etc).
EJEMPLO2 : Elaborar un Algoritmo para calcular el área de cualquier triángulo rectángulo y presentar el resultado en pantalla.
SEUDOCÓDIGO
Paso 1: Inicio
Paso 2: Asignar el número 2 a la constante “Div”
Paso 3: Conocer la base del triángulo y guardarla en la variable “Base”
Paso 4: Conocer la altura del triángulo y guardarla en la variable “Altura”
Paso 5: Guardar en la variable “Area” el valor de multiplicar “Base” por “Altura”
Paso 6: Guardar en la variable “Area” el valor de dividir “Area” entre “Div”
Paso 7: Reportar el valor de la variable “Area”
Paso 8: Final.
Paso 2: Asignar el número 2 a la constante “Div”
Paso 3: Conocer la base del triángulo y guardarla en la variable “Base”
Paso 4: Conocer la altura del triángulo y guardarla en la variable “Altura”
Paso 5: Guardar en la variable “Area” el valor de multiplicar “Base” por “Altura”
Paso 6: Guardar en la variable “Area” el valor de dividir “Area” entre “Div”
Paso 7: Reportar el valor de la variable “Area”
Paso 8: Final.
EJERCICIOS
1) Cuadrado algoritmo cuadrado de un numero
- var
- x cuadrado :entero;
- inicio
- escriba(“x”)
- lea (x)
- cuadrado =x.x;
- escriba(“el resultado es “,cuadrado);
- fin
2) Algoritmo para verificar, si un numero es positivo o negativo
- var
- x:entero;
- inicio
- escriba (“ingrase #”)
- lea (x)
- si(x>0)
- escriba (“el numero es positivo “);
- si_no
- escriba (“el numero es negativo”);
- fin_si
- fin
3) algoritmo leer una temperatura en grados centigrados y convertirla en grados fahreheit
- var
- C°,F°:entero
- inicio
- escirba (“ingrese un cantidad en grados centigrados”)
- lea (C°)
- F°=C°*(9/5)+32;
- escriba (“F°”);
- fin
4) Algritmo de conversión
- var
- m,km,cm,pies,pulgadas:entero;
- inicio
- escriba(“porfavor ingrese una cantidad en m”);
- lea (m);
- cm=m*100;
- escriba (“la convercion a cebtimetros es”:cm);
- km=m/1000;
- escriba(“la convercion a kilometros es “:km);
- pies=m*3.3
- escriba (“la convercion a pies es “:pies)
- pulgadas=m*39.37
- escriba (“la convercion a pulgadas es “:pulgadas);
- fin
5) algortmo que determinas el Area y Volumen de un cilindro
- var
- R,H,V,A:reales;
- inicio
- escriba (“ingrese el Radio”);
- lea (R);
- escriba (“ingrese la altura”);
- lea(H);
- A=2*pi R *H;
- escriba (“el area es:”,A);
- V=pi*R2 *H;
- escriba(“el volumen es:”,V);
- fin
6) algoritmo verificar si una persona puede prestar el servicio militar
- var
- edad:estero;
- genero, nacionalidad:caracter;
- inicio
- escriba(“ingrese la edad “);
- lea (edad);
- escriba (“ingrese genero”);
- lea (genero);
- escriba(“ingrese nacionalidad”);
- loea(nacionalidad);
- si(edad>18 y edad <25)
- si (genero =masculino)
- si(nacionalidad=colombiano);
- escriba (es apto);
- si no
- escriba(“no es apto”);
- fin_si
- fin_si
- fin_si
- fin.
7) lgoritmo para dterminar el interes que genera un prestamo
- var
- prestamo,knt,mont:entero;
- inicio
- escriba(“ingrese valor del prestamo”);
- lea (prestamo)
- int=prestamo*1.8/100;
- mont=int*12;
- escriba(“el monto total es :”,mont);
- fin
8) Algoritmo para visualizar numero Descendente
- var
- a,b,c:estero;
- inicio
- escriba (“ingrese el primer numero”);
- lea(a)
- escriba(“ingrese el segundo numero”);
- lea(b)
- escriba(“ingrese el tercer numero”);
- lea(c)
- si (a>b y a>c)
- escriba (“el numero es “:,a);
9)Algoritmo para determinar la comisión de un vendedor.
- var
- venta, c:entero;
- escriba (“ingrese venta”);
- lea (venta);
- si (venta <1000000)
- c=venta *3%
- escriba (“comicion es “:c);
- si_no
- c=venta*5%
- escriba (“comicion es “:c);
- fin si
- fin
10) Algoritmo para hacer una calculadora
- var x,y,operación,S,M,R,D,:entero ;
- inicio
- escriba (“ingrese el primer numero”);
- lea (x);
- escriba (“ingrese el segundo numero”);
- lea(y);
- escriba (“ingrese la operación”);
- lea (operación);
- si (operación =Suma )
- S=x+y;
- escriba (“la suma es :”,S);
- si_no si (operación =resta)
- R=x-y;
- escriba (“la resta es :”,R);
- si_no si (operación = multiplicación)
- M=x*y;
- escriba(“multiplicaciones:”,M);
- sino si (operación =division)
- D=x/y;
- escriba(“la division es :”,D)
- fin_si
- fin_si
- fin_si
- fin_si
- fin
ESTRUCTURAS DE SELECCION
Las estructuras de seleccion son estructuras de control utilizadas para la toma decisiones dentro de un programa. A estas estructuras se conocen tambien como estructuras selectivas o estructuras de decision y son las siguientes :
- La estructurada de seleccion simple (SI)
- La estructura de seleccion doble (SI-SINO)
- Estructura de seleccion doble en cascada SI-SINO-SI
ESTRUCTURAS DE SECUENCIA CICLOS O BUCLES
Este tipo de estructuras marcan como orden de ejecucion la reiteracion de una serie de acciones basandose en un bucle.
“Un BUCLE(loop, en ingles )” es un trozo de algoritmo cuyas instrucciones son repetitivas un cierto numero de veces, mientras se cumple una cierta ondicion que ha de ser claramente espesificadas. La condicion podra ser verdadera o falsa, y se comprobara en cada paso o iteracon de bucle.
Basicamente, existen tres tipos de estructuras epetitivas :
DESDE O PARA:este tipo de ciclo es ideal cuando se conoce la cantidad de veces que se desea ejecutar una accion.
MIENTRA QUE:este tipo de ciclo se ejecuta mientras se cumpla una determinada condicio, en este caso la condicion se evalua al inicio del ciclo.
REPITA….. HASTA QUE:este ciclo es similar al anterio, solo que en este tipo de ciclo, la condicion es evaluada al final,permitiendo que el bucle se ejecute por lo menos una vez.
Una forma de controlar un bucle es mediante una variable llamada CONTADOR,cuyo valor se incrementa o decremento en un cantidad constante en cada repeticion que se produzca.
Tambien en los bucles suele haber otro tipo de variables lamadas ACOMULADOR, cuya mision es almacenar un cantidad variable resultante de operaciones sucesivas y repetidas. Es como un contador, con la diferencia que el incremento /decremento es variable.
TALLER
1) Dado un tiempo en cegundos calcular los segundos restantes que le correspondan para convertirse en minutos
2) dado un tiempo en minutos calcular los dias , horas y minutos que le coresponden.
3) calcular mediante un algoritmo repetitivo la suma de los n primeros numeros naturales
4)realizar un algoritmo que permita pedir 50 numeros naturales y determine e imprima cuantos son pares,impares,positivos y negativos.
SOLUCION
1)Algoritmo hallar segundos;
var seg,min,f,s:entero;
- inicio
- escriba (“ingrese el valor en segundos “);
- lea(seg);
- si (seg<60)
- f=seg-60;
- escriba(“lo que falta es “;,f);
- si_no
- min=seg/60
- s=seg mod 60;
- f=s-60
- escriba(“los minutos son:”,min);
- escriba (“lo que falta es “:,f);
- fin_si
- fin_si
- fin.
2)Algoritmo tiempo en dias, horas y minutos:
var tiempo,dias,horas,minutos;segundos : integer
- inicio
- escriba(“ingrese tiempo”);
- lea(tiempo);
- si dias =tiempo / 1440
- x =tiempo mod 1440
- horas =x /60
- minutos=x mod 60
- imprima
3) Algoritmo suma de n numeros naturales
- var num,k,suma:entero
- inicio
- suma=0
- escriba(“ingrese numero a sumar “);
- lea (num);
- para (k=1 hasta num)hacer
- suma =suma+k;
- fin_para
- escriba(el numero es;:,”suma)
- fin.
4) Algoritmo para visualizar 50 numeros naturales
- var
- numero:entero;
- inicio
- para (k=1 hasta 50)hacer;
- escriba (“ingrese numero”)
- lea (numero);
- si(num mod 2 =0);
- escriba (“el numero espar”);
- si_no
- escriba(“el numero es inpar “);
- fin_si
- si(num>0);
- escriba (“el numero es positivo”);
- si_no
- escriba (“el nuimero es negativo”);
- fin _si
- fin_para
- fin
EJERCIOS DE VERIFICACION
1)realizar un algoritmo que permita leer 20 temperaturas (grados C°) diferentes durante un dia , se debe iniciar cual fue la temperatura de ese dia.
- algoritmo temperatura promedio
- var temp,prom,k,tempt:entero;
- inicio
- temp=0
- para (k=1hasta20)hacer
- escriba(“ingrese temperatura”);
- lea(temp);
- tempt=tempt+temp;
- fin_para
- prom=tempt/K;
- escriba (“la temperatura promedio es:”;prom)
- fin
2) Se desea desarrollar un algoritmo que permita, desarrollar la tabla de multiplicar de un determinado numero (la tabla basica 1 a 9).
- algoritmo tabla basica del 1 al 9
- var num,k,tabla:entero;
- inicio
- escriba(“ingrese el numero que desea hacer tabla “);
- lea(num);
- para (k=1 hasta 9) hacer
- tabla =num* k;
- escriba(“k,”*”,num,”=”, tabla);
- fin_para
- fin
4)Variacion del ejercicio anterior,se debe desarrollar un algoritmo que permita mostra la tabla del 1 al 9.
- algoritmo mostrar tabla del 1 al 9
- var
- k,j,tabla:entero;
- inicio
- para(k=1 hasta 9)hacer
- para(j=1hasta 9)hacer
- tabla=k*j;
- escriba(“k,”+”,j,”=”,tabla);
- fin_para
- fin_para
- fin.
5)se desea cunstruir un algoritmo que permita imprimir el resultado del factorial de un numero dado (factorial=n)
- algoritmo de factorial
- var
- num,fac,k:entero;
- inicio
- fact=1;
- escriba(“digite el num que desee conocer el factorial”);
- lea (num);
- para (k=1 hasta num ) hacer
- fact=fact*K;
- fin_para
- escriba(“el factorial es :”;fact);
- fin.
LENGUAJES DE PROGRAMACION
–Fortran: Es el primer lenguaje de programacion conciderado de alto nivel originalmente significa sistema de traducción de formulas matemáticas (en ingles y abreviado formula traslation) fue diseñado en IBN durante los años 50 se convirtió en un lenguaje muy popular en los años 60 provocando que existieran numerosos compiladores y versiones del mismo por lo que se regularizo en 1974 llamándose la versión Fortran 66, pero la versión final es la del Fortran 77 regularizada por ANSI en 1980.
-Cobol: El deseo de desarrollar un lenguaje de programacion que pudiera utilizarse en cualquier computadora utilizarse en cualquier computadora,hizo que se reuniera en 1959 un grupo compuesto por fabricantes de computadoras empresas privadas y representantes del gobierno de los E.E.U.U llamado comisión Codasyl.de estas reuniones surgió el colon es un lenguaje dirigido hacia la jestion. es la primera versión fue llamada Cobol-60 ya que nació en 1960. Cobol es un lenguaje con una estructura definida cada parte con un objeto concreto. facilitando así su comprecion, su vocabulario es pare sido al ingles y esta preparado para la gestión de datos en aplicaciones comerciales.
-Pascal: desarrollado por el profesor suizo Niklaus Wirth a finales de los años 60 su objetivo era crear un lenguaje de la que facilitara el aprendisaje de la programacion a sus alumnos sin embargo con el tiempo su utilizacion excedio el ambito academico para convertirse en una herramienta para la creacion de aplicaciones de todo tipo.
-object pascal: es una evolucion del lenguaje de programacion pascal, orienta a objetos ,encuanto a como se programa.
-DELPHI: es un entorno de desarrollo de software diseñado para la programacion de proposito general con enfasis en la programacion visual con el delphi podemos programar tanto controladores como servidores de automatizacion, tambien podemos utilizar en el delphi componentes visuales de otro lenguaje de programacion, es un lenguaje actualizado
-JAVA: es un lenguaje de programacion orientado a objetos desarrollado por sun microsystems a principios de los años 90. El lenguaje en si mismo toma mucha de sus sintaxis de C y C++, pero tiene un modelo de objetos mas simple y elimina herramientas de bajo nivel que suele inducir a michos errores como la manipulacion directa de punteros o memoria
-C++: es un lenguaje de programacion diseñado a mediados a mediados de los años 1983 por Bjarme Stroustrup, como extencion del lenguaje de programacion C
-VISUAL BASIC: proviene del vasic, la primera vercion de este lenguaje de programacion visual basic, fue presentado en el año 1991. la intencion de este primer programa era simplificar la programacio utilizaada en un entorno de trabajo claro que permite crear interfases graficas facilitando asi la programacon. la sintaxis que utiliza este lenguaje de programacion proviene del conocido basic ,pero conpletada con comandos y codigos de otros lenguajes mas modernos .
-VISUAL FOXPRO: creado por fox technologies en 1984 es un lengueje orientado a objetos y prosede a un gestor de base de datos
-VISUAL ORACLE: surge a finales de los 70 bajo el nombre de relational software es un sistema de gestion de base de datos relacional se considera como uno de los sistemas de bases de datos mas completa, fabricado por Oracle Corporation .
-HTML: especializado en crear paginas web para ello se utiliza una serie de etiquetastodo documento creado con thml tiene una estructura claramente definida, siempre comiensa con la etiqueta que es la que comprende de toda la pagina web tiene dos secciones basicas bien diferenciadas, la cabecera y el cuerpo que corresponde con las etiquetas y pectivamente.gracias a este lenguaje podemos visualizar los archivos que encontramos en internet, HTML=abrio el mercado sin fronteras
-VISUAL BASIC .NET: fue publicado junto con visual C# en 2002 como uno de los lenguajes disponibles para la entonces nueva plataforma de programacion .NET de microsft
–AJAX: a pesar del termino Ajax fuese creado en 2005 la hirtotria de las tecnologias que permiten. Ajax se remonta a una decada antes con la iniciativa de microsoft en el desarrollo web para crear aplicaciones interactivas.Estas aplicaciones se ejecutan en el cliente es decir en el navegador de los usuarios mientra se mantiene la comunicacion con el servidor en sugundo plano
-ADA: 1979 derivado del pascal, utilizado principalmente por los militares
–ALGOL:( Lenguaje algol algoritmico) 1960 promer lenguaje de programacion procedural estructurado,utilizado sobre todo para resolver problemas matematicos .
-BASIC:(codigo de instrucciones simbolicos multipropositos para principantes) 1965 lenguaje de alto nivel utilizado con frecuencia por programadores principales .
-C:prodecesor del lenguaje de programacion B, fue desarrollado en Bell Laboratory en 1972
lenguaje de programacion complicado y estructurado, que suele utilizarse en numerosos lugares de trabajo porque sus programas pueden transferirse facilmente entre distintos tipos de computadoras.
EJERCICIOS DE LOGICA
1) En el ascensor cuatro jugadores de rugby entran en un ascensor que puede transportar un maximo de 380 KL para que no suene la alarma que detendria el ascensor por exeso de carga.Tiene usted que calcular su peso total con gran rapides pero cuanto pesa cada jugador, e aqui los datos:
Pablo es quien pesa mas si cada uno de los otros pesara tanto como el la alarma detendria el ascensor
Carlos es el mas ligero el ascensor podria subir a 5 como el, renato pesa 14KL menos que pablo y solo 6 menos que Jesus
Jesus pesa 17KL mas que Carlos los pasos de Pablo y de Carlos son multiplos de 5
SOLUCION
PABLO: 100
CARLOS:75
RENATO:86
JESUS:92
CARLOS 75+17=JESUS 92-6=RENATO 86+14=PABLO100
2)El numero
buscamos un numero de 6cifras con las siguientes condicones :
ninguna cifra es impar
la primera es un tercio de la quinta y la mitad de la tercera
la segunda es la menor de todas
la ultima es la diferencia entre la cuarta y la quinta
SOLUCION
el numero es:
204862
204660
3)Comiendo en el restaurante
Armando,Bacilio,Carlos y dionicio fueron con sus mejeres a comer.En el restaurante se centaron en una mesa redondaen forma que :
ninguna mujer se centara al lado de su marido , en frente de bacilio se centaba dionicio ,a la derecha de la mujer de bacilio se centaba carlos no havia dos mujeres juntas .
¿quien se sentaba entre bacilio y armando ?
SOLUCION
LA MUJER DE CARLOS
4) La logica de einsten,condiciones iniciales :
Tenemos 5 casas cada una de color cada casa tiene un dueño de nacionalidad diferente los 5 dueños beben una bebida diferente fuman marcas diferentes y tienen mascota diferente ningún dueño tiene la misma mascota fuma la misma marca o bebe el mismo tipo de bebida que otro
DATOS:
- El noruego vive en la primera casa junto a la casa azul
- El que vive em la casa del centro toma leche
- El ingles vive en la casa roja
- La mascota del zueco es un perro
- El dones bebe te
- La casa verde es la inmedita de la izquierda de la casa blanca
- El de la casa verde toma cafe
- El que fuma pall mall cria pajaros
- El de la casa amirilla fuma dunhill
- El que fuma blend vive junto al que tiene gatos
- El que tiene caballos vive junto al que fuma dunhll
- El que fuma blue master bebe cervesa
- El aleman fuma prince
- El que fuma blend tiene un vecino que bebe agua
¿quien tiene pases por mascotas ?
SOLUCION
CASA AMARILLA:
-noruego
-agua
-gatos
-fuma dunhill
CASA AZUL:
-dones
-te
-caballos
-fuma blend
CASA ROJA:
-ingles
-leche
-pajaros
-fuma pall mall
–CASA BLANCA:
-zueco
-cerbeza
-perro
-fuma blue master
CASA VERDE:
-aleman
-cafe
-peces
-prince
RESPUESTA: ALEMAN
LECTURA
El estudio de los lenguajes de programacion agrupa tres interese diferentes,el programador profesional ,diseñador del lenguaje y el implementador del lenguaje .
El programador es un tanto amorfo en el sentido de que camufla importantes diferencias entre distinto niveles y aplicaciones de la programacion .
El diseñador del lenguaje es tambien un termino algo nebulaso, algunos lenguajes fueron diseñados por una sola persona con un concepto unico mientras que otros son el producto de desarrollo de varios años realizados por comites de diseño de lenguajes .
El implementador del lenguaje es la persona o grupo que desarrolla un compilador o interprete ,para un lenguaje sobre una maquina particular o tipos de maquina. Cada uno de estos aspectos comprende nasecidades y ba muy ligados entre si con las actividades del otro .El lenguaje de programacion se clasifica por su nivel y principales aplicaciones tambien hay 4 distintos niveles de lenguaje de programacion :
- LENGUAJES DE CLARATIVOS:son los mas parecidos al castallenano o ingles, esta en el nivel mas alto respecto a los otros .
- LENGUAJES DE ORDENHES:sentencia que expresa “lo que hay que hacer”en ves de “como hacerlo”ejemplos de estos lenguajes son los lenguajes estadísticos como SAS y SPSS, los lenguajes de búsqueda de base de datos ,estos lenguajes se desarrollaron con la idea de que los profesionales asimilar mas rapido el lenguaje sin ayuda de programadores o practicas de programacion .
- LENGUAJE DE ALTO NIVEL:son los mas utilizados, permite que los algoritmos se expresen en un nive, y estilo de escritura fasilmente legible y comprencible por otro programador, tiene la caracteristica de “transportabilidad”es decir, que un programa puede ser facilmente transportado (transferido) de una maquina a otra.
- LENGUAJES ENSAMBLADORES Y LENGUAJES DE MAQUINA:son dependientes de la maquina ,el lenguaje ensamblador es simplemente una representación simbólica del lenguaje maquina . A mas bajo nivel de lenguaje mas serca esta de las caracteristicas de un tipo de maquina particular y mas alejado de ser comprendido por un humano ordinario.
TRES INTERFASES MAS COMUNES: ensamblador y el compilador traduce el pograma a otro equivalente en el lenguaje x de la maquina. Interprete:ejecuta directamente las instrucciones en un lenguaje de maquina de alto nivel algunos lenguajes interpretados son como:APL,PROLOG,LISP. lenguajes de compilador como lo son: FORTRAN,COBOL,C,ADA,etc.
los lenguajes de programacion son tomados de diferente perspectivas el programador decide que conceptos omitir o incluir en la programacion .
-Existen cinco estilos de programacion y esos son los siguintes :
- Orientados o objetivos
- Imperactiva:entrada, procedimiento y salida de datos
- Funcional: “funciones “, los datos son funciones ,los resultados pueden ser un valor o una funcion .
- Logico:{T,F}+ operacines logicas ( inteligencia artificial)
- Concurrente: aun esta en proceso de investigacion.
El programador diseñador e interprete de un lenguaje de programacion debe comprender la evolucion historica de los lenguajes para poder apreciar por que presentan caracteristicas diferentes. Lo mas importante es que la historia nos permite ver la evolucion de influencias de lenguaje de programacion ver la influencia que ejerce las arquitecturas y apli0caciones de las computadoras sobre el diseño aprendido las lecciones de pasado.
TIPOS DE DATOS Y OPERADORES
Como se apodido a lo largo de la lectura para que una computadora tenga una razon de ser se hace necesario la programacion de las mismas es decir realizar software que permita el ingreso de datos para ser trans formados en informacion, los datos que se ingrasan a una computadora pueden ser datos numericos .
Datos numericos:estan representados por dos tipos principales esteros representanlos numeros que no poseen componentes fracccionarios y pueden ser tanto positivos como negativos
-Los reales representan todos los numeros que poseen componentes fraccionarios y tambien pueden ser positivos o negativos.
Datos logicos:este tipo de datos solo puede tomar uno de dos valores verdadero o falso.
Datos tipo caracter: representan datos alfa numérico que pueden ser una cadena de caracteres que es una susecion de caracteres numéricos, letras, símbolos etc.Esta cadena inicia y termina con apostrofes o comillas dependiendo del lenguaje que se esta utilizando
Caracter: contiene solo un caracter y tambien se incluye las comilla para su asignación
Variables y constantes :una variable es un espacio reservado en el computador para contener valores que pueden cambiar durante el desarrollo del algoritmo. Los tipos de variable (numericas caracter logicas) determinan como se manipulara la información contenida en esas.
-Una variable que se ha definido de un cierto tipo solo puede formar valores de ese tipo.
-Una constante es un espacio reservado para contener valores que no cambian a lo largo de un algoritmo.
-Las variables locales son aquellas que afectan únicamente el subprograma.
-Las variable globales : afectan a un programa en todo su contexto .
Existen una serie de reglas para definir variables y constantes entre ellas estan:normalmente deben iniciar com una letra, no deben tener símbolos ni signos de puntuacion, no debe contener espacio en blanco.
Ejm: CONTADOR = correto
4444 = incorrecto
MI CONTADIOR = incorrecto
#juan = correcto
K = correcto
OPERADORES
Nos permiten con las variables y con las constantes dentro las cuales tenemos operadores aritmeticos ( ) potencia ,(*)producto,(/)divicion ,(+)suma, o (-)resta, MOD reciduo de una divicion , operadores alfanumericos con catenacion Ejem: “POL” + “LI” = POLLI
OPERADORES RELACIONALES
= Igual a
< menor que
<= menor igual a que
>=mayor igual que
<>distinto a
operadores logicos
NOT
AND
OR
operadorea parentesis ( )
El parentesis permite alterar el orden en que se realizan los diferentes operaciones
orden de evaluacion de los operadores
- parentesis
- cambio de signo
- potencia
- productos ydiviciones
- suma y restas
- concatenacion
- relacionales
- negacion
- conjuncion
- disyuncion
EJERCICIOS
1) X=5+3*2
X =5+6
X=11
2) X=5+5*4
X=5*20
X=25+25
X=50
3) X=4+(3*2)+7+4/2
X=4+6+7+4/2
X=4+6+7+2
X=19
4) A=5;B=10;C=8
X=A+B*C+(b-C)
X=X-A
A=5;B=10;C=8
X=A+B+*C+(B-C)
X=5+10+*8+(10-8)
X =5+80+2
X=87
X=X-A
X=87-5
X=82
5) X=35/4
X=X MOD 2
X=X+X
X=8
X= 8 MOD 2
X=0
X=0+0
No hay comentarios.:
Publicar un comentario