Resumen para el final, Expresion de elementos y algoritmos PDF

Title Resumen para el final, Expresion de elementos y algoritmos
Author Agustina Seguel
Course Expresión de Problemas y algoritmos
Institution Universidad Nacional de La Patagonia San Juan Bosco
Pages 10
File Size 428.8 KB
File Type PDF
Total Downloads 75
Total Views 133

Summary

PROGRAMA ANALITICO:UNIDAD 1- Análisis de problemas : ¿Qué es un problema? Distintos tipos de problemas. Creatividad en la resolución de problemas. Estrategias y técnicas de resolución de problemas (Analogía-inferencia-generalizar-particularizar-simplificar- reformular el problema-etc). Resolución de...


Description

PROGRAMA ANALITICO: UNIDAD 1- Análisis de problemas: ¿Qué es un problema? Distintos tipos de problemas. Creatividad en la resolución de problemas. Estrategias y técnicas de resolución de problemas (Analogía-inferencia-generalizar-particularizar-simplificar- reformular el problema-etc). Resolución de problemas usando computadoras. UNIDAD 2- Algoritmos ¿Qué es un algoritmo? Pensamiento algorítmico. Pre y Pos condición de un algoritmo. Representación: diagrama de flujo- seudocódigo. Datos, tipos de datos, representación de datos. UNIDAD 3- conceptos básicos de programación, datos y expresiones.  Lógica: proposiciones(atómicas-moleculares).  Conectores lógicos: negación – conjunción- disyunción- tablas de verdad.  Conceptos básicos de programación: Identificadores-variables-constantes-contadores- acumuladorespalabras reservadas-funciones matemáticas- operadores orden de evaluación de los operadores- expresiones. UNIDAD 4- estructuras de control Estructuras secuenciales, selectivas (selección simple. Selección dicotómica o doble. Selección múltiple. Selecciones anidadas). Iterativas (Pre condicional. Pos condicional. Interacción con un número fijo de vueltas). UNIDAD 5- Introducción a la programación modular. Descomposición de problemas en partes. Descomposición de un algoritmo en módulos. Comunicación entre módulos. Declaración de parámetros. CONCEPTOS BASICOS PARA ARRANCAR:  Informática: ciencia que estudia el análisis y resolución de problemas utilizando las computadoras. Conjunto de conocimientos científicos-técnicos que hacen posible el tratamiento automático de la información a través de las computadoras.  Una computadora es una maquina digital sincrónica, con cierta capacidad de cálculo numérico y lógico, controlado por un programa almacenado y con posibilidad de comunicación con el mundo exterior. Digital: esto significa que las señales que maneja y la información que procesa se representa en forma discreta, normalmente en valores binarios (0 o 1). Sincrónica, es decir, que realiza operaciones coordinadas por un reloj central que envía pulsos de sincronismo a todos los elementos que componen la computadora. ¨maquina capaz de aceptar datos de entrada, efectuar una serie de operaciones lógicas y proporcionar resultados¨  Un programa es un conjunto de instrucciones, ejecutables sobre una computadora que permite cumplir una función específico, en un tiempo finito.  Datos: es una representación de un objeto del mundo real mediante el cual se pueden modelizar aspectos de un problema que se desea resolver con un programa sobre una computadora.  ¿Qué hace un informático? Posee el conocimiento científico técnico, para el tratamiento informático de la información a través de la computadora. UNIDAD 1: ¿Qué es un problema? Cuestión dudosa que se trata de aclarar. Planteamiento de una situación cuya respuesta desconocida debe obtenerse a través de métodos científicos. Contradicción desfavorable de lo “que es” con lo que debería “ser”. *Componentes que determinan la existencia de un problema: 1- objetivo o meta a alcanzar. 2- un conjunto de acciones posibles (que implique un curso de acciones cuya ejecución produzca resultados diferenciables). 3- una situación inicial (en la que generalmente el problema no está resuelto y en la que es posible actuar para alcanzar los objetivos deseados). *Distintos tipos de problemas: existen diferentes tipos de problemas y diferentes formas de resolverlos. Hay diferentes criterios de clasificación: como tipo de tarea, el tipo de solución su exigencia etc.  Según su exigencia (EDWARD DE BONO 1933): 1- el primer requiere más información para su solución o técnicas más eficaces del manejo de la información. 2- requiere un reordenamiento de la información (reestructuración perspicaz). 3- este consiste en la ausencia del problema en sí. Al no saber que se puede mejorar, tampoco se sabe que enfoque adaptar.

Según su solución (Holt 1969, Garrett 1987): 1- problemas cerrados: tienen solo una respuesta o más de una, pero igualmente correctas. 2- Problemas abiertos: tienen varias respuestas de las cuales ninguna es correcta o equivocada, sino la adecuada según las circunstancias. 3- Problemas verdaderos: según garret, es aquel grupo de situaciones enigmáticas que no son resolubles ni solucionables.  Según su tarea a realizar (George Polya 1887-1885): 1- problemas por resolver, descubrir la incógnita del problema. Pueden ser teórico/practico, abstractos o concretos. Sus elementos son la incógnita, los datos y la condición. 2- por demostrar: hay que demostrar de forma concluyente que una afirmación es verdadera o falsa. Son los teoremas que constan de una hipótesis y la conclusión que hay que demostrar o refutar. 

Creatividad: calidad con que hacemos las cosas, capacidad para inventar. El pensamiento lateral es el método para la resolución de problemas de manera creativa con un enfoque indirecto. (acuñado por Edward del bono en 1967), es una forma específica de organizar los procesos de pensamiento utilizando no ortodoxos. *Practica del pensamiento lateral: 1 comprobar suposiciones. 2 formular preguntas adecuadas. 3 enfocarse en el problema de forma creativa viéndolo de perspectivas diferentes. 4 aplicar lógica. *Técnicas: modificar, suprimir características/partes del problema, establecer analogías con otras situaciones, invertir el problema, fraccionar el problema. “un buen problema del pensamiento lateral es aquel cuya respuesta es la que tiene más sentido, la más apta y la más satisfactoria” Estrategias y técnicas para la resolución de problemas: 1. Semejanza. Relacionar con problemas que tienen la misma característica, o que son comunes. 2. Analogía. Comparación o relación entre varias cosas, comparar o relacionar dos o más objetos- problemas. 3. Generalización. 4. Descomponer y componer el problema. Reformular el problema 5. Particularizar, simplificar. 6. Representar el problema. 7. Razonamiento hacia atrás. 8. Buscar simetría, entre otros… Todos estos se agrupan en el método de Polya: PASO 1: Entender el problema (Se entienden todas las partes del mismo, se realizan las preguntas correspondientes al problema para su resolución ej.: se distinguen los datos, hay suficiente información, la información es correcta, etc. ) PASO 2: Concebir un plan (utilizar las estrategias) PASO 3: Ejecutar el plan: (implementar las estrategias escogidas hasta solucionar el problema, o hasta que la misma acción te sugiera cambiar de estrategia.) PASO 4: Mirar hacia atrás (Verificando si la forma de resolución es correcta, si es suficiente o si se puede mejorar algo más) RESOLUCION DE PROBLEMAS UTILIZANDO COMPUTADORAS Para esto se toman en cuenta las siguientes definiciones de problema: *cuestión dudosa que se trata de aclarar o resolver. *enunciado encaminado a averiguar el modo de obtener un resultado cuando se conocen ciertos datos. ETAPAS: 1) Análisis del problema: análisis del problema en contexto con la vida real, (aquí se determina que tarea realiza el programa, los requerimientos de usuario), para descubrir el modelo del problema y el objetivo a alcanzar, este modelo define el mecanismo de iteración y sus condiciones. Encuentra los datos y sus transformaciones. 2) Diseño de una solución: utilizando técnicas que consisten en la identificación de las partes como subproblemas, (cada uno de estos con un objetivo específico). Integrando todas las partes del mismo, relacionando cada uno de los subproblemas. 3) Especificación de algoritmos: la solución de c/u de los subprogramas se deben especificar en la secuencia de pasos a seguir, algoritmo. La elección del algoritmo es fundamental para la correcta resolución del problema. 4) Escritura de un programa: una vez verificado el algoritmo, escribirlo en un lenguaje de programación concreto. Por ejemplo, java. Es casi intuitivo si los pasos anteriores fueron correctamente resueltos. 5) Verificación: verificar, utilizando datos representativos del programa, que el mismo conduce a la resolución del objetivo del problema. Generalmente, no es posible evaluar todas las posibilidades. *DOCUMENTACION Y MMTO*

Problema real, en lenguaje natural. Debemos analizar, entender toda la información, saber su fin

Resumen análisis de un problema:

2 1

Lenguaje de implementación: operabilidad, verificamos mejoras, mtto y documentación.

3

Lenguaje Específicos: Diseño de una solución, especificación y escritura del algoritmo.

UNIDAD 2 ¿QUÉ ES UN PROGRAMA? Es el conjunto de instrucciones que guían a la computadora para que pueda realizar una actividad, resolver un problema. Este se compone de los algoritmos y los datos. Las características de un buen programa son: *Programador: operatividad, legibilidad, organización, documentación. *computadora: tener un fin, instrucciones validas, que funcione sin utilizar recursos inexistentes, etc. ¿QUÉ ES UN ALGORITMO? Es la secuencia ordenada de *pasos elementales, secuenciales que poseen un fin, exento de ambigüedades que llevan a la solución de un problema dado en un tiempo finito y ordenado. *paso elemental: aquel que no puede volver a ser dividido en otros más simples, Instrucciones. *ambiguo: la instrucción puede ser interpretado de una única manera. Pensamiento algorítmico: capacidad de entender, ejecutar evaluar y crear algoritmos. Requiere de paciencia, perseverancia, capacidad de evaluar y crear nuevos algoritmos.  Pre condición: información que se conoce como verdadera antes de comenzar el algoritmo.  Post condición: información que se conoce como verdadera al concluir el requerimiento pedido.  Elementos que lo componen: secuencia de acciones (instrucciones a ejecutar con un orden especifico), estructuras de control (aquellas que permiten cambiar el flujo de control, ejecución de un algoritmo). La representación de la información es vital al trabajar con computadoras, esta es variada. Pueden ser datos numéricos como edades, salarios, cantidad de materias aprobadas, etc.

 ¿QUÉ ES UN DATO? Es la representación de un objeto del mundo real. Este nos permite modelizar los aspectos del problema que se quieren resolver mediante un programa ejecutable en la computadora. A nivel maquina un dato es una secuencia de bits. Entonces, son valores de información de los que se necesita disponer y en ocasiones, transformar para ejecutar la función del programa.  Datos constantes: datos que no cambian durante la ejecución del programa.  Datos variables: datos que durante la ejecución del programa pueden cambiar. *Cada dato debe tener asociado un tipo de dato. * Un TIPO DE DATO, es una clase de objeto ligado a un conjunto de operaciones para crearlos y manipularlos. Los tipos de datos se caracterizan por un *rango de valores posibles, *conjunto de operaciones permitidas, * representación interna. *Compuestos, pueden tomar valores a la vez que guardan relación lógica entre ellos. Bajo un único nombre. *Simples, aquellos que toman un único valor en un momento determinado. Estos se dividen en: ** Definidos por el lenguaje (son provistos por el mismo y tanto su representación como sus operaciones y valores son reservados al mismo). **Definidos por el usuario (permiten definir nuevos tipos de datos a partir de los tipos simples). Se representan con una cadena de bits. NUMERICOS Enteros: son los más simples, ordinales con una representación en memoria con un valor mínimo y máximo de representación en bits.  Reales: se denominan como flotante, su representación en memoria es tanto para su parte entera como para la fraccionaria. Se utiliza la notación exponencial, consiste en definir cada número como mantisa( parte decimal), y un exponente (posición de la coma).



Operaciones: las operaciones validas son las aritmeticas, (suma, resta multiplicación y división), operaciones racionales. En enteros cociente div, resto div mod.

  

  

LOGICOS: Estos me permiten representar y comparar datos que pueden tomar solamente uno de dos valores (tipo booleanos que son verdadero y falso). OR: o disyunción, el mismo va a ser verdadero siempre y cuando, aunque sea uno sea verdadero. V+V=V,V+F=V,F+F=F AND: o conjunción, el valor va a ser verdadero siempre y cuando ambos sean verdaderos. V*V=V, (V*F,F*V,F*F)=F NOT: o negación, el valor dado es negado, es decir, ¬V=¬F y ¬F=¬V. Operaciones: asignación, negación ,conjunción ,disyunción. CARÁCTER: Es un conjunto de datos simples, finitos y ordenada de caracteres que la computadora reconoce, este está normalizado por el estándar ASCII. Numéricos: o dígitos, aquellos que van del 0,1,2, 3, …,9. Alfabéticos: minúsculas y mayúsculas. Modularizar: es el proceso mediante el cual Especiales: los demás caracteres como, por ejemplo, *, +, -, se divide en una serie de niveles, módulos >, ): p implica q, será f siempre que al antecedente sea v y el consecuente sea f.

p 1 1 0 0

q 1 0 1 0

Pq 1 0 0 1

p 1 1 0 0

q 1 0 1 0

P->q 1 0 1 1

Funciones booleanas: a todo conjunto de variables relacionadas entre sí por una expresión que representa: la combinación de un conjunto finito de símbolos, representado constantes o variables. Unidos por and o or lógicos. Ej: F(x,y,z)=x*¬z+y Conceptos básicos de programación: 

 

   



 

Identificadores: es un conjunto de caracteres alfanuméricos de cualquier longitud que sirve para identificar entidades de un programa, pueden ser de funciones o variables etc. Entidades: normalmente es el nombre ejemplo empleados. Palabras reservadas: identificadores predefinidos, según c/u de los lenguajes de programación. Variable: elemento que contiene un dato y permite variar la información. Representa un espacio en memoria, la cual se debe definir. Se declara el tipo de dato a almacenar con un identificador y el nombre con otro. Ej: entero Edad; Constante: variable cuyo contenido no se altera durante la ejecución de la programación. Puede ser de tipo carácter lógico o numérico. Representa un valor o un dato almacenado en memoria y se declara nombre=identificador, ej; Temp=15; Contador: variable que se modifica una cantidad constante en cada iteración, suele usarse para contar la cantidad de veces que itera el bucle ejemplo: cont=cant+1; Acumulador: se incrementa en una cantidad variable en cada iteración acum=acum+1; suele utilizarse para acumular resultados producidos en las iteraciones en un bucle. Eficiencia de un algoritmo: métrica de calidad de los algoritmos, asociada con una utilización óptima de los resultados del sistema de cómputo donde se ejecutara el algoritmo. Relación entre tiempo y espacio Expresión: combinación entre operadores y operando, dentro de estas pueden encontrarse sobrexpresiones encerradas en paréntesis ej.: aritméticas (+, *, /, -, %, ^), lógicas (y, o, no), relacionales (, >=, proceso (subrutina o función)-> salida (valor de retorno). Métodos de pasaje de parámetros: *Por valor se almacena la información en un lugar de memoria diferente por lo tanto si el valor cambia, la información no cambia. (El valor del parámetro actual del módulo que llama es utilizado para inicializar el parámetro formal del modulo llamado y luego actúa como constante)

*Referencia: si dentro del programa la variable esta, cambia al igual que la original. (El parámetro actual y formal comparten la misma zona de memoria por lo que cualquier modificación que se realiza es “vista” por el modulo llamador).

UNIDAD 4: Estructuras de control: 1) Estructura de control secuencial: por lo general las instrucciones se ejecutan una después de la otra es decir en secuencia. Una entrada, una salida. a) Simple: se ejecutan las acciones en el orden dado. INICIO; acción 1-> acción 2-> etc. FIN 2) Estructura de control selectivo: aquella que después de evaluar una condición determina su valor, v o f, y solo si el resultado de la condición es v se realizara la instrucción o instrucciones definidas para la condición. b) Doble: Aquella que evalúa una condición booleana y elegir entre dos opciones: si es v ejecutara las instrucciones que se encuentran a continuación del if, pero si la condición es falsa ejecutara la instrucción que se encuentra a continuación del else. Por lo tanto, se seleccionan las instrucciones que se encuentras a continuación del if o las que están después del else. Pero no ambas. Si ; ; Sino c) Anidada: Aquella que dentro del alcance de una condición tiene otra condición; es decir, en un if-else se encuentra otro if-else. Cada condición será evaluada en el orden que van apareciendo si la condición l es verdadera se ejecutara la primera y las otras no se revisaran. Es mas útil cuando se tienen tres o mas opciones. Si ; Sino Si ; Sino...


Similar Free PDFs