miércoles, 21 de noviembre de 2007

INTRODUCCION A PROGRAMACION

Lenguaje de programacion



Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente.



Un lenguaje de programación permite a un programador especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Lexico.



Lenguajes de alto y bajo nivel:



lenguaje de bajo nivel.- Es el tipo de lenguaje que cualquier computadora es capaz de entender. Se dice que los programas escritos en forma de ceros y unos están en lenguaje de máquina, porque esa es la versión del programa que la computadora realmente lee y sigue.



lenguajes de alto nivel.- Son lenguajes de programación que se asemejan a las lenguas humanas usando palabras y frases fáciles de entender.
En un lenguaje de bajo nivel cada instrucción corresponde a una acción ejecutable por el ordenador, mientras que en los lenguajes de alto nivel una instrucción suele corresponder a varias acciones.



Interpretes y compiladores.- Los compiladores, los intérpretes y los ensambladores se encargan de traducir lo que haya escrito en lenguaje de alto nivel (código fuente) y lo convierten a código objeto (casi ejecutable).

INTRODUCCION A PROGRAMACION

Lenguaje de programacion

Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente.

Un lenguaje de programación permite a un programador especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Lexico.

Lenguajes de alto y bajo nivel:

lenguaje de bajo nivel.- Es el tipo de lenguaje que cualquier computadora es capaz de entender. Se dice que los programas escritos en forma de ceros y unos están en lenguaje de máquina, porque esa es la versión del programa que la computadora realmente lee y sigue.

lenguajes de alto nivel.- Son lenguajes de programación que se asemejan a las lenguas humanas usando palabras y frases fáciles de entender.
En un lenguaje de bajo nivel cada instrucción corresponde a una acción ejecutable por el ordenador, mientras que en los lenguajes de alto nivel una instrucción suele corresponder a varias acciones.

Interpretes y compiladores.- Los compiladores, los intérpretes y los ensambladores se encargan de traducir lo que haya escrito en lenguaje de alto nivel (código fuente) y lo convierten a código objeto (casi ejecutable).

DEFINICION DE ALGORTMO

Es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solucion a un problema especifico.

Tambien puede definir una secuencia finita de instrucciones cada una de las cuales tiene un significado claro y puede ser efectuada con una cantidad finita de esfuerzo en una longitud de tiempo tambien finito.

HISTORIA DEL ALGORITMO

Acontinuacion conozca el por que se llama "ALGORITMO"...

La palabra algoritmo proviene del nombre del matemático llamado Muhammad ibn Musa al - Jwarizmi que vivió entre los siglos VIII y IX. Su trabajo consistió en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus libros eran de fácil comprensión, de ahí que su principal logro no fuera el de crear nuevos teoremas o corrientes de pensamiento, sino el de simplificar la matemática a punto tal que pudieran ser comprendidas y aplicadas por un mayor número de personas.
También estudió la manera de reducir las operaciones que formaban el cálculo. Es por esto que aun no siendo el creador del primer algoritmo, el concepto lleva aunque no su nombre, sí su pseudónimo.

TIPOS DE DATOS


Dato.- Es la expresión general que describe los objetos con los cuales opera el programa. Por ejemplo, la edad y el domicilio de una persona, forman parte de sus datos.Los datos se sitúan en objetos llamados variables.Los tipos son: simples (no estructurados) y compuestos (estructurados).

Tipos de datos simples
Tipos de datos compuestos

Variables.- Son zonas de memoria cuyo contenido cambia durante la fase de procesamiento de información. Son objetos cuyo valor puede ser modificado a lo largo de la ejecución de un programa.Las variables llevan un nombre llamado Identificador. Este puede ser una cadena de letras y dígitos, empezando siempre con una letra. Por ejemplo: Pi, curso99, nom_alum, etc.
Los identificadores.- Son palabras creadas por los programadores para dar nombre a los objetos y demás elementos que necesitamos declarar en un programa: variables, constantes, tipos, estructuras de datos, archivos, subprogramas, etc.

MEDIOS DE EXPRESION






DIAGRAMA DE FLUJO.- Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO. Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.




Ventajas:




Rápida comprensión de las relaciones.
Análisis efectivo de las diferentes secciones del programa.
Pueden usarse como modelos de trabajo en el diseño de nuevos.
Programas o sistemas.
Comunicación con el usuario.
Documentación adecuada de los programas.
Codificación eficaz de los programas.
Depuración y pruebas ordenadas de programas.





Desventajas:
Diagramas complejos y detallados suelen ser laboriosos en su planteamiento y diseño.
Acciones a seguir tras la salida de un símbolo de decisión, pueden ser difíciles de seguir si existen diferentes caminos.
No existen normas fijas para la elaboración de los diagramas de flujo que permitan incluir todos los detalles que el usuario desee introducir.





Simbolos a usarse:


PSEUDOCODIGO.- Pseudocódigo es la descripción de un algoritmo que asemeja a un lenguaje de programación pero con algunas convenciones del lenguaje natural. Tiene varias ventajas con respecto a los diagramas de flujo, entre las que se destaca el poco espacio que se requiere para representar instrucciones complejas. El pseudocódigo no está regido por ningún estándar






ESTRUCTURA SECUENCIAL

Es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.



aqui dejo un facil ejemplo con su respuesta para que se guien mejor...
1.- Diseñar un algoritmo que halle el area de un triangulo.

include <>
void main ( )
{
float b, h, Area;
cout << "Ingrese la base: "; cin >> b;
cout << "Ingrese la altura: "; cin >> h;
Area = b * h / 2;
cout << "El Area del Triangulo es= " <<>

ESTRUCTURA SELECTIVA

DEFINICION.- Estas estructuras se identifican porque en la fase de solución del problema existe algún punto en el cual es necesario establecer una pregunta, para decidir si ciertas acciones deben realizarse o no.

Las condiciones se especifican usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if – then – else o en español si – entonces - sino) y en flujograma con una figura geométrica en forma de rombo.
Las estructuras selectivas o alternativas se clasifican en:





1.- Simples:



Se identifican porque están compuestos únicamente de una condición.
La estructura si – entonces evalúa la condición y en tal caso: Si la condición es verdadera, entonces ejecuta la acción Si (o acciones si son varias). Si la condición es falsa, entonces no se hace nada.Representación de decisión simple:






3.- Compuestas:


En la solución de problemas encontramos numerosos casos en los que luego de tomar una decisión y marcar el camino correspondiente a seguir, es necesario tomar otra decisión. Dicho proceso puede repetirse numerosas veces.• En aquellos problemas en donde un bloque condicional incluye otro bloque condicional se dice que un bloque está anidado dentro del otro.

ESTRUCTURA REPETITIVA




DEFINICION.- Son operaciones que se deben ejecutar un número repetido de veces.El conjunto de instrucciones que se ejecuta repetidamente cierto número de veces, se llama Ciclo, Bucle o Lazo.




Bucle infinito

Bucle finito.


SENTENCIA WHILE.- Con esta sentencia se controla la condición antes de entrar en el bucle. Si ésta no se cumple, el programa no entrará en el bucle. Naturalmente, si en el interior del bucle hay más de una sentencia, éstas deberán ir entre llaves para que se ejecuten como un bloque.
Sintaxis:
WHILE (condicion)
{
SENTENCIAS
}
SENTENCIAS DO...WHILE.- Con esta sentencia se controla la condición al final del bucle. Si ésta se cumple, el programa vuelve a ejecutar las sentencias del bucle. La única diferencia entre las sentencias while y do...while es que con la segunda el cuerpo del bucle se ejecutará por lo menos una vez.
Sintaxis:
DO
{
SENTENCIAS
}
WHILE (condicion)
FOR (inicializacion; condicion; incremento).- Es la sentencia de control más potente y la más usada. Consta de tres expresiones: la primera es la inicialización del bucle, la segunda indica la condición en la que se debe continuar el bucle y la tercera es la que se encarga de incrementar los índices del bucle.
Sintaxis:
FOR (inicializacion; condicion; incremento)
{
SENTENCIAS;
}

FUNCIONES




Las funciones generan retorno de un valor. Una función es una colección independiente de declaraciones y sentencias, generalmente enfocadas a realizar una tarea específica.
Los procedimientos realizan parte del proceso de un programa.

MATRICES



DEFINICION.- Un arreglo es una colección de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común. Para referirse a un determinado elemento de un array se deberá utilizar un índice, que especifique su posición relativa en el array. Un arreglo es una colección finita, homogénea y ordenada de elementos.
Finita: Todo arreglo tiene un límite; es decir,debe determinarse cuál será el número máximo de elementos que podrán formar parte del arreglo.
Homogénea: Todos los elementos del arreglo deben ser del mismo tipo.
Ordenada: Se puede determinar cuál es el primer elemento, el segundo, el tercero,.... y el n-ésimo elmento

EJEMPLO DE UNA MATRIZ.


VECTORES



DEFINICION.- Están formados por un conjunto de elementos de un mismo tipo de datos que se almacenan bajo un mismo nombre, y se diferencian por la posición que tiene cada elemento dentro del arreglo de datos. Dentro del arreglo, los programas especifican el nombre de éste y el número del elemento, colocándolo dentro de corchetes.


CONCLUSIONES

Los algoritmos nos facilitan la vida al momento de manejar la computadora, puesto que mecanizan operaciones, previa programacion con un programa de alto nivel, haciendo que la utilidad vaya desde una persona hasta una empresa.