Junto
Junto
Junto
Lógica de Programacion
1.1 Herramientas de Programación
INDICE
GENERALIDADES
Sistema de información: es un conjunto de elementos que interactúan entre sí con el fin de apoyar las actividades de una empresa o negocio[1].
T1: HERRAMIENTAS DE
PROGRAMACIÓN Procesamiento de Información: Es la capacidad de los Sistemas de Información para realizar cálculos con base en secuencias de operaciones preestablecidas. Estos cálculos pueden efectuarse con
1.1 Herramientas de Programación
datos introducidos recientemente en el sistema o bien con datos que están almacenados. Esta característica de los sistemas permite la transformación de datos fuente en información que puede ser
utilizada para la toma de decisiones, lo que hace posible, entre otras cosas, que un tomador de decisiones genere una proyección financiera a partir de los datos que contiene un estado de resultados o
1.2 Tablas de verdad
un balance general de un año base1.
1.3 Tipos de datos y jerarquía de
operadores
Procesamiento de Datos: es cualquier ordenación o tratamiento de datos, o los elementos básicos de información, mediante el empleo de un sistema. Procesar datos es generar información para la
toma de decisiones[2].
1.4 Algoritmos y Diagramas de Flujo
T2: ESTRUCTURAS BÁSICAS DE
PROGRAMACIÓN
1.1.1 Pasos del desarrollo de software.
T3: ESTRUCTURAS DE DATOS
Escribir un programa para resolver un problema involucra una serie de pasos desde su análisis hasta llegar a su implementación. Estos pasos se conocen como Desarrollo de Software y algunas veces
como Ingeniería de Software o Ciclo de Vida de un Sistema.
El desarrollo de software se puede definir como la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para
desarrollar, operar y mantenerlos. [Bohem, 1976].
Un lenguaje de programación es un conjunto de símbolos y reglas sintácticas y semánticas que se utiliza para escribir los programas de computadoras. Un lenguaje de programación permite a uno o
más programadores especificar la forma precisa en que los datos van a ser operados en una computadora, cómo van a ser almacenados o transmitidos y qué acciones tomar ante ciertas circunstancias
o problemas que se deben resolver. El programador debe ser capaz de seleccionar el lenguaje de programación apropiado para resolver un problema bajo ciertas circunstancias específicas, de manera
óptima. Una característica relevante de los lenguajes de programación es precisamente que más de un programador puedan tener un conjunto común de instrucciones que puedan ser comprendidas
entre ellos para realizar la construcción del programa de forma colaborativa.
Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel:
Compilador, que analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguaje de la máquina). Su función es similar a la de un traductor humano,
que toma un libro lo analiza completamente y produce otro equivalente escrito en una lengua diferente.
Intérprete, que analiza el programa fuente y lo ejecuta directamente, sin generar ningún código equivalente. Su acción equivale a la de un intérprete humano, que traduce las frases que oye
sobre la marcha, sin producir ningún escrito permanente. Intérpretes y compiladores tienen diversas ventajas e inconvenientes que los hacen complementarios:
Con el intérprete es más fácil la búsqueda de errores, pues la ejecución del programa se puede interrumpir en cualquier momento para estudiar el entorno (valores de las variables, etc.).
El intérprete va analizando instrucción por instrucción y al momento en que detecta un error se detiene permitiendo su modificación o corrección. Además, el programa puede modificarse
sobre la marcha, sin necesidad de volver a comenzar la ejecución.
El compilador genera programas más rápidos y eficientes, pues este analiza todo el código de una sola vez y luego genera un archivo objeto, por lo cual el análisis del lenguaje fuente se
hace una sola vez, durante la generación del programa equivalente. Se tarda analizando solamente la primera vez, pero luego lo que se ejecuta es el código objeto, por lo cual las demás
ejecuciones son más rápidas. En cambio, un intérprete como no genera el código objeto, siempre se tarda realizando el análisis pues lo hace instrucción por instrucción hasta que termina
y no hayan más errores detectados. El tiempo de ejecución se irá reduciendo cuando se vayan depurando todos los errores encontrados.
Un intérprete permite utilizar funciones y operadores más potentes, como por ejemplo ejecutar código contenido en una variable en forma de cadenas de caracteres. Usualmente, este
tipo de instrucciones es imposible de tratar por medio de compiladores. Los lenguajes que incluyen este tipo de operadores y que, por tanto, exigen un intérprete, se llaman
interpretativos. Los lenguajes compilativos, que permiten el uso de un compilador, prescinden de este tipo de operadores. [1]
LENGUAJES COMPILADOS
Es un programa que traduce un programa escrito en un lenguaje de alto nivel, en un programa en lenguaje de máquina que la computadora es capaz de entender y ejecutar directamente.
Pascal
Cobol
Fortran
Ada
Modula 2
C , C++
Fases de compilación:
ENLAZADOR (LINKER)
El enlazador realiza la tarea de enlazar la funcionalidad de las teclas y funciones con el código objeto generado a través de la compilación de un programa.
Una librería es la colección de varias teclas y sus funciones, las cuales son creadas por programadores expertos y almacenadas en lugares especiales para que se puedan utilizar por otros
programadores. También pueden ser algunas funciones estándar como raíz cuadrada, logaritmo, random y otras.
Para poder utilizar estas funciones predefinidas que están guardadas en las librerías, el programador tiene que hacer referencia a dicha librería, que es un archivo que se llama en la cabecera del
programa.
« Anterior | Siguiente »
« Anterior | Siguiente »
Lógica de Programacion
1.3 Tipos de datos y jerarquía de operadores
INDICE
GENERALIDADES
Uno de los propósitos de las computadoras es manejar información. La información está formada por datos.
T1: HERRAMIENTAS DE
PROGRAMACIÓN Un dato es toda aquella información característica de una entidad, que es susceptible de tratamiento en un programa informático. También es la expresión general que describe los objetos con los
1.1 Herramientas de Programación
cuales opera una computadora.
1.2 Tablas de verdad En un programa los datos de entrada se transforman por el programa hasta producir datos de salida. Para la solución de problemas, definir adecuadamente las estructuras de los datos es tan
importante como el diseño mismo de la solución del problema.
1.3 Tipos de datos y jerarquía de
operadores Todos los datos tienen un tipo asociado con ellos que nos servirá para poder conocer con qué información trabajaremos. Por ejemplo, cuando ingresamos el sueldo de un trabajador necesitamos que
1.4 Algoritmos y Diagramas de Flujo este contenga decimales, o al solicitar la edad de una persona ésta tiene que estar con números enteros, etc. Además hay operaciones que no tienen sentido como la suma entre caracteres.
a) Simples
b) Estructurados
Los tipos de datos simples son los que ocupan sólo una casilla de memoria, por lo tanto una variable simple hace referencia a un único valor a la vez. Los datos simples pueden dividirse en:
1. Numéricos
2. Tipos de Datos Alfanuméricos
3. Tipos de datos Lógicos o booleanos
Estos son un tipo de datos especial que tienen la ventaja de almacenar varios valores al mismo tiempo dentro de una misma variable.
Entre éstos tenemos: Arreglos (arrays), Registros (record), Archivos o Ficheros (File) y Punteros (pointer).
No podrá coincidir con palabras reservadas, propias del lenguaje algorítmico. Tampoco debe tener el mismo nombre de una función, ya sea definida por el usuario o de la biblioteca del lenguaje que se
utilice.
Es el modo de darle valores a una variable. Se representa con el símbolo ß, el cual se conoce como instrucción o sentencia de asignación.
Ejemplo:
La acción de asignar es destructiva, ya que cada vez que le asignamos un valor a una variable, éste le cae encima al anterior pues se está almacenando en un área de memoria. Por ejemplo, en la
secuencia de asignaciones
Aß5
A ß 123
Aß6
Cuando éstas se ejecutan, el último valor que toma A es 6 por lo tanto los otros dos han desaparecido.
Reglas de asignación.
Una variable o expresión que esta al lado derecho de una sentencia de asignación debe tener un valor antes de asignársele a la variable de la izquierda. Esto quiere decir que hasta que un
programa le da un valor a una variable, esa variable no tiene valor.
Ejemplos:
Si x no tiene un valor antes de realizar la operación y= 2x+10, se producirá un error pues el computador no sabrá qué valor le tiene que asignar a x.
Si a,b y c no tienen un valor antes de realizar la operación de x= a+b+c, también se producirá un error.
En la izquierda de una sentencia de asignación sólo puede existir una variable que reciba operaciones a la derecha, no operaciones en sí. Por consiguiente no es válido lo siguiente:
sueldo + comision = nuevo_sueldo (lo correcto sería hacer nuevo_sueldo = sueldo + comisión). Recuerde que la variable de la izquierda recibe las operaciones, variables o expresiones de la
derecha, siempre y cuando éstas generen un valor para ser asignado.
1.3.2 Operadores y expresiones
Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.
Una expresión representa una unidad de datos simple, tal como un número o un carácter. También puede consistir en alguna combinación de entidades interconectadas por uno o más operadores. Las
expresiones también pueden representar condiciones lógicas que son verdaderas o falsas.
Cada expresión tiene un valor, que se determina tomando los valores de las variables y constantes implicadas ejecutando las operaciones indicadas.
Ejemplos:
X = 9 * 15 + 6
2.5 + 13 = 15.5
A+B = C+D
OPERANDOS
OPERADORES
Un operador es un símbolo o palabra que significa que se ha de realizar cierta acción entre dos o más valores, llamados operandos.
Ejemplos:
OPERADORES
Los operadores especifican el tipo de cálculo que se quiere desarrollar en los elementos de una expresión. Los operadores se pueden clasificar en las siguientes categorías:
Aritméticos
Relacionales
Lógicos
Alfanuméricos
Asociativos
Los operadores aritméticos son usados para realizar cálculos matemáticos. Algunos de los operadores aritméticos se listan a continuación:
EJEMPLOS:
Supóngase que unas variables a y b tienen valores 10 y 3, respectivamente. Se muestran a continuación varias expresiones aritméticas en las
que aparecen estas variables, acompañadas del resultado.
Para resolver una expresión aritmética se deben seguir las siguientes reglas:
OPERADORES RELACIONALES
Usted puede comparar dos operandos utilizando operadores relacionales. El resultado es un valor de verdad ya sea Cierto o Falso.
= Compara los dos operandos y evalúa si son iguales x=y Devuelve verdadero si los valores son iguales y falso si no lo son
<> Compara los dos operandos y evalúa si son diferentes x <> y Devuelve verdadero si los valores no son iguales y falso en caso
contrario
> Evalúa si el operando izquierdo es mayor que el derecho x>y Devuelve verdadero si el primero es mayor que el segundo y falso
en caso contrario
< Evalúa si el operando izquierdo es menor que el derecho x<y Devuelve verdadero si el primero es menor que el segundo y falso
en caso contrario
>= Evalúa si el operando izquierdo es mayor o igual que el x >= y Devuelve verdadero si el primero es mayor o es igual que el
derecho segundo y falso en caso contrario
<= Evalúa si el operando izquierdo es menor o igual que el x <= y Devuelve verdadero si el primero es menor o es igual que el
derecho segundo y falso en caso contrario
EJEMPLO
Supongamos que i,j y k son variables enteras con valores asignados 2,3 y 4 respectivamente. A continuación se presentan varias expresiones
lógicas en las que aparecen estas variables.
Los operadores lógicos son usados para combinar el resultado de expresiones conteniendo operadores relacionales.
El resultado de evaluar una expresión aritmética es un número. Ahora bien, cuando aparecen dos o más expresiones aritméticas, ¿Cómo saber qué operaciones hay que realizar primero?
Veamos:
1) 3 + 7 = 10
2) 7 * 4 = 28
3) 3 + 28 = 31. Si hacemos el producto y el resultado lo sumamos con el primer término, la respuesta es 31.
Sabemos que la matemática es exacta, entonces ¿Si hay una única respuesta, cómo la obtenemos?.
Sea la expresión: X2 + 1 / 2
Observe que esta expresión es totalmente diferente a esta otra (X2+1)/2, por lo que es importante codificar las expresiones aritméticas correctamente. Los paréntesis nos indican un orden para realizar
las operaciones. Pero no siempre nos darán los paréntesis, por lo se creó la jerarquía de operadores.
La jerarquía varía de lenguaje a lenguaje, por lo que es importante que cuando usted vaya a codificar en algún lenguaje, lo primero que debe revisar es la jerarquía que corresponde a ese lenguaje.
REGLAS DE PRIORIDAD
EJEMPLO 1
X=3+4*6/3*2–6*8/3*4+5*3/2*2
Cuál sería el valor que al final quedará almacenado en la variable X?
SOLUCIÓN
Lo primero que haría el computador es recorrer la expresión buscando paréntesis, luego expresiones de potencia (o sea el símbolo ^ para resolverlo de
primero debido a que este es el operador de mayor peso en la jerarquía). Como no encuentra ninguno, entonces vuelve al principio de la expresión y
comienza a buscar (y resolver a medida que los encuentre) multiplicaciones y divisiones.
X=3+4*6/3*2–6*8/3*4+5*3/2*2
X = 3 + 24 / 3 * 2 – 6 * 8 / 3 * 4 + 5 * 3 / 2 * 2
X=3+8*2–6*8/3*4+5*3/2*2
X = 3 + 16 – 6 * 8 / 3 * 4 + 5 * 3 / 2 * 2
X = 3 + 16 – 48 / 3 * 4 + 5 * 3 / 2 * 2
X = 3 + 16 – 16 * 4 + 5 * 3 / 2 * 2
X = 3 + 16 – 64 + 5 * 3 / 2 * 2
X = 3 + 16 – 64 + 15 / 2 * 2
X = 3 + 16 - 64 + 7.5 * 2
X = 3 + 16 – 64 + 15
X = 19 – 64 + 15
X = -45 + 15
X = -30 Respuesta.
Con lo cual hayamos que, luego de resuelta la expresión, el valor que quedará almacenado en la variable X será el valor –30. Es muy importante que
cuando tenga que resolver una expresión de estas, lo haga paso a paso, sin apresuramientos y verá como obtiene, sin mayores tropiezos, el mismo
resultado que le daría al computador.
EJEMPLO 2
A=5*2/2*2+6*4/2*2–4*6*2/2*3/2
SOLUCIÓN
Como en esta expresión no existen paréntesis, operaciones de potenciación ni signo, entonces se procede a resolver el siguiente nivel de la jerarquía,
de izquierda a derecha (multiplicaciones y divisiones)
A=5*2/2*2+6*4/2*2–4*6*2/2*3/2
A = 10 / 2 * 2 + 6 * 4 / 2 * 2 – 4 * 6 * 2 / 2 * 3 / 2
A=5*2+6*4/2*2–4*6*2/2*3/2
A = 10 + 6 * 4 / 2 * 2 – 4 * 6 * 2 / 2 * 3 / 2
A = 10 + 24 / 2 * 2 – 4 * 6 * 2 / 2 * 3 / 2
A = 10 + 12 * 2 – 4 * 6 * 2 / 2 * 3 / 2
A = 10 + 24 – 4 * 6 * 2 / 2 * 3 / 2
A = 10 + 24 – 24 * 2 / 2 * 3 / 2
A = 10 + 24 – 48 / 2 * 3 / 2
A = 10 + 24 – 24 * 3 / 2
A = 10 + 24 – 72 / 2
A = 10 + 24 – 36
A = 10 + 24 – 36
A = 34 – 36
A = -2 Respuesta.
EJEMPLO 3
(A ^ 2) > (B * 2)
SOLUCIÓN
Falso Respuesta
EJEMPLO 4
(X ^ 3 \ B) <= (X * 5 + B ^ 3 / 4)
SOLUCIÓN
(X ^ 3 \ B) <= (X * 5 + B ^ 3 / 4) Sustituir los valores de X y B
30 <= (6 * 5 +343 / 4) Producto y división real tienen misma prioridad, pero producto está
más a la izquierda
Verdadero Respuesta
EJEMPLO 3
SOLUCIÓN
NOT((15 >= 7 ^ 2) and ( (43 – 8 * 2) mod 4 < > 3 * 2 div 2)Resolviendo paréntesis de adentro hacia afuera y el de
or 3 >= 3) más a la izquierda. Potencia tiene mayor prioridad.
Not ((15 >= 49) and ((43 – 8 * 2) mod 4 < > 3 * 2 div 2 ) or 3Pasamos al paréntesis de la derecha pues ya no hay
>=3) operadores aritméticos en el primer paréntesis
Not ((15>=49) and ((43 – 16) mod 4 < > 3 * 2 div 2 ) or 3 > Efectuamos la resta para quitar el paréntesis
=3)
Not ((15>=49) and (27 mod 4 <> 3 * 2 div 2 ) or 3 > = 3 ) Seguimos con el producto
Not ((15>=49) and (27 mod 4 <> 6 div 2 ) or 3 > = 3 ) Div y mod tienen igual prioridad, el de más a la izquierda es
mod.
Not ((15>=49) and (3 <> 3 ) or 3 > = 3 ) Ya no hay operadores aritméticos, seguimos con los
relacionales, el paréntesis de más a la izquierda
Not (Falso and Falso or Verdadero) And tiene mayor prioridad que Or
False Respuesta
Las fórmulas matemáticas se deben escribir en formato lineal. Esto obliga al uso frecuente de paréntesis que indiquen el orden de evaluación correcto de las operaciones. Linealizar una expresión
significa, convertir una expresión algebraica en expresión aritmética o algorítmica.
EJEMPLOS 1:
Linealizar las siguientes expresiones: (no se olvide que linealizar significa escribir una expresión algebraica en una sola línea).
Sabemos que la división real se representa por / y que usamos paréntesis para que se realicen las operaciones en el orden correcto.
Respuesta:
X = ( a + b / c ) / ( a / b + c )
EJEMPLOS 1:
Linealizar las siguientes expresiones: (no se olvide que linealizar significa escribir una expresión algebraica en una sola línea).
Recuerde que los paréntesis ayudan a separar las expresiones para que se evalúen en el orden correcto, debemos poner los que sean necesarios pero
tratando de que no vayan más de la cuenta.
Respuesta:
X = ( a / (a + b)) / (a / (a - b))
« Anterior | Siguiente »
« Anterior | Siguiente »
Lógica de Programacion
1.4 Algoritmos y Diagramas de Flujo
INDICE
GENERALIDADES
METODOLOGÍA A SEGUIR:
Establecer el problema.
Analizar el problema. Para ello nos hacemos las siguientes preguntas:
¿Qué información tenemos?
¿Qué necesitamos conocer?
¿Qué queremos obtener?
Diseñar el algoritmo para su solución.
Codificar.
Lógicamente no sirve un algoritmo que no resuelve ese problema. En el caso de los programadores, a veces crean algoritmos que resuelven problemas diferentes al planteado. Los algoritmos deben
mostrar claramente cuáles son los datos iniciales y cuáles son los resultados.
♦ Los algoritmos son independientes del computador. Los algoritmos se escriben para poder ser utilizados en cualquier máquina.
♦ Los algoritmos deben de ser precisos. Los resultados de los cálculos deben de ser exactos, de manera rigurosa. No es válido un algoritmo que sólo aproxime la solución. Debe constar de pasos
claros, precisos y no ambiguos.
♦ Los algoritmos deben de ser finitos. Deben alcanzar la solución correcta en un tiempo finito. No es un algoritmo válido aquel que produce situaciones en las que el algoritmo no termina.
♦ Los algoritmos deben de poder repetirse. Deben de permitir su ejecución las veces que sea necesario. No son válidos los que tras ejecutarse una vez, ya no pueden volver a hacerlo por la razón
que sea. Debe tener la capacidad de resolver el problema aun cuando cambiemos los datos de entrada.
♦ Validez. Un algoritmo es válido si carece de errores. Un algoritmo puede resolver el problema para el que se planteó y sin embargo no ser válido debido a que posee errores.
♦ Eficiencia. Un algoritmo es eficiente si obtiene la solución al problema en poco tiempo. No lo es si es lento en obtener el resultado.
♦ Óptimo. Un algoritmo es óptimo si es el más eficiente posible y no contiene errores. La búsqueda de este algoritmo es el objetivo prioritario del programador. No siempre podemos garantizar que el
algoritmo hallado es el óptimo, a veces sí.
Aunque no existe una única forma de representar un algoritmo, la estructura general de éste debería ser como la siguiente:
ENTRADAS
Entradas son los datos proporcionados al computador para procesar y generar la salida. Para que los resultados sean correctos, se tienen que dar los datos de entrada correctos. La entrada se puede
representar de varias formas. Flujogramas y pseudocódigo tienen diferentes métodos de representar la instrucción de aceptar una entrada. Algunos ejemplos de representación de entradas son los
siguientes:
En un Flujograma, la instrucción es representada usando el símbolo llamado “Entrada de datos”. Existe un símbolo para entrada por tarjeta perforada que ya está en desuso por haber desaparecido las
mismas (Ver imágen 1).
Los símbolos utilizados en flujogramas para representar las entradas son los siguientes: En un pseudocódigo, la instrucción se da a través de teclado.
Existen varias formas de representar el pseudocódigo. Por ejemplo, para leer la edad de un estudiante en una variable llamada edad (Ver imágen 2).
Un computador requiere entradas para generar las salidas. Después de aceptar la entrada, el computador la procesa y luego despliega el resultado. Este resultado es llamado la salida.
SALIDAS:
Los símbolos utilizados en flujogramas para representar las salidas se ven en la imagen 3:
En pseudocódigo, la instrucción “desplegar salida” es representada usando salida a pantalla o a papel que se ve en la imagen 4.
Representación de entradas en algoritmos.
Los comentarios en un algoritmo se usan como una referencia para explicar la lógica del mismo. Es una forma de documentar el proceso, estos no tienen efecto en el código del programa (el
computador los ignora), sino que sirven para que el programador comprenda mejor lo que se está representando en el algoritmo. Los comentarios se pueden representar ya sea en una sola línea o en
varias líneas.
//Este es un comentario.
/* Este
es un
comentario
en varias
Líneas */
Los algoritmos pueden ser representados en diferentes formas, entre las cuales tenemos:
Representación en pseudocódigo
El pseudocódigo no es propiamente un código sino un tipo de descripción que incluye un poco de lenguaje natural y de instrucciones estandarizadas para los lenguajes de programación. Podemos decir
que es un lenguaje intermedio entre el lenguaje natural (nuestra forma normal de expresarnos) y cualquier lenguaje de programación específico, como por ejemplo C, Fortran, Pascal, etc.
Es una mezcla de lenguaje natural, símbolos, términos y otras características comúnmente utilizadas en los lenguajes de programación. Además es una técnica para diseño de programas que permite
definir las estructuras de datos, las operaciones que se aplicarán a los datos y la lógica que tendrá el programa de computadora para solucionar un determinado problema.
No existe una notación formal o estándar de pseudocódigo, sino que, cada programador puede utilizar la suya propia.
Usted puede detectar errores cuando escribe pseudocódigo porque cada paso del pseudocódigo puede ser revisado durante la creación.
Se concibió para superar las dos principales desventajas de los flujogramas: requiere mucho trabajo para elaborarlo y que no se puede modificar tan fácilmente sin tener que hacer un nuevo redibujo.
No provee una representación gráfica del algoritmo, por lo que puede ser difícil entender la lógica compleja de
un pseudocódigo.
El pseudocódigo puede ser diseñado en español o en inglés. Cuando se diseña en inglés, se tiene un grupo de instrucciones más parecidas a un lenguaje de programación.
Begin …. End/ Start…. Stop. Estas instrucciones son usadas para iniciar y finalizar.
Accept, read, input: Estas instrucciones son usadas para obtener una entrada de un usuario.
Display, write, print: Estas son usadas para presentar un resultado o una salida.
If… else: Son usadas para hacer decisiones.
EJEMPLO
Continuando con el estudio de algoritmos, estudiaremos la representación en Diagramas de Flujo o llamados también Flujogramas.
FLUJOGRAMAS
Son la representación gráfica de la secuencia de actividades de un proceso en los algoritmos. Consiste en símbolos para representar los pasos de un algoritmo. Cada símbolo tiene un significado que
representa una acción a ser seguida, correspondiente a un paso del algoritmo. Cada símbolo se conecta a través de flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben
ser ejecutados.
Puesto que un Flujograma es la representación gráfica de un algoritmo, también debe tener: ENTRADA – PROCESO – SALIDA.
Para comprender mejor los diagramas de flujo, se tiene que respetar las reglas de construcción. Al realizar una prueba manual, se debe tomar un conjunto de datos significativos de entrada y comenzar
a recorrer el Flujograma de arriba hacia abajo y de izquierda a derecha; según sea la forma representada, para ver cómo se comporta el Flujograma y si los resultados obtenidos son correctos y
coherentes.
EJEMPLO 1.
En ejemplos anteriores, diseñamos un pseudocódigo para encontrar la superficie de un círculo para un radio cualquiera.
« Anterior | Siguiente »
Introducción
Programación
2
Algoritmo Algoritmo
Un algoritmo constituye una lista bien definida, ordenada y finita de Un algoritmo puede ser expresado en:
operaciones, que permite encontrar la solución a un problema
● Lenguaje natural (a veces, este no resulta muy claro, pero es
determinado.
muy útil para problemas simples)
Dado un estado inicial y una entrada, es a través de pasos sucesivos
● Pseudocódigo
y bien definidos que se llega a un estado final, en el que se obtiene
una solución (si hay varias) o la solución (si es única). ● Diagramas de flujo
● Programas
3 4
Algoritmo Algoritmo
Ejemplo Ejemplo
Indicar los pasos para resolver la siguiente ecuación: Indicar los pasos para obtener el área sombreada:
5 6
7 8
Análisis y comprensión de un problema Análisis y comprensión de un problema
2. Análisis. En este punto se analiza el problema y sus 3. Diseño. Aquí es donde se plasma la solución del problema. Con
Características, y se determinan las entradas y salidas del problema. ese fi n, se emplea una herramienta de diseño, que consiste en el
diagrama de flujo y el pseudocódigo.
De igual modo, también se realiza una investigación sobre si ya se
conoce alguna o varias soluciones de este. 4. Implementación. En este último paso es donde se realiza o se ve
concretado el programa y, por ende, se hacen varias pruebas.
En el caso de que ya se conozcan varias soluciones, entonces se
determina cuál es la más conveniente para el problema que estamos
tratando. Si no se conoce ninguna, o no nos satisfacen las soluciones
existentes, se propone una nueva.
9 10
Un programa informático se define como un conjunto de instrucciones Un programa se escribe con instrucciones en un lenguaje de
que, una vez ejecutado, realiza una o varias tareas en una computadora. programación, el cual, a su vez, está definido por su sintaxis, que
establece e indica las reglas de escritura (la gramática), y por la
De esta forma, sin programas, una computadora no puede realizar las
actividades para las que fue diseñada y creada. semántica de los tipos de datos, instrucciones, definiciones, y todos los
otros elementos que constituyen un programa.
El conjunto general de programas que posee una computadora se
denomina software, término que se utiliza para definir al equipamiento o Un lenguaje de programación es un caso particular del lenguaje
soporte lógico de una computadora. informático; este último permite hacer programas, pero también describir
datos, configuraciones físicas y protocolos de comunicación entre
equipos y programas.
11 12
Variables, tipos y expresiones
Programación
2
Introducción Variables
El objetivo general de un programa es transformar datos en El formato de representación y de estructuración de los datos
resultados útiles para el usuario. Los datos están almacenados en la depende del paradigma del lenguaje de programación y de la opción
memoria principal o en la memoria secundaria, ya sea de manera que el programador ha elegido para representar los datos.
temporal (durante toda la ejecución del programa o durante una parte
La ventaja de las variables es que almacenan datos de entrada, de
del tiempo de ejecución) o de manera permanente.
salida o intermedios.
En la mayoría de los lenguajes de programación, los datos son de
El nombre de una variable debe ser único y no ambiguo.
diferentes tipos, aparecen en expresiones o en las llamadas de
funciones y se manejan a través del uso de variables.
3 4
Tipos de Variables Tipos de Variables
● Variables simples. Son propias de los tipos básicos, para los datos Real (float)
enteros, flotantes, caracteres y lógicos.
Complejo (complex)
● Variables compuestas. La definición del tipo de una variable compuesta
depende de la sintaxis del lenguaje de programación y de su poder Booleano (bool)
semántico. Texto (str)
● Arreglos de variables de tipo simple o tipo compuesto. Los arreglos
sirven para almacenar una sucesión de valores del tipo indicado.
(A) Conjuntos de números (B) Tipos simples en Python
5 6
7 8
Expresiones Operadores
9 10
Funciones matemáticas
● Redondeo
● Logaritmos
● Constantes matemáticas
● Trigonométricas
11