29
INTRODUCCION A LA PROGRAMACION Texto Base: Francisco Javier Ceballos, El Lenguaje de programación C#, Alfa-Omega.

Introduccion a la programacion Clases

Embed Size (px)

Citation preview

INTRODUCCION A LA PROGRAMACION

Texto Base: Francisco Javier Ceballos, El Lenguaje de programación C#, Alfa-Omega.

Sistema de Conocimientos:

2. Conceptos de algoritmos.

1. Algoritmos y programas.

3. Los lenguajes de programación.

4. Tipos de Datos.

ALGORITMO

Es una sucesión finita de pasos no ambiguos que se pueden ejecutar en un tiempo finito, cuya razón de ser es la de resolver problemas.

PROGRAMA

Aplicaciones y recursos que permiten desarrollar diferentes tareas en una computadora (ordenador), un teléfono u otros equipos tecnológicos.

LENGUAJE DE PROGRAMACION

Es aquella estructura que, con una cierta base sintáctica y semántica, imparte distintas instrucciones a un programa de computadora.

LENGUAJE C#

Es un lenguaje de programación de alto nivel que pertenece al paquete .NET. C# es una evolución de C/C++. Con el se pueden tanto programas convencionales como para internet.

DATOS

Expresiones generales que describen características de las entidades sobre las que operan los algoritmos. Estas expresiones deben presentarse de una cierta manera para que puedan ser tratadas por una computadora. En este caso, los datos por sí solos tampoco constituyen información, sino que ésta surge del adecuado procesamiento de los datos.

INFORMACION

La información está constituida por un grupo de datos ya supervisados y ordenados, que sirven para construir un mensaje basado en un cierto fenómeno o ente. La información permite resolver problemas y tomar decisiones, ya que su aprovechamiento racional es la base del conocimiento.

INSTRUCCION

Una instrucción es un conjunto de datos (números y letras) que se insertan en una secuencia y que indican a un procesador la operación que debe ejecutar.

CARACTERISTICAS DE LOS ALGORITMOS

• Finitos: Debe acabar en algún momento.

• Eficientes: Deben ocupar la mínima memoria y minimizar el tiempo de ejecución.

• Legibles: El texto que lo describe debe ser claro, tal que permita entenderlo y leerlo fácilmente..

• Modificables: Estarán diseñados de modo que sus posteriores modificaciones sean fáciles de realizar, incluso por programadores diferentes a sus propios autores

• Modulares: La filosofía utilizada para su diseño debe favorecer la división del problema en módulos pequeños

• Único punto de entrada, único punto de salida: A los algoritmos y a los módulos que lo integran se entra por un sólo punto, inicio, y se sale por un sólo punto también, fin.

TIPOS DE LENGUAJES DE PROGRAMACION

Lenguaje de Bajo Nivel Lenguaje de Alto Nivel

Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas.

Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Están dirigidos a solucionar problemas mediante el uso de estructuras dinámicas de datos.

• Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa.

• Lenguaje Emsamblador: derivado del lenguaje de maquina, formado por abreviaturas de letras y números llamadas mnemotécnicos.

• Lenguaje de Maquina: Bits, ceros y unos.

• COBOL, FORTRAN, PASCAL, C, C++,C#, BASIC, JAVA, PHP, PERL

TRADUCTORES Y COMPILADORES

Los traductores son programas que traducen los programas en código fuente, escritos en lenguajes de alto nivel, a programas escritos en lenguaje máquina.

Código fuente: programas escritos en un determinado lenguaje de programación y que está compuesto por instrucciones escritas por un programador.

Los traductores pueden ser de 2 tipos:

• Compilador: programa que lee el código escrito en un lenguaje (lenguaje origen), y lo traduce en un programa equivalente escrito en otro lenguaje (lenguaje objetivo). Muestra errores en el código fuente.

• Interprete: no producen un lenguaje objetivo como en los compiladores. Un intérprete lee el código como está escrito e inmediatamente lo convierte en acciones; es decir, lo ejecuta en ese instante.

TIPOS DE DATOS

• Datos Numéricos: enteros (no tienen componentes fraccionarios Ej.: 1,2,10,1000), reales (consta de parte entera y una parte decimal Ej.: 585.74).

• Lógicos: Booleanos Ej.: Verdadero (true), Falso(false).

• Carácter: caracteres, cadena de caracteres. Conjunto finito y ordenado de caracteres que la computadora reconoce. Generalmente se dividen en Alfabéticos, numéricos y especiales.

TIPOS DE DATOS

• CONSTANTES: Una constante es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe un valor en el momento de la compilación y este permanece inalterado durante todo el programa.

• VARIABLES: Una variable es un nombre asociado a un elemento de datos que está situado en posiciones contiguas de la memoria principal, y su valor puede cambiar durante la ejecución de un programa.

Toda variable pertenece a un tipo de dato concreto. En la declaración de una variable se debe indicar el tipo al que pertenece. Así tendremos variables enteras, reales,

booleanas, etc.

TEMA 2: LAS HERRAMIENTAS DEPROGRAMACION

Herramientas de Programación

Las herramientas de programación, son aquellas que permiten realizar aplicaciones, programas,rutinas, utilitarios y sistemas para que la parte física del computador u ordenador, funcione y pueda producir resultados.

Hoy día existen múltiples herramientas de programación en el mercado, tanto para analistas expertos como para principiantes.

Las 2 herramientas mas utilizadas comúnmente para la elaboración de algoritmos son:

• Diagramas de Flujo

• Seudocódigos

Herramientas más Importantes

Algunas de las herramientas de programación más importantes y que más se usan a día de hoy, son:

1. Compilador

2. Intérprete

3. Editor

4. Depurador

5. IDE

Herramientas de Programación

FASES EN LA RESOLUCION DE PROBLEMAS

El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y a su ejecución en la misma. Aunque el proceso de diseñar programas es esencialmente un proceso creativo, se puede considerar una serie de fases o pasos comunes, que generalmente deben seguir todos los programadores.

Las fases de resolución de un problema son:

• Análisis del problema.

• Diseño del Algoritmo.

• Codificación.

• Compilación y Ejecución.

• Verificación.

• Depuración.

• Mantenimiento.

• Documentación.

FASES EN LA RESOLUCION DEL PROBLEMA

Análisis: El problema se analiza teniendo presente la especificación de los requisitos dados por el cliente de la empresa o por la persona que encarga el programa.

Diseño del Algoritmo. Una vez analizado el problema, se diseña una solución que conducirá a un algoritmo que resuelva el problema.

Codificación (Implementación). La solución se escribe en la sintaxis del lenguaje de alto nivel, por ejemplo C#, y se obtiene un programa.

Compilación, ejecución y verificación. El programa se ejecuta, se comprueba rigurosamente y se eliminan todos los errores que puedan aparecer.

Joyanes pag. 67

ANALISIS DE PROBLEMAS

La primera fase de la resolución de un problema con computadora es el análisis del problema. Esta fase requiere una clara definición, donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada.

Dado que se busca una solución una solución por computadora, se precisan especificaciones detalladas de ENTRADA y SALIDA.

Para poder definir bien un problema es conveniente responder a las siguientes preguntas:

• ¿Que entradas se requieren? (Tipo y Cantidad)

• ¿Qué método produce la salida deseada?

• ¿Cuál es la salida deseada? (Tipo y Cantidad)

Diseño del Algoritmo

En la etapa de análisis del proceso de programación se determina que hace el programa. En la etapa de diseño se determina como hace le programa la tarea solicitada. Los métodos mas eficaces para el proceso de diseño se basan en el conocido por divide y vencerás. Es decir, la resolución de un problema complejo se realiza dividiendo el problema en subproblemas y a continuación dividir estos subproblemas en otros de nivel mas bajo hasta que pueda ser implementada una solución en la computadora.

Este método se conoce técnicamente como diseño descendente (top-down) o modular.

El diseño del algoritmo es independiente del lenguaje de programación en el que se vaya a codificar posteriormente.

Joyanes pag. 69

DIAGRAMA DE FLUJO

Los diagramas de flujo se utilizan tanto para la representación grafica de las operaciones ejecutadas sobre los datos a través de todas las partes de un sistema de procesamiento de información, diagrama de flujo del sistema, como para la representación de la secuencia de pasos necesarios para describir un procedimiento particular, diagrama de flujo de detalle.

El diagrama de flujo utiliza unos símbolos normalizados, con los pasos del algoritmo escritos en el símbolo adecuado y los símbolos unidos por flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben ser ejecutados.

Joyanes pag. 39

DIAGRAMA DE FLUJO - SIMBOLOGIA

PSEUDOCODIGO

Es un lenguaje de especificación de algoritmos que utiliza palabras reservadas y exige la indentación, o sea sangría en el margen izquierdo, de algunas líneas. En nuestros seudocódigos usaremos determinadas palabras en español como palabras reservadas.

A continuación un Ejemplo del pseudocodigo del diagrama de flujo anterior.

Proceso PruebaEscribir 'Ingrese 3 numeros:'Escribir 'Valor de a:'Leer aEscribir 'Valor de b:'Leer bEscribir 'Valor de c:'Leer cpromedio<-(a+b+c)/3Escribir 'El promedio de: ',a,'+',b,'+',c,'/3 = ',promedioSi ((a)>(b)) Entonces

Si ((a)>(c)) EntoncesEscribir 'El mayor es: ',a

SinoEscribir 'El mayor es: ',c

FinSiSino

Si ((b)>(c)) EntoncesEscribir 'El mayor es: ',b

SinoEscribir 'El mayor es: ', c

FinSiFinSi

FinProceso

PSEUDOCODIGO

El pseudocodigo se concibió para superar las 2 principales desventajas del Diagrama de Flujo:

• Lento de CREAR.

• Difícil de Modificar sin un nuevo redibujo.

Es una herramienta muy buena para el seguimiento de la lógica de un algoritmo y para transformar con facilidad los algoritmos a programas, escritos en un lenguaje especifico

PSEUDOCODIGO - CARACTERISTICAS

• El pseudocodigo comenzara siempre con la palabra inicio y terminara con la palabra fin.

• Cuando se coloque un comentario de una sola línea se escribirá precedido de //.

• Si el comentario es multilinea, lo pondremos entre {}.

• Para introducir un valor o serie de valores desde el dispositivo estándar y almacenarlo en una o varias variables utilizaremos leer(<lista_de_variables>).

• Con <nombre_de_variable> <- <expresión> almacenaremos en una variable el resultado de evaluar una expresión. Hay que tener en cuenta que única constante, variable o función, constituyen una expresión.

• Para imprimir en el dispositivo estándar de salida una o varias expresiones emplearemos escribir(<lista_de_expresiones>). Los rótulos deberán ir entre comillas simples ‘ ‘.

PSEUDOCODIGO - Estructuras

Las distintas estructuras se representaran de la siguiente forma:

static void Main(string[] args) {

int numero=555; float flotante = 12.25f; double deci =1.25;

char letra = 'a'; string cadena = "Hola mundo los saludamos desde la UdeM";

int num1, num2;

Console.Write("Intruduce el primer numero : "); num1 = Convert.ToInt16(Console.ReadLine());

Console.Write("\nIntruduce el segundo numero : "); num2 = Convert.ToInt16(Console.ReadLine());

Ejemplo: Tipos de Datos, E/S, Operaciones Comunes

Console.Write("\n\nLa suma de los números es : {0}\n", num1 + num2);

Console.Write("La resta de los números es : {0}\n", num1 - num2);

Console.Write("La multiplicación de los números es : {0}\n", num1 * num2);

Console.Write("La división de los números es : {0}\n", num1 / num2);

Console.Write("El resto de la división de los números es : {0}\n", num1 % num2);

Console.ReadKey();

}