TALLER ALGORITMOS
Elabore un documento para entrega con el desarrollo de la siguiente temática:
1. presente la clasificación de los lenguajes de programación 2. Enuncie las etapas del ciclo de vida del software 3. Sobre la algoritmia responda: a. que es un algoritmo b. Que preguntas se deben responder para definir con precisión un problema c. Que condiciones debe cumplir un algoritmo? d. Cuales son los elementos de un algoritmo e. Cuales son los métodos de representación de algoritmos f. Cuales son las técnicas utilizadas g. enuncie algunos términos utilizados en diagramación
Realice diagramas de flujo para expresar la solución de los problemas que se presentan a Continuación.
Conceptos: Algoritmo - Secuencia - Símbolos - Variables (Nombres Nemotécnicos, Referencia dirección de memoria, Variables de ingreso (lectura) y de cálculo, Respetar nombres) - Constantes -Expresiones - Asignación de un resultado a una variable - Impresión de literales - Prueba de escritorio
1. Se ingresa por teclado el radio de una circunferencia, y se desea mostrar en pantalla el área y la longitud de la misma. 2. Se ingresa por teclado la base y la altura de un triángulo y se desea obtener como resultado su superficie. Mostrar en pantalla. 3. Se ingresa por teclado el tiempo de duración (en minutos) de un llamado telefónico, y se desea imprimir un ticket con el costo del mismo. El minuto cuesta $ 0,23. 4. Obtener las raíces de la ecuación cuadrática (a+ bx + c = 0). Los datos son: a, b, c. 5. Leer un número negativo y mostrarlo en pantalla, junto con su cuadrado y la cuarta parte del mismo.
1. Clasificación de los lenguajes de programación:
Lenguaje máquina
El lenguaje máquina es el único que entiende directamente la computadora. Utiliza el alfabeto binario, que consta de los dos únicos símbolos 0 y 1, Fue el primer lenguaje utilizado en la programación de Computadoras, pero dejó de utilizarse por su dificultad y complicación, que además reducen la posibilidad de cometer errores.
Lenguaje ensamblador
En este lenguaje cada instrucción equivale a una instrucción en lenguaje máquina, utilizando para su escritura palabras mnemotécnicas en lugar de cadenas de bits.
Lenguajes de alto nivel
Los lenguajes de alto nivel, también denominados lenguajes evolucionados, fueron
diseñados para que la programación sea más sencilla. Se llaman de alto nivel porque la sintaxis requerida es más parecida al idioma humano que al de la máquina.
· También se clasifican por generaciones:
Lenguajes de tercera generación (3GL):
Los lenguajes de tercera generación hacen que sea más fácil escribir programas y permiten que los programadores compartan el desarrollo.
Algunos lenguajes de tercera generación y sus características son:
C, C++, Java, ActiveX:
Lenguajes de cuarta generación (4GL):
Los lenguajes de cuarta generación son más fáciles de usar que los de tercera generación.
Puede presentarse como entorno de texto o entorno visual. En un entorno de texto, el programador utiliza palabras del idioma inglés para generar el código, normalmente una sola declaración de un lenguaje 4GL puede realizar las mismas tareas que varias líneas de un lenguaje 3GL.
4GL, permiten que el programador trabaje en un entorno de desarrollo integrado o IDE (por sus siglas en inglés). Los IDE ofrecen todas las herramientas necesarias para desarrollar aplicaciones. Visual Studio de Microsoft y Java Studio de Sun, son dos IDE profesionales.
Entre los lenguajes de cuarta generación se incluyen:
- .NET, Entornos de autoría.
Lenguajes de quinta generación:
Los expertos no están de acuerdo en la definición de esta generación, algunos consideran que los entornos de autoría más avanzados caerían en esta categoría. Otros consideran que un 5GL debería utilizar técnicas de inteligencia artificial.
LENGUAJES DE DESARROLLO DE LA WWW (WORD WIDE WEB)
Lenguaje de marcación de hipertexto (HTML). Se utiliza para crear documentos para la
Web. La estructura de una página Web utiliza atributos y etiquetas. Las etiquetas
Proporcionan vínculos a otra parte del documento o a otro documento. Permiten también insertar imágenes y otros elementos multimedia. En realidad, por la simplicidad del HTML no se lo considera un lenguaje de programación (no tiene sentencias de bifurcación). Otras herramientas de desarrollo para la Web son: Dreamweaver, Flash, Director, todos de la empresa Macromedia.
Lenguajes de secuencias de comandos
Existen distintos lenguajes de secuencia de comandos para la Web. Estos lenguajes tienen la capacidad de crear páginas Web dinámicas. Las páginas dinámicas pueden cambiar de acuerdo con la información que proporcionan al usuario. En los sitios de venta de productos, un lenguaje de secuencia de comandos lee una base de datos para desplegar los productos. Entre estas herramientas se encuentran:
- JavaScript:
- Páginas de Active Server (ASP):
ASP.NET.
- Preprocesador de hipertexto (PHP
2. Etapas de ciclo de software
· Análisis: Consiste en el estudio detallado del problema con el fin de obtener unas especificaciones para la solución del problema.
· Diseño del programa: Consiste en la realización de una solución o algoritmo del problema planteado. Esta solución se diseña utilizando seudocódigo o diagramas de flujo.
· Desarrollo: También conocido como codificación, se relaciona con la escritura y las pruebas del código fuente.
· Implementación: El software se instala y queda a disposición de los usuarios para la realización de todo tipo de pruebas.
· Mantenimiento. Esto incluye la corrección de errores menores que no fueron detectados en la etapa de implementación. Esta es la fase más larga del ciclo de vida de desarrollo de software y puede durar muchos años.
3. a). Un algoritmo es un conjunto ordenado y finito de operaciones que nos permiten encontrar solución a un problema.
b) ¿QUE ME DAN? ---- Entrada
¿COMO LO HAGO? ------ proceso
¿QUE ME PIDEN?-------- salida
c) Ser finito, es decir terminar siempre tras un número finito de pasos. Si el algoritmo
Nunca termina, no obtendremos ninguna solución.
Estar definido. Para ello debe estar compuesto por un conjunto ordenado de
Acciones, especificadas en cada caso rigurosamente y sin ambigüedad.
d) Elementos de un algoritmo:
1. Datos, tipos de datos y operaciones primitivas
2. Variables, constantes y expresiones
1. NUMERICO:
· ENTEROS: -48, 15, 0,4.
· REALES: En parte decimal o fraccionario.
· OPERADORES ARITMETICOS
+ , - , * , / , **, ¬ , DIV, MOD
CARÁCTER: Un solo carácter o cadena de caracteres (conjunto de caracteres). Se denotan entre ‘ o “. LOGICOS: Sus valores son verdaderos o falsos, se simboliza con los dígitos binarios 1 y 0, también ON y OFF en interruptores.
OPERADORES RELACIONALES = , < , >, <> , <= , >=
OPERADORES LÓGICOS Y, O y No
2. VARIABLES: Todo valor que cambie dentro de la ejecución de un programa.
CONSTANTES: Todo valor que permanece inalterable durante la ejecución del programa. EXPRESIONES: Una expresión es la combinación de variables y constantes a través de símbolos de operación denominados operadores.
e) Método informal: Un lenguaje natural.
Método formal: Un lenguaje de programación, lenguaje de maquina.
f) Diagrama de flujo u organigrama: Es un método de representación gráfica que
Utiliza un conjunto de símbolos, de forma que cada paso del algoritmo se visualiza
Dentro del símbolo adecuado y el orden en que se realizan los pasos se representa
Por medio de flechas que indican el flujo lógico del algoritmo.
Seudocódigo: Es un lenguaje específico de descripción de algoritmos, intermedio
Entre el lenguaje natural y el lenguaje de programación. Podría decirse que se trata
De un lenguaje natural limitado y sin ambigüedad.
g) Acumulador: Un acumulador es una variable, definida por el programador, que hace referencia a una dirección de memoria que almacenará un "total móvil" de valores individuales según van estando disponibles durante el proceso. Esta dirección o posición de memoria debe ser inicializada en cero.
Contador:
Es una variable que se incrementa en un valor constante y se utiliza para registrar el número de veces que se presenta un evento.
Iteración o loop:
Es un conjunto de instrucciones que se procesa repetidamente hasta que se cumpla la condición de salida.
Realizar diagramas de flujo:
1. AREA Y LONGITUD DE UNA CIRCUNFERENCIA
· Área = * longi= *rad
QUE ME DAN: el radio
· COMO LO HAGO: Área = *
Longitud= *rad
· QUE ME PIDEN: área y longitud
2. AREA DE UN TRIANGULO
· QUE ME DAN: la base y la altura
· COMO LO HAGO:
· QUE ME PIDEN: área
3. EL COSTO DE UNA LLAMADA TELEFONICA
· QUE ME DAN: tiempo (minutos)
Costo por minuto $0.23
· COMO LO HAGO: tiemp*0.23
· QUE ME PIDEN: costo total de la llamada
4. OBTENER LAS RAÍCES DE LA ECUACIÓN CUADRÁTICA
· QUE ME DAN: los datos a, b, c
·
COMO LO HAGO:
· QUE ME PIDEN: las raíces de la ecuación
5. CUADRADO Y CUARTA PARTE DE UN NUMERO
· QUE ME DAN: numero negativo (num negat)
· COMO LO HAGO:
=
=
· QUE ME PIDEN: el cuadrado y la cuarta parte del numero