Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Apredizaje de programación (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

Clase de problemas
No computables: No existe un algoritmo.
Computables
Tratables: Existe un algoritmo eficiente.
Intratable: No existe algoritmo eficiente.
Un problema intratable puede convertirse en tratable si se encuentra un algoritmo que lo resuelva.

Monografias.com

Informática
Disciplina del estudio sistematizado de los procesos algorítmicos que describen y transforman información, su teoría, análisis, diseño, eficiencia, implementación y aplicación.
La informática es una disciplina científica, matemática y una ingeniería.
Tiene tres formas de pensar propias: Teoría, abstracción y diseño. Las tres se complementan para la resolución de la mayoría de los problemas.

Monografias.com

Especificación Implementación
Especificación: Es el proceso de analizar los problemas del mundo real y determinar en forma clara y concreta el objetivo que se desea alcanzar. El modelo debe ser interpretado sin errores por un autómata.
Implementación: Traducir a un conjunto de instrucciones permitidas y definidas por sus reglas sintácticas y valor semántico lo que fue especificado.

Monografias.com

Variables Constantes
Variables: Denotan una magnitud o indicador del proceso. Se caracteriza por un nombre, un tipo de dato y el valor que tiene en un momento determinado. Utilizadas para los datos de entrada, intermedios y de salida.
Constante: Nombre asociado a un valor que permanece sin modificación durante todo el proceso

Monografias.com

Las metas que se persiguen son que el estudiante:
Retenga el conocimiento, lo comprenda y haga uso activo del mismo.
Adquiera un conocimiento organizado.
Desarrolle habilidades intelectuales y haga uso activo de un pensamiento creativo.
Fomentar pasiones intelectuales como la curiosidad.
Que autogestionar su conocimiento, a sintetizar, a abstraer .
Que haga uso de lenguajes del pensamiento, Que sepa como volcar ideas en el papel

Monografias.com

Tipos de Datos
Identifica o determina un dominio de valores y el conjunto de operaciones aplicables sobre esos valores.
Primitivos.
Derivados.
Abstractos.
Concordancia entre valores y operaciones.
Baca la vuela
Errores sintacticos, errores gramaticales
La vaca vuela
Error de concordancia entre objeto vaca y operación volar

Monografias.com

Expresiones Sentencias Léxico
Expresiones: secuencia de operadores y operandos que se reduce a un solo valor.
Sentencias: acción produce un efecto, puede ser primitiva o no primitiva.
Léxico: Descripción del conjunto de acciones e informaciones a partir de la cual se expresa el esquema de comportamiento del algoritmo.

Monografias.com

Pasos para resolver un algoritmo
Comprender el problema.
Identificar información y acciones a incluir en el lexico (constantes, tipos, variables y acciones).
Encontrar un camino de secuenciar las acciones para obtener el resultado, es decir para alcanzar la postcondición a partir del estado inicial que cumple con la precondición.

Monografias.com

Acciones primitivas y derivadas
Acciones primitivas: Incorporadas por el lenguaje.
Acciones derivadas: realizadas mediante la combinacion de acciones primitivas con el objeto de desarrollar una tarea en particular. Son complementarias y pueden ser desarrolladas por el programador.

Monografias.com

Acciones primitivas
Asignacion:
De entrada: permite cambiar el valor de una variable. Ya sea en forma interna o a través de algun dispositivo de entrada.
De salida: Permite mostrar el valor de una variable a través de algun dispositivo de salida.

Monografias.com

Acciones primitivas
Analisis de casos: Permiten especificar la partición del dominio de datos.
Instrucción según: Especifica la partición en varios subdominios y asocia acciones a cada uno de ellos.
Instrucción si entonces si_no: cuando en un análisis de casos solo se tienen dos.

Monografias.com

Acciones primitivas
Repeticiones: permiten ejecutar una determinada cantidad de veces una accion o conjunto de acciones.
Exactas: se conoce con precisión la cantidad de veces que las acciones se repetiran.
No exactas: la finalización del ciclo depende de alguna condición, pueden ser pre o pos condicionales.

Monografias.com

Ejemplo
PROBLEMA: Dada una temperatura en grados Fahrenheit, escribir un algoritmo que obtenga la temperatura en grados Celsius.
LEXICO {Nombres significativos para identificadores significativos}
tempFahrenheit : Real // Contiene el valor que representa la temperatura en ºF
tempCelsius : Real // Contiene el valor que representa la temperatura en ºC
CERO_ABSOLUTO = -459.58 // Representa el valor del cero absoluto en ºF
ConvertirFahrenheitCelsius : Accion
PRE {TempFahrenheit >= CERO_ABSOLUTO}
POS {Convierte a Celsius una temp. En Fahrenheid}
tempCelsius = (5.0 / 9.0) * (tempFahrenheit – 32.0)
FIN ConvertirFahrenheitCelsius
ALGORITMO
Leer (tempFahrenheit)
ConvertirFahrenheitCelsius
Escribir(´La temp. En Celsius es : ´, tempCelcius)
FIN

Monografias.com

Ejemplo
PROBLEMAS no algoritmicos.
AA + BB = CBC
DONALD + GERALD = ROBERT
El papa de Rebeca tiene 5 hijos chacha, cheche, chichi, chuchu, como se llama el otro hijo
Un granjero tenia 20 ovejas, todas menos nueve escaparon. Cuantas le quedaron?
Una botella de vino cuesta 10 $, el vino vale 9 $ mas que la botella. Cuanto vale cada cosa?
Matriz cuadrada impar N*N colocar N2 dígitos sin repetir
8 1 6
3 5 7
4 9 2
2 + 7 – 118 = 129

Monografias.com

Problemas
Paramo de posibilidades
Meseta aparente sin indicios
Angosto cañon de exploracion
Oasis de falsas promesas
Salto del pensamiento
Larga busqueda
Escaso avance aparente
Acontecimiento desencadenante
Chasquido cognitivo
Transfomacion

Monografias.com

Program Calculo;
var
notaTeoria, notaPractica, notaFinal : real;
begin
writeln;
writeln('***** Calculo de la nota final*****');
write('Nota de teoria: '); readln(notaTeoria);
write('Nota de practicas: ');
notaFinal := (notaTeoria + notaPractica) / 2;
write('La nota final es: ‘, notaFinal:5:2); readln
end.
Ejemplo en Pascal

Monografias.com

#include < stdio.h>
#include < conio.h>
int main () {
float notaTeoria, notaPractica; float notaFinal;
printf(" Calculo de la nota final de una asignaturan");
printf("Nota de teoria: "); scanf(" %f",¬aTeoria);
printf("Nota de practicas: "); scanf(" %f",¬aPractica);
notaFinal = (notaTeoria + notaPractica)// 2. 0;
printf("La nota final es: %.2fn", notaFinal);
printf("nPulse enter para continuar");
getchar();
return 0;
}
Ejemplo en C

Monografias.com

Composicion secuencial
Tecnica de descomposicion algoritmica que disminuye la complejidad de un problema mediante la division en probemas mas pequeños, cuya solucion se puede abordar en forma independiente y la secuenciacion parcial permite alcanzar la solucion final.

Monografias.com

Ejemplo
PROBLEMA: Dada una temperatura en grados Fahrenheit, escribir un algoritmo que obtenga la temperatura en grados Celsius.
LEXICO {Nombres significativos para identificadores significativos}
tempFahrenheit : Real // Contiene el valor que representa la temperatura en ºF
tempCelsius : Real // Contiene el valor que representa la temperatura en ºC
CERO_ABSOLUTO = -459.58 // Representa el valor del cero absoluto en ºF
ConvertirFahrenheitCelsius : Accion
PRE {TempFahrenheit >= CERO_ABSOLUTO}
POS {Convierte a Celsius una temp. En Fahrenheid}
tempCelsius = (5.0 / 9.0) * (tempFahrenheit – 32.0)
FIN ConvertirFahrenheitCelsius
ALGORITMO
Leer (tempFahrenheit);
ConvertirFahrenheitCelsius;
Escribir(“La temp. En Celsius es : ´”, tempCelcius);
FIN

Monografias.com

Analisis de casos
Consiste en descomponer el dominio de los datos en varios subdominios o casos y asociar a cada uno de ellos con una o mas acciones.
Cada caso es especificado mediante expresiones logicas mutuamente excluyentes y la union de los casos debe cubrir el dominio inicial de los datos.

Monografias.com

Analisis de casos
Los estados iniciales de cada caso deben cubrir el dominio de los datos de entrada. Debe existir un caso para cualquier posible entrada.
Las condiciones de cada caso deben ser mutumente excluyentes.

Monografias.com

Analisis de casos

0 < = N < 5 5< =N < 7 7< =N< =10
0 < = N< =5 5< =N< =7 7< =N< =10
0 < = N < 5 5 < N < 7 7 < N< =10
Ejemplo de posibles descomposiciones de valores entre 1 y 10

Monografias.com

Instrucción segun
SEGÚN c1 … cn
e1 : a1
e2 : a2
. . .
en : an
FIN_SEGUN
SEGÚN c1 … cn
e1 : a1
e2 : a2
. . .
en : an
EN_OTRO_CASO : an+1
FIN_SEGUN
Especifica la particion del dominio de datos en varios subdominios y asocia acciones a cada uno de ellos.

Monografias.com

PROBLEMA: Desarrollar un programa que simule una calculadoa simple. Que ingrese dos oprandos y un operador. Según el operador que muestre la suma, resta, multiplicacion o division.
LEXICO
Operando1, Operando2 : Entero;
Operador : Carácter;
ALGORITMO
Leer (Operando1, Operando2, Operador);
SEGÚN Operador
Operador = ´+´ : Escribir (Operando1 + Operando2)
Operador = ´-´ : Escribir (Operando1 – Operando2)
Operador = ´*´ : Escribir (Operando1 * Operando2)
Operador = ´/´ : Escribir (Operando1 Div Operando2)
FIN_SEGUN
FIN

Monografias.com

PROBLEMA: Desarrollar un programa que simule una calculadoa simple. Que ingrese dos oprandos y un operador. Según el operador que muestre la suma, resta, multiplicacion o division.
LEXICO
Operando1, Operando2 : Entero;
Operador : Carácter;
ALGORITMO
Leer (Operando1, Oprando, Operador);
SEGÚN Operador
Operador = ´+´ : Escribir (Operando1 + Operando2)
Operador = ´-´ : Escribir (Operando1 – Operando2)
Operador = ´*´ : Escribir (Operando1 * Operando2)
Operador = ´/´ : Escribir (Operando1 Div Operando2)
EN_OTRO_CASO : Escribir(“Operador no valido”)
FIN_SEGUN
FIN

Monografias.com
Instrucción SI ENTONCES SI_NO
Cuando el analisis de casos solo tiene 2 casos, la instrucción según se puede simplificar con la instrucción
SI exp ENTONCES a1 SI_NO a2 FIN_SI
Si exp ENTONCES a1 FIN_SI

Monografias.com

PROBLEMA: Obtener el mayor de dos numeros
LEXICO
x, z, mayor : Entero;
ALGORITMO
PRE { ( x = X) y ( z = Z)}
POST { (( x>=z) ?(Mayor = X)) y ((z>x)?(Mayor=Z)) }
Leer (x, z);
SI x >= z
ENTONCES Mayor ? x
SI_NO Mayor ?z;
FIN_SI
Escribir(`El mayor es : ´,mayor);
FIN

Monografias.com

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter