SlideShare una empresa de Scribd logo
1 de 41
Descargar para leer sin conexión
INFORMATICA 2
Realizado por
Sandra Haro
Nombre: Alejandra Trejo Banda
Grupo: 204
Plantel 07 La Cañada El Marques Qro.
Semestre 2023
LECTURA
Un algoritmo nos permite llevar a cabo una tarea o encontrar la solución a un determinado problema
a través de una serie de inscripciones bien definidas y estructuradas, que además deben estar en
orden, es decir una tras otra, y ser finitas, es decir tener una solución posible. De este método,
definimos un estado inicial y una entrada, si seguimos las instrucciones formuladas llegaremos al
estado final y encontraremos la solución al problema o alcanzaremos el objetivo definido.
El consenso general es que los algoritmos solo se usan en cuestiones relacionados con las
matemáticas. Si bien el termino algoritmo esta muy presente en esta área y en todos los otros ámbitos
en los cuales se utilice estructuración de datos, como por ejemplo la computación la lógica y demás
áreas relacionadas con los números, lo cierto es que los algoritmos se usan mucho mas de lo que
creemos, y en todos los aspectos de nuestra vida diaria.
Historia de los algoritmos
Si bien la mayoría de nosotros piensa que la implementación de algoritmos es un hecho más
relacionado con la aparición de las computadoras modernas, lo cierto es que ya en tiempos muy
antiguos se utilizaban para resolver problemas matemáticos como por ejemplo raíces cuadradas y
multiplicaciones.
En este sentido, los egipcios y babilonios ya usaban los algoritmos, aun cuando no existían todavía ni
la base teórica ni el concepto del algoritmo como tal, siendo los primeros quienes los usaban
algoritmos muy parecidos a los de expansión binaria.
La palabra algoritmo tiene su origen en el termino Al-Khwārizmī, derivado de Quitab Al Jabr Al
Mugabala, el cual es el nombre con que se conocía aun importante astrónomo y matemático quien en
el siglo IX dejara como legado numerosos tratados acerca de conceptos acerca del cero y de la
numeración hindú, y en los que también trataba temas como el desarrollo y resolución de ecuaciones
de primer y segundo grado con un numero limitando el procesos. Estos tratados fueron de mucha
ayuda para desarrollar enunciados para sumas, restas, multiplicaciones y divisiones de números
decimales.
Si bien Al-Khwārizmī no fue el creador del primer algoritmo, ya que como mencionábamos ya los
egipcios y babilonios los utilizaban, aunque sin saberlo, se considera que el matemático árabe fue en
el primero en utilizarlos con un orden. Pero los algoritmos del modo en que los conocemos y
empleamos hoy, no se utilizaron hasta bien entrando el siglo VXIII.
El salto más importante de los algoritmos y su relación con la computación ocurrió en el año 1842, de
la mano de Charles Babbage, con su máquina analítica y de Ada Lovelace, creadora del primer
algoritmo destinado a se procesado por una maquina.
Lamentablemente, Charles Babbageno pudo terminar su máquina, por lo tanto, el algoritmo creado
por Ada Loveace no pudo llegar a implementarse nunca, pero el trabajo llevado a cabo por ambos fue
de gran inspiración para todos los investigadores que llegaron después.
Alejandra
GRUPO 204
TREJO BANDA
El otro gran salto de los algoritmos aplicados a las ciencias computacionales ocurrio uns
cuantos años mas tarde, precisamente en elanño 1900, cuando el matematico David
Hilbert declaro algunas considerciones fudamentalmente acerca de la ciencia de las
matematicas, que llevaron a nuestros puntos de vista ue mas tarde serin de mcha
importancia para que el desarrollo de nuevas tecnologias, como por ejemplo los trabajos
llevados a cabo por cientificos como Alonzo Church, Alan Turing, Stephen Kleene o Emil
Post.
Finalmente, las decadas de 1950 y 1960fueron testigodel nciomiento de muchos lenguajes
de programacion, compiladores y sistemas operativos, ue nos llevaron a donde estamos
hoy, todo grcias al tabajo realizado durante siglos por matematicos y cientificos en tomo
a los algoritmos.
Que es un algoritmo
El termino algoritmo peoviene del idio m arabe clasico "hisābu Igubār", luegp
transformada al latin "Alborarismus", que segun los expertos podría podría traucirce como
"calculo mediante cifras arábigas". El origen del vocablo se remota a la Edad Media, más
precisamente de la mano del matematico Al Khwarizmi, en una zona de Asia Cantral hoy
conocida como Uzbekistán, en el Asia Central.
Básicamente, el algoritmo es una serie ordenada de procesos o pasos que deben levarse
a cabo para realizar la solución de un problema específico. Los algoritmos pueden ser de
distintos tipos, los de la vida diaria como seguir las instrucciones para lavarse los dientes,
poner en funcionamiento un lavarropas y los algoritmos utilizados para resolver o llevarse
a cabo procesos más complicados como el funcionamiento de un programa de
computación.
Una de las características de los algoritmos es que nos permiten definir una serie de
pasos a seguir que se deben realizar para alcanzar el resultado que deseamos, es decir
un resultado previsible. En este punto cabe destacar un ejemplo de uso de algoritmos: el
software de computadoras, el cual consta de instrucciones precisas para llevar a cabo un
procedimiento de manera siempre igual pero escritas en un lenguaje de programación.
Sin embargo, el uso de los algoritmos no se limita a las computadoras o a los sistemas
automatizados, ya que también en la naturaleza y en la vida los algoritmos están bien
presentes. Básicamente podría considerarse como un algoritmo cualquier tarea que deba
ser llevada a cabo mediante instrucciones y reglas definidas para ellos.
Un ejemplo de ello sería lavarse las manos y tareas similares, como podrás ver más abajo
en este mismo post.
Alejandra
GRUPO 204
TREJO BANDA
Tipos de Algoritmos
En términos sencillos de entender, existen dos tipos de algoritmos. Los primeros son los
llamados “algoritmos convencionales”, los cuales son aquellos que las personas realizan todos
los días en su acontecer diario, con el fin de llegar a cumplir un determinado objetivo, como
por ejemplo de ello es hacerse el desayuno.
También tareas para solucionar problemas en la jornada laboral, como por ejemplo hacerse el
desayuno, o para solucionar problemas en su jornada laboral, como por ejemplo programar lo
que almorzarál en base al tiempo que tiene disponible.
Aunque pueda parecer demasiado simple, lo cierto es que si nos llevamos del significado de
algoritmo, el cual básicamente dicta que se trata de “secuencia lógica y finita de pasos que
permite solucionar una problemática o cumplir con un determinado objetivo” cualquier de los
ejemplos citados se ajustan al máximo al significado de algoritmo.
El otro tipo de algoritmos son los llamados “algoritmos computacionales”, los cuales son
aquellos que utilizan las aplicaciones y el software de computadoras para realizar las tareas
que les pedimos o las acciones automáticas que realizan los dispositivos sin que lo solicitemos.
Nuevamente si tomas la definición de algoritmo, vamos que se cumplen todas las condiciones
requeridas.
Cabe destacar en este punto que todas las operaciones aritméticas y algebraicas
relacionadas con los algoritmos se engloba en una ciencia llamada Algoritmia.
Si quieres saber más acerca de los algoritmos computacionales, te invitamos a seguir
leyendo el resto del post, en donde encontrarás importantes definiciones acerca del tema.
Todos hemos escuchado la palabra “Algoritmo” relacionada con las ciencias de la
computación, como por ejemplo cuando se habla del “algoritmo de Google” o del “algoritmo
de Facebook”. Esto es porque nada sucede en computación sin un diagrama que definen una
serie de pasos, los que definitivamente conforman un algoritmo.
En este sentido, el algoritmo informático es el elemento fundamental de cualquier
programa de computación, y no está relacionado con el lenguaje de programación utilizado
para desarrollarlo, sino en los pasos que deben realizarse para alcanzar el objetivo, es decir el
conjunto de instrucciones y pasos desarrollados para llevar a cabo la tarea encomendada al
software.
Esto en pocas palabras significa que primero el desarrollador de software debe diseñar el
diagrama de flujo, escribir el algoritmo y luego plasmarlo en el lenguaje de programación
que más se adecue a sus propias necesidades y a los requerimientos de los clientes.
Con el ello, el ingeniero en informática se asegura tener una base sólida desde la cual
comenzar a crear una metodología con escenarios bien definidos y finitos, es decir que deben
finalizar en algún momento de su recorrido.
Básicamente el uso de un algoritmo en computación nos ofrece la posibilidad de hallar
una solución genérica a un determinado problema, y nos va a permitir reutilizarlo cada vez
que sea necesario para lograr el objetivo deseado.
Alejandra
GRUPO 204
TREJO BANDA
Lo primero que debes considerar es que un algoritmo debe ser preciso: es por ello que
se debe indicar el orden exacto de ejecución de cada paso implicado en el proceso.
Otro punto más que importante a considerar es que un algoritmo debe estar
perfectamente definido. Esto significa que en el caso de ejecutarse el mismo más de
dos veces, siempre se debe obtener el mismo resultado independientemente de la
cantidad de veces que se siga.
También es necesario saber que un algoritmo debe ser finito, es decir que el algoritmo
debe culminar en algún momento de su ejecución, expresado en otras palabras, debe
tener un número de pasos bien determinados hasta concluir con su tarea.
Asimismo, un algoritmo tiene que ser legible. Esto significa que el texto que describe
debe ser claro y conciso, de una manera tal que permita su comprensión inmediata, es
decir sin procedimientos rebuscados o poco claros.
Por último, un algoritmo debe estar definido en tres partes fundamentales, las
cuales son: Entrada, Proceso y Salida. Si quieres saber más sobre este tema, más
adelante en este mismo post encontrarás información al respecto.
Una secuencia de pasos limitada, que deben estar definidas claramente. Asimismo
estos pasos deben ser independientes el uno del otro.
Un agente, que puede ser en algunos casos un operador humano y en otros casos parte
del propio programa es el actor que tiene como tarea aplicar cada una de las etapas
del proceso en un punto específico del recorrido.
Este agente debe tener la capacidad de interpretar las instrucciones
operacionales y simultáneamente tener la posibilidad de almacenar la información
suministrada por el propio programa.
El resultado obtenido cuando se realizan las determinadas operaciones del programa
siempre ha de comportarse igual, en cada paso de la operatoria, teniendo en cuenta
por supuesto la configuración de los datos iniciales de entrada.
La operación siempre debe finalizar con un resultado conciso.
Características de los algoritmos
Hasta este punto hemos hablado de los diferentes tipos de algoritmos y sus orígenes,
pero nos falta conocer un punto más que importante: ¿Cuáles son las características
fundamentales que debe cumplir todo algoritmo?
Es por ello que debajo de estas líneas encontrarás los puntos fundamentales que debe
cumplir un proceso para ser considerado un verdadero algoritmo.
Características de los algoritmos computacionales
Originariamente, la idea de llevar este concepto del ámbito de las matemáticas al campo
de la incipiente informática fue propuesto por el matemático inglés Alan Turing, quien sentó
las bases para definir los elementos básicos de un algoritmo aplicado a las ciencias de la
computación, los cuales debían ser los siguientes:
En este punto cabe destacar que existen casos en los cuales el procedimiento requiere que
se ofrezca un resultado concreto, y otros casos en los cuales no es necesario.
Es por ello que los algoritmos repetitivos o irregulares que no culminan son tan habituales
en la programación de aplicaciones para computadoras.
El mejor ejemplo de esto son los sistemas operativos modernos como Windows, Linux o
el SO de las computadoras Mac, los cuales deben seguir en ejecución para permitir que
las demás aplicaciones y procesos de la computadora puedan seguir cumpliendo con su
función o tarea.
Alejandra
GRUPO 204
TREJO BANDA
Primer paso: Análisis previo del problema o necesidad. Lo primero que tienes que hacer,
antes de comenzar con el desarrollo de cualquier algoritmo es llevar a cabo un análisis
pormenorizado de la situación o problema.
Segundo paso: Definir los requerimientos. En este paso se debe definir exactamente el
problema que tengas que solucionar y desglosarlo, incluyendo todas las derivaciones que
puedan surgir.
Tercer paso: La identificación de los módulos. En este paso, identificar claramente los
módulos es tan importante como la identificación de los requerimientos. Esto es así
debido a que identificar correctamente los módulos nos va servir para simplificar
considerablemente la puesta en marcha de los pasos del algoritmo correcto para tu
problema, y que has identificado en el paso anterior.
Cuarto paso: La creación del algoritmo. En este punto debes asegurarte que el algoritmo
cumpla con todos los requerimientos adecuados para llevar a cabo la función
encomendad. Esto es similar tanto para los algoritmos no computacionales como para
los algoritmos computacionales. En el caso de tratarse de un algoritmo computacional,
además deberá cumplir con ciertas características para poder luego implementarse en
cualquier lenguaje de programación.
Partes de un algoritmo
A partir de este punto, conoceremos las reglas básicas de las partes que deben conformar
un algoritmo para ser considerado como tal.
Básicamente, los algoritmos deben estar compuestos por tres partes principales que son
entrada, proceso y salida, independientemente de tratarse de algoritmos computacionales,
algoritmos no computacionales, algoritmos cualitativos o algoritmos cuantitativos.
Aquí abajo encontrarás las características que debe tener cada fase de un algoritmo.
Entrada
Esta fase del algoritmo se corresponde con los valores de entrada con que se debe
alimentar al mismo. Básicamente se trata de la información que se entrega al algoritmo, es
decir, los valores de datos con los que tendrá que ofrecer un determinado resultado.
Proceso
La segunda fase de un algoritmo ocupa los cálculos necesarios para procesar los datos con
los que hemos alimentado al algoritmo, es decir que en este punto se procesará la
información entrega a la entrada del algoritmo, y con la cual se debe llegar al resultado
esperado.
Salida
La tercera y última fase de un algoritmo es donde se obtiene el resultado de la operación, es
decir la transformación de los datos que fueron proporcionados en la fase de entrada y
desarrollados en la fase de proceso.
Cómo hacer un algoritmo?
En el caso que necesites realizar tu propio algoritmo para poder resolver problemas o
mejorar algún proceso en tu actividad, lo puedes llevar a cabo de manera bastante sencilla,
ya que lo único que tienes que hacer es poner claro qué necesitas y cómo lo puedes
resolver.
Para ello debes realizar la serie de pasos necesarios y sus derivaciones para poder llegar al
resultado esperado del problema que tienes entre manos.
Los pasos para definir y concretar tu algoritmo son los siguientes:
Alejandra
GRUPO 204
TREJO BANDA
Quinto paso: La implementación del algoritmo. En el caos de los algoritmos
computacionales, la implementación de los mismos se debe llevar a cabo traduciendo el
mismo a un lenguaje de programación con el propósito de que cualquier computadora
pueda interpretar sus instrucciones y enviar a su hardware la información necesaria para
poder completar los pasos correspondientes y de esta manera obtener el resultado
esperado.
Sexto paso: Creación de las herramientas para llevar a cabo el algoritmo. En este último,
y si pudiste cumplimentar correctamente con todos los pasos anteriores, ya estarás en
posición para poder crear las herramientas necesarias para poder ejecutar el algoritmo
desarrollado. En el caso tratarse de un algoritmo computacional, puedes desarrollar a
través de cualquier lenguaje de programación una aplicación para poder llevarlo a cabo,
la cual contará con una serie de instrucciones que ordenadas una detrás de la otra
podrán representar el algoritmo que has diseñado y poder ofrecer una solución a los
requerimientos identificados. En los casos en que se trate de un algoritmo no
computacional, puedes desarrollar lo necesario teniendo en cuenta los pasos que debe
seguir el algoritmo, como por ejemplo una línea de producción.
Primer paso: Análisis previo del problema o necesidad. Lo primero que tienes que hacer,
antes de comenzar con el desarrollo de cualquier algoritmo es llevar a cabo un análisis
pormenorizado de la situación o problema.
Segundo paso: Definir los requerimientos. En este paso se debe definir exactamente el
problema que tengas que solucionar y desglosarlo, incluyendo todas las derivaciones que
puedan surgir.
Tercer paso: La identificación de los módulos. En este paso, identificar claramente los
módulos es tan importante como la identificación de los requerimientos. Esto es así
debido a que identificar correctamente los módulos nos va servir para simplificar
considerablemente la puesta en marcha de los pasos del algoritmo correcto para tu
problema, y que has identificado en el paso anterior.
Cuarto paso: La creación del algoritmo. En este punto debes asegurarte que el algoritmo
cumpla con todos los requerimientos adecuados para llevar a cabo la función
encomendad. Esto es similar tanto para los algoritmos no computacionales como para
los algoritmos computacionales. En el caso de tratarse de un algoritmo computacional,
además deberá cumplir con ciertas características para poder luego implementarse en
cualquier lenguaje de programación.
Quinto paso: La implementación del algoritmo. En el caos de los algoritmos
computacionales, la implementación de los mismos se debe llevar a cabo traduciendo el
mismo a un lenguaje de programación con el propósito de que cualquier computadora
pueda interpretar sus instrucciones y enviar a su hardware la información necesaria para
poder completar los pasos correspondientes y de esta manera obtener el resultado
esperado.
Cómo hacer un algoritmo?
En el caso que necesites realizar tu propio algoritmo para poder resolver problemas o
mejorar algún proceso en tu actividad, lo puedes llevar a cabo de manera bastante sencilla,
ya que lo único que tienes que hacer es poner claro qué necesitas y cómo lo puedes resolver.
Para ello debes realizar la serie de pasos necesarios y sus derivaciones para poder llegar al
resultado esperado del problema que tienes entre manos.
Los pasos para definir y concretar tu algoritmo son los siguientes:
Alejandra
GRUPO 204
TREJO BANDA
Sexto paso: Creación de las herramientas para llevar a cabo el algoritmo. En este último,
y si pudiste cumplimentar correctamente con todos los pasos anteriores, ya estarás en
posición para poder crear las herramientas necesarias para poder ejecutar el algoritmo
desarrollado. En el caso tratarse de un algoritmo computacional, puedes desarrollar a
través de cualquier lenguaje de programación una aplicación para poder llevarlo a cabo,
la cual contará con una serie de instrucciones que ordenadas una detrás de la otra
podrán representar el algoritmo que has diseñado y poder ofrecer una solución a los
requerimientos identificados. En los casos en que se trate de un algoritmo no
computacional, puedes desarrollar lo necesario teniendo en cuenta los pasos que debe
seguir el algoritmo, como por ejemplo una línea de producción.
Ejemplos de aplicación de algoritmos
Los algoritmos pueden aplicarse en cualquier campo, y no son para nada ajemos a la vida
diaria, es decir que no son sólo cálculos que se aplican en determinados campos científicos,
ya que en la vida diaria puedes encontrar decenas de ejemplos de algoritmos, los
cuales la mayoría de las veces pasan desapercibidos para todos nosotros.
Ejemplos de algoritmo en la vida diaria es el proceso de digestión, el cual es básicamente un
concepto de algoritmo con el que vivimos todos los días sin que tengamos que conocer
implícitamente su definición para que ocurra. Esto significa que para que puedas realizar el
proceso de digestión todos los días no es necesario que sepas cómo éste funciona ni los
actores implicados en el procedimiento.
Los algoritmos se ponen en marcha infinidad de veces el día, pero nos hemos acostumbrado
a ellos o quizás simplemente ignoramos que lo son, debido a que no estamos familiarizados
con el concepto de algoritmo.
Un hecho que debemos destacar es que los algoritmos en la vida diaria, no difieren
demasiado de los algoritmos que se utilizan en las ciencias de la computación.
En el siguiente ejemplo, proponemos comparar el algoritmo descripto con alguna situación
dada en la vida real. ¡Te aseguramos que te sorprenderá el resultado!
Para el ejemplo hemos realizado un algoritmo dónde se determina si una persona puede
ingresar a una atracción mecánica en un parque de diversiones
Alejandra
GRUPO 204
TREJO BANDA
Alejandra
GRUPO 204
TREJO BANDA
Actividad 1
¿Qué es un algoritmo?
Es un método para encontrar una solución a un determinado problema a través
de una serie de instrucciones de pasos finitos bien definidos.
¿Cuáles son las características de los algoritmos?
presiso
definido
legible
entrada
proceso
salida
Da una breve historia de como surgen los algoritmos.
Se originaron a mediados del siglo IX cuando el matemático Mohammed Ibn
Musa-al-Khwarizmi desarrolló fórmulas para resolver ecuaciones de primer y
segundo grado.
Alejandra
GRUPO 204
TREJO BANDA
Elabora un mapa mental de las partes de un algoritmo.
INPUT
ALGORITMO
PROCESO SALIDA
Menciona los pasos para realizar un algoritmo (Cuadro sinóptico)
Algoritmo Selección: determina un conjunto diferente de pasos
Interacción: sirve para ejecutar los pasos.
Secuencia: Ordenar los pasos.
Realiza el algoritmo de como se elabora una jarra de limón.
INICIO
Jarra Azúcar
Agua Limón
Jarra con agua
Exprime el limón en la jarra de agua
Coloca azúcar al gusto en el agua con
limón
Alejandra
GRUPO 204
TREJO BANDA
Tipos de algoritmos
Cualitativos: son aquellos en los que se describen como los pasos utilizando
palabras.
Son todos aquellos pasos o instrucciones descritos por medio de palabra que
sirven para llegar a la obtención de una respuesta o solución de un problema
Cualquier.
cuantitativos: son aquellos en los que se utilizan cálculos numéricos para
definir los pasos del proceso.
son aquellos pasos o instrucciones que involucran cálculos numéricos para
llegar a un resultado satisfactorio.
tipos de algoritmos de razonamiento:
Algoritmos estáticos dos puntos son los que funcionan siempre igual,
independientemente del tipo de problema tratado.
Algoritmos adaptativos: algoritmos con cierta capacidad de aprendizaje.
Algoritmos probabilísticos: son algoritmos que no utilizan valores de verdad
booleanos sino continuos. Existen varios tipos de algoritmos probabilísticos
dependiendo de su funcionamiento, pudiéndose distinguir:
Algoritmos numéricos dos puntos que proporcionan una solución Aproximada
del problema.
Algoritmos de Montecarlo: que pueden dar la respuesta correcta o respuestas
erróneas (con probabilidad baja).
Algoritmos de Las Vegas: que nunca dan una respuesta incorrecta o bien dan la
respuesta correcta o informan del fallo.
algoritmo cotidiano: es la serie de pasos que realizamos en nuestra vida diaria
para realizar las diferentes tareas y actividades comunes, desde los pasos al
levantarnos, así como ir de compras, etcétera.
Algoritmo voraz: un algoritmo voraz es aquel que, para resolver un determinado
problema, sigue una meta heurística que consiste en elegir la opción óptima en
cada paso local con la esperanza de llegar a una solución general óptima.
algoritmo determinista: es un algoritmo que, en términos informales, es
completamente predictivo si se conocen sus entradas
.
Alejandra
GRUPO 204
TREJO BANDA
Algoritmo heurístico: es un algoritmo que abandona uno o ambos objetivos, por
ejemplo normalmente encuentran buenas soluciones, aunque no hay problemas
de que la solución no pueda ser arbitrariamente errónea en algunos casos, o se
ejecuta razonablemente rápido, aunque no existe tampoco prueba de que
siempre será así. Las heurísticas Generalmente son usadas cuando no existe
una solución óptima bajo las restricciones dadas (tiempo, espacio, etc.) O
cuando no existe del todo.
algoritmo de escala: la idea básica consiste en comenzar con una mala
solución de un determinado problema, y repentinamente, aplicar
optimizaciones a la misma hasta que esta sea optima o satisfaga algún otro
requisito.
Ciencias en que se apoya la algoritma parabproducir soluciones ingeniosas
-Ciencias de la computación.
-Matemáticas.
-Ciencias Sociales.
-Ciencias Políticas.
¿Como podemos determinar la complejidad de un algoritmo?
No existe receta para que siempre funcione para calcular la complejidad de un
algoritmo, si es posible tratar sistemáticamente una gran cantidad de ellos,
basándonos en que suelen estar bien estructurados y siguen pautas uniformes.
Los algoritmos bien estructurados combinan las secuencias de alguna de las
siguientes formas: secuencias sencillas, secuencia, decisión y bucles.
Tipos de datos
Datos:
El primer objetivo de toda computadora es el manejo de información o datos. Estos datos
pueden ser las cifras de ventas de un mercado o las calificaciones de una clase. Un dato es
la expresión general que describe los objetos con los cuales opera una computadora.
Existen dos tipos de datos: simples(sin estructura) y compuestos (estructurados, los cuales se
verán en programación)
Los tipos de datos simple:
-numéricos (integer, real)
-lógicos (boolean)
-carácter (echar, string)
Alejandra
GRUPO 204
TREJO BANDA
Datos numéricos:
El tio numérico es el conjunto de los valores numéricos. Estos pueden
representarse en dos formas:
-Tipo numérico entero (integer)
-Tipo numérico real (real)
Enteros: el tipo entero es un subconjunto finito de los números enteros. los
enteros son números completos, no tienen componentes fraccionarios o
decimales y pueden ser negativos o positivos. En ocasiones se denomina
números de punto fijo.
Ejemplo de números enteros:
5 6-154.20 171. 340 26.
reales: el tipo real consiste en un subconjunto de los números reales. Los
números reales siempre tienen un punto decimal y pueden ser positivos o
negativos. Un número real consta de un entero y una parte decimal. Los
siguientes ejemplos son números reales:
0.08 3739.413.7452-52.321.
-8.12 3.0 12.45678 -0.12334.
En aplicaciones científicas se requiere una representación especial para
manejar números muy grandes como la masa de la tierra o muy pequeños como
la masa de un electrón. Una computadora solo puede respetar un número fijo
de dígitos. Este número puede variar de una máquina a otra, 108 dígitos su
número típico. Este límite provoca problemas para representar y almacenar
números muy grandes o muy pequeños como son los citados o los siguientes:
486 72 134 320.00000000378.
Existe un tipo de representación denominado notación exponencial o científica
y que se utiliza para números muy grandes o muy pequeños. Así: 3 6 7 5 2 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
Se representa una notación científica, descomponiéndolo en grupos de tres
dígitos. 367520 100 000 000 000 000. Y posteriormente en forma de potencias
de 10.
3.675201 x 10019 y de modo similar.
.000000000302579 se representa como. 3.02579 x 102-11.
La representación en coma o punto flotante es una generalización de notación
científica. Obsérvese que las siguientes expresiones son equivalentes: 3.675201
x 10^19 = .3675201 x 10^20 = .02675201 x 10^21 = ,..., = 36.75201 x 10^18 = ...
Alejandra
GRUPO 204
TREJO BANDA
En estas expresiones se considera la misma (parte decimal) al número real y el
exponente (parte ponencial) el de La potencia de diez 36.75 201 minimiza el
exponente.
Datos lógicos
El tipo lógico también denominado booleano es aquel dato que solo puede
tomar uno de dos valores, verdadero o falso.
este tipo de datos se utilizan para representar las alternativas (si-no) a
determinadas condiciones. por ejemplo, cuando se pide si un valor entero es
par la respuesta será verdadera o falsa, según par o impar.
Datos tipo carácter.
El tipo carácter es el conjunto finito y ordenado de caracteres que la
computadora reconoce. Un dato tipo carácter contiene un solo carácter.
los caracteres que reconocen las diferentes computadoras no solo estándar:
sin sin embargo, la mayoría los reconoce los siguientes caracteres alfabéticos y
numéricos:
-caracteres alfabéticos (A B C ...)
- caracteres numéricos (1 2 3 ...)
- caracteres especiales (+ - × ÷ = / ... < > S ...)
Una cadena (string) de caracteres es una sucesión de caracteres que se
encuentran delimitados por una comilla (apostrofo) o dobles ", según el tipo de
lenguaje de programación. La longitud de una cadena de caracteres es el
número de ellos comprendidos entre los separadores o delimitadores. Algunos
lenguajes tienen datos tipo cadena. Ejemplo: 8 de octubre de 1976.
constantes y variables
Los programas de computadoras tienen ciertos valores que no deben de
cambiar durante la ejecución del programa. Tales valores se llaman constantes.
De igual forma, existen otros valores que cambiarían durante la ejecución del
programa: a estos valores se les llama variables.
Constantes
una constante es una partida de datos que permanecen sin cambios durante
todo el desarrollo del algoritmo o durante la ejecución del programa.
Una constante tipo carácter o constante de caracteres consiste en un carácter
válido encerrado dentro del apóstrofes: por ejemplo: B + 4
Alejandra
GRUPO 204
TREJO BANDA
Una secuencia de caracteres denomina normalmente una cadena, y una
constante tipo cadena es una cadena encerrada entre apóstrofes. Por
consiguiente "José Luis García" es constante de cadena válida. Si el apóstrofe
es uno de los caracteres en una constante de cadena, debe aparecer como par
de apóstrofes: "John" "s"
Solo Existen dos constantes lógicas o boleanas: verdadero y falso
variables
Una variable es un objeto o partida de datos cuyo valor puede cambiar durante
el desarrollo del algoritmo o ejecución del programa.
Dependiendo del lenguaje hay diferentes tipos de variables tales como:
enteras, reales, carácter, lógicas y de cadena.
una variable que es de cierto tipo puede tomar únicamente valores de ese
tipo.
Una variable de carácter, por ejemplo, puede tomar como valor solo
caracteres, mientras que una variable entera puede tomar solo valores enteros.
Sí se mienta asignar un valor de un tipo de variable de otro tipo se producirá
un error de tipo. Una variable se identifica por los siguientes atributos: nombre
que lo asigna y tipo de que desarrolló el uso de la variable.
Los nombres de las variables, a veces conocidos Como identificadores, suelen
constar de varios características alfanuméricas de los cuales primero
normalmente es una letra. No se deben utilizar como nombres de
identificadores palabras reservadas de lenguaje de programación.
Nombres válidos de variables son:
A510
Nombres
Nombres-apellidos
Los nombres de las variables elegidas para el algoritmo o el programa deben
ser significativos o tener relación con el objeto que representan, pueden ser los
casos siguientes.
Nombre de representar nombres de personas.
Precisos para representar los precios de diferentes artículos.
Asignación
la operación de asignación es el modo de darle valores a una variable. Existen
dos maneras de dar valor a las variables: una es leer un valor para la variable
mediante una operación de entrada . Y coma la otra manera es asignar un
valor a la variable por medio de la asignación. Cuando un programa solicita un
valor para una variable Hablamos de una entrada. En cambio, en la asignación
simplemente se le confiere un valor a la variable. Una variable solo puede
contener un valor a la vez, por lo que cuando se le asigna un nuevo valor el se
Alejandra
GRUPO 204
TREJO BANDA
pierde. Por esto se dice que la naturaleza de la asignación es destructiva. La
operación de asignación se representa con el símbolo u operador. La operación
designación se conoce como instrucción o sentencia de asignación cuando se
refiere a un lenguaje de programación.
El formato general de una operación de asignación es la siguiente:
Nombre de la variable <___ expresión.
en donde expresiones una expresión, una variable o una constante.
La flecha (operador de asignación) se sustituye en otros lenguajes por = (BASIC,
FORTRAN) o = (PASCAL).
Sin embargo, es preferible el uso de la flecha en la redacción del algoritmo,
para evitar ambigüedades dejando el = exclusivamente para el operador de
igualdad.
La operación de asignación: A <___ 5
Significa que a la variable a se le ha asignado el valor 5.
La acción Designar es destructiva, ya que el valor que tuviera la variable antes
de la asignación se pierde y se reemplaza por el nuevo valor.
Así en la secuencia de operaciones.
A <___ 124
A <___ 18
A <___ 7
Cuando esto se Ejecutan, el valor último qué toma A será 7 (los valores 124 y 18
has desaparecido).
Las acciones de asignación se clasifican según sea el tipo de expresiones en:
aritméticas lógicas y de caracteres.
Asignación aritmética
las expresiones en las operaciones de asignación aritmética:
AMN <___3 + 14 + 8. se evalúa la expresión 3 + 14 + 8 y se asigna a la variable
AMN, es decir, 25 será el valor que toma AMN.
TER1 <___14.5 + 8 TER2 <___0.75 * 3.4 MEDIA --- TER1 TER2.
Se evalúan las expresiones 14.5 + 8 y 0.75 * 34 y en la tercera acción se
dividen los resultados de cada expresión y se asigna a la variable MEDIA, es
decir, las 3 operaciones equivalen a MEDIA.
(14.5 + 8) / (0.75 * 3.4).
Alejandra
GRUPO 204
TREJO BANDA
ENTEROS
REALES
FALSO
VERDADERO
CARÁCTER
ALFABÉTICOS
NUMÉRICOS
ESPECIALES
CADENA
NUMERICOS
LÓGICOS
TIPOS
DE
DATOS
36-154.20
-8.12.02
(Fals, no/si)
1, 2, 3, ..., 9
+, -, *, /, ..., $
8/10/1976
(True, si/no)
A, B, C, ..., Z
Act. 3
Act. 4
Estáticos
Adaptativos
Probabilísticos
Cotidiano
Voraz
Determinista
Heurístico
De escalada
Funcionan siempre igual.
Tienen cierta capacidad de aprendizaje.
No utilizan valores de verdad
booleanos sino continuos.
Es la serie de pasos que realizamos
en nuestra vida diaria.
Es aquel que para resolver un problema
sigue una meta heurística consistente.
Es completamente predictivo.
Comienza con una mala solucion a un
determinado problema u de repente aplicar
optimizaciones a la misma hasta que esta sea
optima o satisfaga algun requisito.
Es un algoritmo que abandona
uno o ambos objetivos.
TIPOS
DE
ALGPRITMOS
DE
RAZONAMIENTO
Qué es una variable? un objeto o partida de datos cuyo valor puede cambiar durante el
desarrollo de algoritmo.
Qué es una constante? son valores inmutables que se conocen en tiempo de aplicación no
cambian durante la vida del programa.
Cuál es la diferencia entre ellas? la constante no puede cambiar durante y una variable
puede tener cualquier valor.
Act. 5
Alejandra
GRUPO 204
TREJO BANDA
Qué son los operadores Qué son los operandos Y cómo funcionan los lenguajes
de programación. Veremos los tipos de operadores y las prioridades de
ejecución Cuando tenemos varios en una misma expresión.
En este artículo vamos a introducir uno de los temas principales de los
lenguajes de programación, como son los operadores y los operandos que nos
sirven para realizar todo tipo de expresiones en las que trabajamos con los
datos, con distintos tipos de operaciones.
Abordaremos este tema desde un punto de vista genérico, sin tratar un
lenguaje de programación en particular, explicando Cuáles son los operadores
más habituales con en los lenguajes de programación. Sin embargo, Debes
saber que cada lenguaje puede explicar unos símbolos determinados los
operadores, que pueden cambiar entre unos y otros. Existe un patrón bien
definido en la mayoría de los casos, Como los símbolos de las Matemáticas,
pero en general debe saber que pueden cambiar de lenguaje a lenguaje.
Qué son operadores
Antes de comenzar a ver cuáles son los operadores conviene explicar que son,
de un modo general, aunque creo que la mayoría de las personas lo tienen en
mente del propio estudio de materias como las matemáticas. los operadores
Son elementos que relacionan de forma diferente, los valores con los que
trabajamos en los lenguajes de programación. En los lenguajes de
programación usamos los operadores para manipular los valores y
transformarlos, con el objetivo de realizar los objetivos de los programas.
Qué son los operandos
los operandos son los valores que se utilizan para alimentar los operadores.
Por ejemplo, en el operador suma necesitamos dos operandos para sumar
ambos valores.
Los operandos pueden venir almacenados en variables o constantes, pero
pueden ser simplemente valores que están escritos de manera literal en el
código del programa.
Tipos de operadores
a continuación vamos a relatar los tipos de operadores más comunes que
encontraremos en la mayoría de los lenguajes de programación.
TIPOS DE
OPERADORES
Aritméticos
Relacionales
Lógicos
Alejandra
GRUPO 204
TREJO BANDA
La mayoría de los lenguajes tienen otros tipos de operadores además de estos.
De momento y por simplicidad nos vamos a ceñir en este artículo a los
operadores aritméticos, relacionales y los operadores lógicos, que son los más
habituales a la hora de programar.
Operadores aritméticos
Los operadores aritméticos permiten la realización de operaciones Matemáticas
con los valores literales, con las variables o las constantes.
Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o
reales. Si ambos son enteros, el resultado es entero, si alguno de ellos es real,
el resultado es real.
Ahora presentaremos una lista de operadores aritméticos, que generalmente se
usan como los mismos símbolos en todos los lenguajes, Ya que nos vienen
heredados de las matemáticas.
-Sum.
-Resta.
- *Multiplicación.
- /División.
- mod Modulo (residuo o resto de la división entera).
- ^Elevar potencia.
Muchos lenguajes como C, Java, Javascript, C=, y otros Usan el símbolo
porcentaje para el operador módulo, o resto de la división entera punto mucho
lenguaje se usan el operador con dos asteriscos para eleva a potencias.
Ejemplos de uso de operadores aritméticos:
A continuación puedes encontrar algunas expresiones con operadores
aritméticos y los resultados que obtendrían.
Expresión: 7/2
Resultado: 3.5
Expresión: 12 mod 7
Resultado: 5
Expresión: 4+2*5
Resultado: 14
Prioridad de los Operadores Aritméticos
Cuando encontremos varios operadores en una misma expresión los lenguajes
de programación tendrán que evaluarlos en un orden determinado. Ese orden lo
Operando (Operador) Operando
valor
(Constante o variable)
Alejandra
GRUPO 204
TREJO BANDA
conocemos como prioridad o precedencia de operadores. Cuando se trata de
operadores aritméticos es muy fácil imaginarse la prioridad de unos respecto a
otros, dado que funcionan igual que en las matemáticas. Por ejemplo, siempre
se evaluará una multiplicación antes de una suma. Sin embargo, no siempre es
tan fácil deducir Cómo se va a resolver la asociatividad de los operadores, por
lo que hay que aprenderse unas reglas de precedencia que vamos a resumir en
este punto.
Dentro de una misma expresión los operadores se evalúan en el siguiente
orden:
1. ^ Exponenciación (en los lenguajes que exista este operador).
2. *./, mod (Multiplicación, división, módulo).
3. +,- (Suma y resta).
En el caso en el que en una misma expresión se asocian operadores con igual
nivel de prioridad, estos se evalúan de izquierda a derecha.
Así funciona en la mayoría de los lenguajes de programación, pero tendrías que
examinar cómo lo hace en el tuyo o consultar la documentación.
Cómo romper las reglas de precedencia de operadores con los paréntesis.
En el caso que quieras romper las reglas de presencia de los operadores
puedes usar los paréntesis. Funcionan con cualquier tipo de operadores y se
comportan igual que en las matemáticas. Puedes definir Mediante los
paréntesis qué operadores se van a relacionar con operandos,
independientemente de las reglas mencionadas anteriormente.
-Todas las expresiones entre paréntesis se evalúan primero.
- las expresiones con paréntesis anidados se evalúan de dentro afuera.
- el paréntesis más interno se evalúa primero.
Ahora veamos ejemplos de asociatividad de operadores sentencias más
complejas, usando paréntesis para marcar cómo queremos que se realice la
presidencia.
4+2*5= 14
23*2/5= 9.2
3+5*(10)-(2/40)= 23
2.1*(15+123)= 2.1*13.8= 28.98
Alejandra
GRUPO 204
TREJO BANDA
Operadores Alfanuméricos
Cuando trabajamos con cadenas de caracteres podemos también realizar
operaciones, Aunque realmente sería solo una en la mayoría de los lenguajes
que llamamos "concatenación".
Principalmente utilizamos el símbolo "+" para concatenar cadenas, qué consiste
en colocar una cadena a continuación de otra.
Luego dependiendo del lenguaje puede funcionar si el símbolo "-" para
concatenar cadenas eliminando los espacios en blanco.
Ejemplos de concatenación de cadenas.
a= "hola"
b= "mundo"
c= a + b
Después del anterior código se valdrá hola mundo.
Fíjate que no hay espacio entre medias porque el ordenador no sabe que son
dos palabras. simplemente le estás pidiendo que las junte y como resultado
tienen las dos cadenas una detrás de la otra. si hubieses querido juntarlas
podrías haber hecho algo como esto: c=a+" "+b
Operadores relacionales
se utilizan para establecer una relación entre dos valores. Luego compra estos
valores entre sí Y esta comparación produce un resultado de certeza o
falsedad (verdadero o falso).
Encontrarás que muchas veces nos referimos a "verdadero" o "falso" como
"true" o "false", Qué es la traducción en inglés. De hecho true y false forman un
conjunto de valores que definen a uno de los tipos habituales de programación,
el tipo booleano.
Los operadores relacionales comparan Generalmente valores del mismo tipo
(numéricos con numéricos o cadenas con cadenas). pero también el lenguaje es
de programación, como los que tienen tipados Dinámico (javascript, php y
otros) donde se permite comparar valores de distintos tipos.
Todos los operadores relacionales tienen el mismo nivel de prioridad en su
evaluación. En general, los operadores relacionales tienen menor prioridad que
los aritméticos.
Alejandra
GRUPO 204
TREJO BANDA
• >Mayor que.
• <Menor que.
• >=Mayor o igual que.
• <=Menor o igual que.
• <>Diferente.
• ==Igual.
El símbolo "=" nos compara dos valores. no le debes confundir con el signo ?
Que se usa habitualmente para asignar un valor en una variable.
El símbolo "<>" de distinto, en muchos lenguajes de programación se expresa
como "!=". Lo verás así en lenguajes como C o Java, Javascript y muchos otros.
Los demás signos son bastante estándar, como ?, ?, ?, "<>", "<=", ">=", que se
usan tal cual en la mayoría de los lenguajes.
Ahora vamos a ver varios ejemplos de uso de operadores relacionales. Para
facilitarnos las cosas vamos a suponer que tenemos tres variables.
a=10
b=20
c=30
Teniendo en cuenta los valores de las variables anteriores, vemos estos
ejemplos y los resultados que se producirán al combinar varios operadores.
a + v > c Falso
a - b < c Verdadero
a - b == c Falso
a * b <> c Verdadero
Para entender los ejemplos anteriores recuerda que los operadores aritméticos
se resolverán antes que los operadores relacionales, por lo que primero tienes
que resolver las operaciones Matemáticas para luego comprobar como se
evaluarían los operadores relacionales.
Como hemos señalado, en muchos lenguajes de programación, generalmente
los de tipado fuerte, no se pueden comparar valores de distintos tipos, por lo
que los siguientes ejemplos no serían válidos.
a < b < c
10 < 20 < 30
T > 5 < 30
Alejandra
GRUPO 204
TREJO BANDA
Operadores Lógicos
Esos operadores se utilizan para establecer relaciones entre valores lógicos.
Los valores lógicos son los valores boléanos.
• True
• False
Además, Dado que los operadores relacionales tienen resultado un operador
lógico, se reduce mediante la comparación de los operandos, los operadores
lógicos pueden tener como operandos el resultado de una expresión relacional.
Los tipos de operadores lógicos también pueden cambiar entre lenguajes de
programación, pero generalmente te encontraremos los siguientes:
•And (operación Y)
• Or (operación O)
• Not (negación)
como operadores lógicos nos encontramos en muchos lenguajes con el símbolo
"!" Para la negación. El símbolo "..." para la operación de "and" y "!||" para el
"or".
Tablas de ejemplo de uso de operadores lógicos
Ahora vamos a ver ejemplos de uso de operadores lógicos. Los vamos a
representar por medio de tablas con las operaciones posibles y los resultados
que tendrían las distintas combinaciones de valores.
Para los siguientes ejemplos, con la intención de ser más escuetos, T significa
verdadero y F falso.
Alejandra
GRUPO 204
TREJO BANDA
Operador not
La operación not realiza el cambio al valor contrario. Si era verdadero para
falso y viceversa.
NOT T-F
NOT F-T
Operador And
La operación de AND da como resultado verdadero cuando ambos operadores
relacionados son verdaderos. Si uno de los dos es falso o ambos son falsos,
Entonces el resultado es falso.
T AND T T
T AND F F
F AND T F
F AND F F
Operador Or Operador Or
La operación o r da verdadero cuando al menos uno de los dos operadores es
verdadero. Si ambos operadores son falsos entonces da falso.
F OR T = T
F OR F = T
F OR T = T
F OR F = F
Prioridad de los Operadores Lógicos
El orden de procedencia de los operadores lógicos entre ellos es el siguiente,
de más precedente a menos.
1. Not
2. And
3. Or
Prioridad de los operadores en general
Cómo has visto, existen diversos tipos de operadores y cada uno de ellos tiene
su precedencia o prioridad, que define cómo se van a asociar los operandos.
los lenguajes soportan expresiones en los que se relacionan diversos tipos de
operadores, en cuyo caso tendríamos que conocer la tabla de precedencia de
operadores de lenguaje en sí.
Ten en cuenta que cada lenguaje puede tener variaciones en sus tablas de
precedencia, que cambien la asociatividad de los operadores con los
operandos. No obstante, todos siguen en la mayoría de los casos esquemas
similares.
Alejandra
GRUPO 204
TREJO BANDA
a continuación te damos una tabla de procedencia clásica en la que aparecen
distintos tipos de operadores, pero sería bueno que consultases la de lenguaje
de programación con el que vas a trabajar.
1. ( )
2. ^
3. *, Mod, Not
4. +, -, And
5. >, <, >=, <=, <>, =, Or
Ejemplo de operación compleja con su precedencia.
para el siguiente ejemplo, tenemos las siguientes variables: a=10, b=12, c=13,
d=10.
otros ejemplos de expresiones con uso de operadores
Para completar, vamos a ver otros ejemplos de expresiones con operadores de
diversa índole.
Aritméticos
a 3
b 2
x a**2 donde x valdría 8
x a*2 donde x valdría 15
x a*2 donde x valdría 6
x a%b donde x valdría 1
Alfanuméricos
A= "Hola" B = "Que tal" X= A+B
Al terminar de ejecutarse ese código x valdría "Hola qué tal"
Relacionales
Ahora te ponemos un poco de pseudocódigo para los siguientes ejemplos de
operadores.
Alejandra
GRUPO 204
TREJO BANDA
Si x== a entonces
Instrucciones
Sino
Instrucciones
Fin si
Lógicos
Si !a entonces
La variable está vacía
Fin si
Si
Actividad 6.-
32-19=13,
13+40=53,
53-20=33,
33+30=63,
63-50=13
32-19+40-20+30-50
678 - [(34 + 28) + (73 -
15) - (12 + 43)]⇒
(20 - 5 + 2)(16 - 3 + 2 - 1)⇒ 20 - 5
= 15, 15 + 2 = 17
16 - 3 = 13, 13 + 2 = 15, 15 - 1 =14
17 X 14=238
60-40+108-104+320-133-45
678 - [(34 + 28) + (73 - 15) - (12
+ 43)]⇒
34 + 28 = 62, 73 - 15 = 58, 12 +
43 = 55
62 + 58 = 120, 120 -55 = 65
678 - 65 = 613.
60 - 40 = 20,
20 + 108 = 128,
128 - 104 = 24,
24 + 320 = 344,
344 - 133 = 211,
211 - 45 = 166.
(20 - 5 + 2)(16 - 3 + 2 - 1)⇒
Alejandra
GRUPO 204
TREJO BANDA
DAME NUM. 1
DAME NUM 2
17 > 14
17
Actividad 7.-
¿Qué son los diagramas de flujo y para qué sirven?
R= Es un diagrama que describe un proceso, sistema o algoritmo informático.
Se usan ampliamente en numerosos campos para documentar, estudiar,
planificar, mejorar y comunicar procesos que suelen ser complejos en
diagramas claros y fáciles de comprender.
¿Cuál es la simbología de los diagramas de flujo?
R= Los símbolos pueden indicar algún proceso o documento, decisiones que hay
que tomar y mucho más.
De 5 ejemplos de diagrama de flujo ya resueltos.
INICIO
14
17
FIN
"EL MAYOR ES", 17
"EL MAYOR ES", 14
Alejandra
GRUPO 204
TREJO BANDA
INICIO
DAME 3 NUMEROS
ESCRIBIR NUM. 1
39
ESCRIBIR NUM. 2
45
ESCRBIR NUM. 3
16
SI 39 <> 45 Y 39 <> 16 Y 45 <> 16 ENTONCES
SI 39 < 45 ENTONCES
SI 39 < 16 ENTONCES
«EL MENOR ES: «, 16
Alejandra
GRUPO 204
TREJO BANDA
INICIO
DAME EDAD
17
EDAD > 18
ES MAYOR DE EDAD ES MENOR DE EDAD
ES MENOR DE EDAD
FIN
Alejandra
GRUPO 204
TREJO BANDA
INICIO
DAME CALI. 1
6.0
DAME CALI. 2
8.0
DAME CALI. 3
7.0
PROMEDIO (6.0 + 8.0 + 7.0)/3
PROMEDIO FINAL DE 7
FIN
Alejandra
GRUPO 204
TREJO BANDA
Alejandra
GRUPO 204
TREJO BANDA
este trabajo deberán de entregarlo en hojas blancas a mano, con los siguientes
elementos, portada del trabajo, índice, desarrollo, conclusiones personales,
conclusiones de trabajo, y fuente bibliográfica.
Actividad 8.- completa el siguiente cuadro del software libre para diseñar
diagramas de flujo.
¿Qué es un Pseucódigo?
cuando se trabaja en programación, antes de escribir nuestro programa,
primero escribimos el pseucodigo.
el pseucodigo es una forma de describir los pasos que va a realizar un
programa de la forma más cercana al lenguaje de programación que vamos a
utilizar posteriormente.
Es como un falso lenguaje, pero nuestro idioma en el lenguaje humano y en
español.
Una de las mayores dificultades con las que se encuentra los hispanohablantes
que empiezan a programar es el idioma. Por eso es bueno utilizar pseucódigo
que ayuda a asimilar con más facilidad las ideas básicas.
Este pseucódigo vale para pasarlo posteriormente a cualquier lenguaje de
programación, no importa el que quieras usar.
Incluso algunas universidades han creado sus propios "intérpretes de
pseucodigo".
Alejandra
GRUPO 204
TREJO BANDA
Su misión es ayudar a los alumnos de primer curso a crear los programas
"pensando en español", pero permitiéndoles además, probar esos programas
desde un entorno casi real.
Por ejemplo. PSelnt Es una herramienta para asistir a un estudiante en sus
primeros pasos de programación mediante un simple e intuitivo pseudolenguaje
en español (completando con un editor de diagramas de flujo).
Fíjate en el ejemplo siguiente escrito en pseucodigo.
¿Fácil no? No te preocupes iremos explicando todo paso a paso para que
logres entenderlo.
vamos a ver unas breves explicaciones de pseucodigo, pero sobre todo
ejemplos de pseucodigo.
¿ Cómo se escribe el pseucódigo?
Como ya dijimos es un lenguaje intermedio entre lenguaje y de programación
que usemos y el nuestro. No hay reglas fijas para escribir en pseucódigo pero la
mayoría de la gente usa más o menos el mismo vocabulario.
Por ejemplo si queremos escribir algo en la pantalla, en pseucódigo podríamos
poner:
Escribir "Hola". Escribir 20 o Escribir Variable.
OJO escribir 20 y escribir "20" son dos cosas diferentes. Lo que sea texto
simplemente se pone entre comillas, los números no.
Entonces escribir 20, es mostrar en pantalla el número 20 y escribir "20" es
mostrar en pantalla 20. Puede parecer lo mismo pero no lo es, en una 20 es un
texto y en otro un número.
también podemos usar en lugar de escribir:
Alejandra
GRUPO 204
TREJO BANDA
Mostrar por pantalla "Hola"
recuerda realmente el pseucódigo lo podríamos escribir como nosotros
quisiéramos, ya que realmente no es el programa en sí, sólo es una ayuda para
posteriormente realizar el programa mediante el lenguaje de programación que
utilicemos.
Eso si, el pseucódigo es de gran ayuda, por no decir imprescindible.
Sí sabe hacer el pseucodigo del programa, pásalo a cualquier lenguaje de
programación es muy sencillo, solo tendrás que aprender los comandos
equivalentes a las instrucciones en pseucódigo, normalmente muy parecidas
pero en inglés.
Además la mayoría de los lenguajes utilizan prácticamente los mismos
comandos en su lenguaje. Eso sí, repetimos tendrás que aprender los
fundamentos de programación antes de seguir si no lo sabes.
Sigamos hablando un poco más sobre el pseucódigo.
para especificar el principio y el fin del programa ponemos:
Inicio
Aquí iría el programa en pseucódigo.
Fin
Otra forma muy utilizada sería:
Proceso Nombre Del Programa
Aquí iría el programa en pseucódigo.
Fin Proceso o Nombre Del Programa
Por ejemplo:
Inicio
Escribir "Hola Mundo"
Fin
O también podrías pone:
Inicio Primer Programa
Escribir "Hola Mundo"
Fin Primer Programa
las tres palabras más comunes que se usan en pseucódigo son:
Escribir--> escribe en pantalla el texto que pongamos entre paréntesis o
también puede escribir en pantalla el valor de una variable.
Alejandra
GRUPO 204
TREJO BANDA
También podemos poner en lugar de escribir la palabra Mostrar.
En esta web no explicaremos las variables, funciones, expresiones, etcétera. Si
no sabes qué son te recomendamos que antes de seguir vayas a Fundamentos
de Programación.
Esta instrucción en casi todos los lenguajes de programación reales suele
escribirse con la palabra write o document. Write ('Hola')
Leer Edad--> nos Lee desde lo que el usuario marque desde el teclado y guarda
el valor, por ejemplo dentro de una variable, en este caso la variable Edad.
Por ejemplo:
Escribir "¿Cuál es tú edad?"
Leer Edad
Escribir "Tú edad es" + Edad
Fin
Ejemplos de pseucódigo
Pseucódigo para un programa que nos sume dos números introducidos por el
teclado:
Inicio
Escribe "introduce el primer número"
Leee número 1
Escribir "introduce el segundo número"
Leer número 2
Resultado= número 1 + número 2
Escribir resultado
fin
Recuerda: cuando queremos escribir en pantalla una variable, como en este
caso la variable resultado, no se pone entre comillas.
2.- Psuecódigo para un programa que nos diga la tabla de multiplicar del
número que le digamos (introducido por el teclado).
Programa: tabla multiplicar
Numéricas: t, num, total
Inicio
Escribir "introduce un número"
Leer: num
Inicio Desde
Alejandra
GRUPO 204
TREJO BANDA
Desde t-1 hasta t = 10 repetir
Hacer total= num * t
Escribir total
FinDesde
Fin
Escribir un código de un programa que permita leer edad y peso de una
persona y posteriormente imprimirla.
Inicio
Variables Numéricas: edad, peso
imprimir "Escribir los datos (Edad, Peso)".
Leer edad, leer peso
Escribir "Tu peso es:" "peso" y "tu edad es:" "edad".
Fin
Te has fijado que para imprimir algo en lugar de mostrarlo en la pantalla la
palabra es "imprimir", así de sencillo.
Además podemos mezclar en una frase texto fijo con variables.
Esto se puede hacer con comas como lo ves En el ejemplo anterior oponiendo
el signo más entre el texto y las El ejemplo anterior podríamos ser:
Escribir "Tu peso" + peso + "tu edad" + edad:
Sería lo mismo.
4.- escribir pseudocódigo que cálculo el área de un círculo.
Inicio
Constantes: pi= 3.1416.
Variables numéricas: radio, área.
Escribe: "introduce el radio"
Leer radio:
Área + radio * radio * Pi
Escribe "El área del círculo es": área
Fin
Fíjate aquí que hemos definido una constante.
5.- Escribir un pseucódigo que calcule el área de un triángulo recibiendo como
entrada el valor de base y altura.
Inicio
Variables altura, base, área
Alejandra
GRUPO 204
TREJO BANDA
Escribir "introduce la base y la altura"
Leer base y peso.
Área= (base * altura) / 2
Escribir "El área es": base
Fin
6.- Crear un código que proporciona el volumen de un cilindro, conocidos su
altura y su diámetro.
Inicio
Mostrar "introduzca el diámetro, en metros": pedir D
Mostrar "introduzca la altura, en metros": pedir H
R = d/2 : pi = 3.1416
V= pi * (R ^ 2) * h
Mostrar "el volumen del cilindro es de": V= "metros cúbicos".
Fin
7.- elaboraron un algoritmo que obtenga e imprima el valor de Y a partir de la
ecuación: y = 3 * x + 2 * 7x - 15 introduciendo el valor que queremos de X.
Inicio
Numéricas: num X, num Y
Leer num X
Num Y= 3 * X + 2 + 7X - 15
Escribir num Y
Fin
8.- Pseucódigo para introducir un número por teclado y que nos diga si es
positivo o negativo.
Programa signo
Borrar pantalla ( )
Escribir "Introduce un número"
Leer num
Si num >= 0 Entonces
Escribir "es positivo"
SINO
Escribir "es negativo"
FINSI
FINPROGRAMA
Aquí hemos utilizado la estructura Si
... (se cumple la condición)... Hacer (Esto). Esto es la condicional (en ingles)
Alejandra
GRUPO 204
TREJO BANDA
9.- Realizar un pseucódigo de un programa que permita saber si un número es
mayor, menor o igual a 0.
Programa: Compara números
Numérica: número
Escribir "Introduzca un número"
Leer Número
Iinicio Si
Si numero <0 Entonces
Escribir "El número introducido es negativo"
Si No
Escribir "El número es cero"
FINSI
Fin programa
Aquí utilizamos la condicional si... esto si no... esto otro.
10.- Crear un pseucódigo que proporcione el precio medio de un producto,
calculando a partir del precio del mismo en tres establecimientos distintos.
Inicio
Mostrar "Introduzca el precio del producto en el establecimiento número 1, en
euros": pedir precio 1.
Mostrar "Introduzco el precio del producto en el establecimiento número 2, en
euros": pedir precio 2.
Mostrar "Introduzco el precio del producto en el establecimiento número 3 en
euros": pedir precio 3.
Media= ( precio 1 + precio 2 + precio 3) 3
Mostrar "El precio medio del producto es", Media, "Euros".
Fin.
Alejandra
GRUPO 204
TREJO BANDA
}
Alejandra
GRUPO 204
TREJO BANDA
}
Alejandra
GRUPO 204
TREJO BANDA
}

Más contenido relacionado

Similar a manual 1 informatica (20)

Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmo , MATEMÁTICA
Algoritmo ,  MATEMÁTICAAlgoritmo ,  MATEMÁTICA
Algoritmo , MATEMÁTICA
 
Lógica Computacional
Lógica Computacional Lógica Computacional
Lógica Computacional
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Private
PrivatePrivate
Private
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Programación algoritmos y pseudocódigo
Programación algoritmos y pseudocódigoProgramación algoritmos y pseudocódigo
Programación algoritmos y pseudocódigo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Qué es un algoritmo 10
Qué es un algoritmo 10Qué es un algoritmo 10
Qué es un algoritmo 10
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la Programación
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Tema n° 1
Tema n° 1Tema n° 1
Tema n° 1
 
Castillo ramirez xavier joel
Castillo ramirez xavier joel Castillo ramirez xavier joel
Castillo ramirez xavier joel
 
k info.pdf
k info.pdfk info.pdf
k info.pdf
 
1 parcial info.pdf
1 parcial info.pdf1 parcial info.pdf
1 parcial info.pdf
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 

Último

institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 

Último (8)

institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 

manual 1 informatica

  • 1. INFORMATICA 2 Realizado por Sandra Haro Nombre: Alejandra Trejo Banda Grupo: 204 Plantel 07 La Cañada El Marques Qro. Semestre 2023
  • 2. LECTURA Un algoritmo nos permite llevar a cabo una tarea o encontrar la solución a un determinado problema a través de una serie de inscripciones bien definidas y estructuradas, que además deben estar en orden, es decir una tras otra, y ser finitas, es decir tener una solución posible. De este método, definimos un estado inicial y una entrada, si seguimos las instrucciones formuladas llegaremos al estado final y encontraremos la solución al problema o alcanzaremos el objetivo definido. El consenso general es que los algoritmos solo se usan en cuestiones relacionados con las matemáticas. Si bien el termino algoritmo esta muy presente en esta área y en todos los otros ámbitos en los cuales se utilice estructuración de datos, como por ejemplo la computación la lógica y demás áreas relacionadas con los números, lo cierto es que los algoritmos se usan mucho mas de lo que creemos, y en todos los aspectos de nuestra vida diaria. Historia de los algoritmos Si bien la mayoría de nosotros piensa que la implementación de algoritmos es un hecho más relacionado con la aparición de las computadoras modernas, lo cierto es que ya en tiempos muy antiguos se utilizaban para resolver problemas matemáticos como por ejemplo raíces cuadradas y multiplicaciones. En este sentido, los egipcios y babilonios ya usaban los algoritmos, aun cuando no existían todavía ni la base teórica ni el concepto del algoritmo como tal, siendo los primeros quienes los usaban algoritmos muy parecidos a los de expansión binaria. La palabra algoritmo tiene su origen en el termino Al-Khwārizmī, derivado de Quitab Al Jabr Al Mugabala, el cual es el nombre con que se conocía aun importante astrónomo y matemático quien en el siglo IX dejara como legado numerosos tratados acerca de conceptos acerca del cero y de la numeración hindú, y en los que también trataba temas como el desarrollo y resolución de ecuaciones de primer y segundo grado con un numero limitando el procesos. Estos tratados fueron de mucha ayuda para desarrollar enunciados para sumas, restas, multiplicaciones y divisiones de números decimales. Si bien Al-Khwārizmī no fue el creador del primer algoritmo, ya que como mencionábamos ya los egipcios y babilonios los utilizaban, aunque sin saberlo, se considera que el matemático árabe fue en el primero en utilizarlos con un orden. Pero los algoritmos del modo en que los conocemos y empleamos hoy, no se utilizaron hasta bien entrando el siglo VXIII. El salto más importante de los algoritmos y su relación con la computación ocurrió en el año 1842, de la mano de Charles Babbage, con su máquina analítica y de Ada Lovelace, creadora del primer algoritmo destinado a se procesado por una maquina. Lamentablemente, Charles Babbageno pudo terminar su máquina, por lo tanto, el algoritmo creado por Ada Loveace no pudo llegar a implementarse nunca, pero el trabajo llevado a cabo por ambos fue de gran inspiración para todos los investigadores que llegaron después. Alejandra GRUPO 204 TREJO BANDA
  • 3. El otro gran salto de los algoritmos aplicados a las ciencias computacionales ocurrio uns cuantos años mas tarde, precisamente en elanño 1900, cuando el matematico David Hilbert declaro algunas considerciones fudamentalmente acerca de la ciencia de las matematicas, que llevaron a nuestros puntos de vista ue mas tarde serin de mcha importancia para que el desarrollo de nuevas tecnologias, como por ejemplo los trabajos llevados a cabo por cientificos como Alonzo Church, Alan Turing, Stephen Kleene o Emil Post. Finalmente, las decadas de 1950 y 1960fueron testigodel nciomiento de muchos lenguajes de programacion, compiladores y sistemas operativos, ue nos llevaron a donde estamos hoy, todo grcias al tabajo realizado durante siglos por matematicos y cientificos en tomo a los algoritmos. Que es un algoritmo El termino algoritmo peoviene del idio m arabe clasico "hisābu Igubār", luegp transformada al latin "Alborarismus", que segun los expertos podría podría traucirce como "calculo mediante cifras arábigas". El origen del vocablo se remota a la Edad Media, más precisamente de la mano del matematico Al Khwarizmi, en una zona de Asia Cantral hoy conocida como Uzbekistán, en el Asia Central. Básicamente, el algoritmo es una serie ordenada de procesos o pasos que deben levarse a cabo para realizar la solución de un problema específico. Los algoritmos pueden ser de distintos tipos, los de la vida diaria como seguir las instrucciones para lavarse los dientes, poner en funcionamiento un lavarropas y los algoritmos utilizados para resolver o llevarse a cabo procesos más complicados como el funcionamiento de un programa de computación. Una de las características de los algoritmos es que nos permiten definir una serie de pasos a seguir que se deben realizar para alcanzar el resultado que deseamos, es decir un resultado previsible. En este punto cabe destacar un ejemplo de uso de algoritmos: el software de computadoras, el cual consta de instrucciones precisas para llevar a cabo un procedimiento de manera siempre igual pero escritas en un lenguaje de programación. Sin embargo, el uso de los algoritmos no se limita a las computadoras o a los sistemas automatizados, ya que también en la naturaleza y en la vida los algoritmos están bien presentes. Básicamente podría considerarse como un algoritmo cualquier tarea que deba ser llevada a cabo mediante instrucciones y reglas definidas para ellos. Un ejemplo de ello sería lavarse las manos y tareas similares, como podrás ver más abajo en este mismo post. Alejandra GRUPO 204 TREJO BANDA
  • 4. Tipos de Algoritmos En términos sencillos de entender, existen dos tipos de algoritmos. Los primeros son los llamados “algoritmos convencionales”, los cuales son aquellos que las personas realizan todos los días en su acontecer diario, con el fin de llegar a cumplir un determinado objetivo, como por ejemplo de ello es hacerse el desayuno. También tareas para solucionar problemas en la jornada laboral, como por ejemplo hacerse el desayuno, o para solucionar problemas en su jornada laboral, como por ejemplo programar lo que almorzarál en base al tiempo que tiene disponible. Aunque pueda parecer demasiado simple, lo cierto es que si nos llevamos del significado de algoritmo, el cual básicamente dicta que se trata de “secuencia lógica y finita de pasos que permite solucionar una problemática o cumplir con un determinado objetivo” cualquier de los ejemplos citados se ajustan al máximo al significado de algoritmo. El otro tipo de algoritmos son los llamados “algoritmos computacionales”, los cuales son aquellos que utilizan las aplicaciones y el software de computadoras para realizar las tareas que les pedimos o las acciones automáticas que realizan los dispositivos sin que lo solicitemos. Nuevamente si tomas la definición de algoritmo, vamos que se cumplen todas las condiciones requeridas. Cabe destacar en este punto que todas las operaciones aritméticas y algebraicas relacionadas con los algoritmos se engloba en una ciencia llamada Algoritmia. Si quieres saber más acerca de los algoritmos computacionales, te invitamos a seguir leyendo el resto del post, en donde encontrarás importantes definiciones acerca del tema. Todos hemos escuchado la palabra “Algoritmo” relacionada con las ciencias de la computación, como por ejemplo cuando se habla del “algoritmo de Google” o del “algoritmo de Facebook”. Esto es porque nada sucede en computación sin un diagrama que definen una serie de pasos, los que definitivamente conforman un algoritmo. En este sentido, el algoritmo informático es el elemento fundamental de cualquier programa de computación, y no está relacionado con el lenguaje de programación utilizado para desarrollarlo, sino en los pasos que deben realizarse para alcanzar el objetivo, es decir el conjunto de instrucciones y pasos desarrollados para llevar a cabo la tarea encomendada al software. Esto en pocas palabras significa que primero el desarrollador de software debe diseñar el diagrama de flujo, escribir el algoritmo y luego plasmarlo en el lenguaje de programación que más se adecue a sus propias necesidades y a los requerimientos de los clientes. Con el ello, el ingeniero en informática se asegura tener una base sólida desde la cual comenzar a crear una metodología con escenarios bien definidos y finitos, es decir que deben finalizar en algún momento de su recorrido. Básicamente el uso de un algoritmo en computación nos ofrece la posibilidad de hallar una solución genérica a un determinado problema, y nos va a permitir reutilizarlo cada vez que sea necesario para lograr el objetivo deseado. Alejandra GRUPO 204 TREJO BANDA
  • 5. Lo primero que debes considerar es que un algoritmo debe ser preciso: es por ello que se debe indicar el orden exacto de ejecución de cada paso implicado en el proceso. Otro punto más que importante a considerar es que un algoritmo debe estar perfectamente definido. Esto significa que en el caso de ejecutarse el mismo más de dos veces, siempre se debe obtener el mismo resultado independientemente de la cantidad de veces que se siga. También es necesario saber que un algoritmo debe ser finito, es decir que el algoritmo debe culminar en algún momento de su ejecución, expresado en otras palabras, debe tener un número de pasos bien determinados hasta concluir con su tarea. Asimismo, un algoritmo tiene que ser legible. Esto significa que el texto que describe debe ser claro y conciso, de una manera tal que permita su comprensión inmediata, es decir sin procedimientos rebuscados o poco claros. Por último, un algoritmo debe estar definido en tres partes fundamentales, las cuales son: Entrada, Proceso y Salida. Si quieres saber más sobre este tema, más adelante en este mismo post encontrarás información al respecto. Una secuencia de pasos limitada, que deben estar definidas claramente. Asimismo estos pasos deben ser independientes el uno del otro. Un agente, que puede ser en algunos casos un operador humano y en otros casos parte del propio programa es el actor que tiene como tarea aplicar cada una de las etapas del proceso en un punto específico del recorrido. Este agente debe tener la capacidad de interpretar las instrucciones operacionales y simultáneamente tener la posibilidad de almacenar la información suministrada por el propio programa. El resultado obtenido cuando se realizan las determinadas operaciones del programa siempre ha de comportarse igual, en cada paso de la operatoria, teniendo en cuenta por supuesto la configuración de los datos iniciales de entrada. La operación siempre debe finalizar con un resultado conciso. Características de los algoritmos Hasta este punto hemos hablado de los diferentes tipos de algoritmos y sus orígenes, pero nos falta conocer un punto más que importante: ¿Cuáles son las características fundamentales que debe cumplir todo algoritmo? Es por ello que debajo de estas líneas encontrarás los puntos fundamentales que debe cumplir un proceso para ser considerado un verdadero algoritmo. Características de los algoritmos computacionales Originariamente, la idea de llevar este concepto del ámbito de las matemáticas al campo de la incipiente informática fue propuesto por el matemático inglés Alan Turing, quien sentó las bases para definir los elementos básicos de un algoritmo aplicado a las ciencias de la computación, los cuales debían ser los siguientes: En este punto cabe destacar que existen casos en los cuales el procedimiento requiere que se ofrezca un resultado concreto, y otros casos en los cuales no es necesario. Es por ello que los algoritmos repetitivos o irregulares que no culminan son tan habituales en la programación de aplicaciones para computadoras. El mejor ejemplo de esto son los sistemas operativos modernos como Windows, Linux o el SO de las computadoras Mac, los cuales deben seguir en ejecución para permitir que las demás aplicaciones y procesos de la computadora puedan seguir cumpliendo con su función o tarea. Alejandra GRUPO 204 TREJO BANDA
  • 6. Primer paso: Análisis previo del problema o necesidad. Lo primero que tienes que hacer, antes de comenzar con el desarrollo de cualquier algoritmo es llevar a cabo un análisis pormenorizado de la situación o problema. Segundo paso: Definir los requerimientos. En este paso se debe definir exactamente el problema que tengas que solucionar y desglosarlo, incluyendo todas las derivaciones que puedan surgir. Tercer paso: La identificación de los módulos. En este paso, identificar claramente los módulos es tan importante como la identificación de los requerimientos. Esto es así debido a que identificar correctamente los módulos nos va servir para simplificar considerablemente la puesta en marcha de los pasos del algoritmo correcto para tu problema, y que has identificado en el paso anterior. Cuarto paso: La creación del algoritmo. En este punto debes asegurarte que el algoritmo cumpla con todos los requerimientos adecuados para llevar a cabo la función encomendad. Esto es similar tanto para los algoritmos no computacionales como para los algoritmos computacionales. En el caso de tratarse de un algoritmo computacional, además deberá cumplir con ciertas características para poder luego implementarse en cualquier lenguaje de programación. Partes de un algoritmo A partir de este punto, conoceremos las reglas básicas de las partes que deben conformar un algoritmo para ser considerado como tal. Básicamente, los algoritmos deben estar compuestos por tres partes principales que son entrada, proceso y salida, independientemente de tratarse de algoritmos computacionales, algoritmos no computacionales, algoritmos cualitativos o algoritmos cuantitativos. Aquí abajo encontrarás las características que debe tener cada fase de un algoritmo. Entrada Esta fase del algoritmo se corresponde con los valores de entrada con que se debe alimentar al mismo. Básicamente se trata de la información que se entrega al algoritmo, es decir, los valores de datos con los que tendrá que ofrecer un determinado resultado. Proceso La segunda fase de un algoritmo ocupa los cálculos necesarios para procesar los datos con los que hemos alimentado al algoritmo, es decir que en este punto se procesará la información entrega a la entrada del algoritmo, y con la cual se debe llegar al resultado esperado. Salida La tercera y última fase de un algoritmo es donde se obtiene el resultado de la operación, es decir la transformación de los datos que fueron proporcionados en la fase de entrada y desarrollados en la fase de proceso. Cómo hacer un algoritmo? En el caso que necesites realizar tu propio algoritmo para poder resolver problemas o mejorar algún proceso en tu actividad, lo puedes llevar a cabo de manera bastante sencilla, ya que lo único que tienes que hacer es poner claro qué necesitas y cómo lo puedes resolver. Para ello debes realizar la serie de pasos necesarios y sus derivaciones para poder llegar al resultado esperado del problema que tienes entre manos. Los pasos para definir y concretar tu algoritmo son los siguientes: Alejandra GRUPO 204 TREJO BANDA
  • 7. Quinto paso: La implementación del algoritmo. En el caos de los algoritmos computacionales, la implementación de los mismos se debe llevar a cabo traduciendo el mismo a un lenguaje de programación con el propósito de que cualquier computadora pueda interpretar sus instrucciones y enviar a su hardware la información necesaria para poder completar los pasos correspondientes y de esta manera obtener el resultado esperado. Sexto paso: Creación de las herramientas para llevar a cabo el algoritmo. En este último, y si pudiste cumplimentar correctamente con todos los pasos anteriores, ya estarás en posición para poder crear las herramientas necesarias para poder ejecutar el algoritmo desarrollado. En el caso tratarse de un algoritmo computacional, puedes desarrollar a través de cualquier lenguaje de programación una aplicación para poder llevarlo a cabo, la cual contará con una serie de instrucciones que ordenadas una detrás de la otra podrán representar el algoritmo que has diseñado y poder ofrecer una solución a los requerimientos identificados. En los casos en que se trate de un algoritmo no computacional, puedes desarrollar lo necesario teniendo en cuenta los pasos que debe seguir el algoritmo, como por ejemplo una línea de producción. Primer paso: Análisis previo del problema o necesidad. Lo primero que tienes que hacer, antes de comenzar con el desarrollo de cualquier algoritmo es llevar a cabo un análisis pormenorizado de la situación o problema. Segundo paso: Definir los requerimientos. En este paso se debe definir exactamente el problema que tengas que solucionar y desglosarlo, incluyendo todas las derivaciones que puedan surgir. Tercer paso: La identificación de los módulos. En este paso, identificar claramente los módulos es tan importante como la identificación de los requerimientos. Esto es así debido a que identificar correctamente los módulos nos va servir para simplificar considerablemente la puesta en marcha de los pasos del algoritmo correcto para tu problema, y que has identificado en el paso anterior. Cuarto paso: La creación del algoritmo. En este punto debes asegurarte que el algoritmo cumpla con todos los requerimientos adecuados para llevar a cabo la función encomendad. Esto es similar tanto para los algoritmos no computacionales como para los algoritmos computacionales. En el caso de tratarse de un algoritmo computacional, además deberá cumplir con ciertas características para poder luego implementarse en cualquier lenguaje de programación. Quinto paso: La implementación del algoritmo. En el caos de los algoritmos computacionales, la implementación de los mismos se debe llevar a cabo traduciendo el mismo a un lenguaje de programación con el propósito de que cualquier computadora pueda interpretar sus instrucciones y enviar a su hardware la información necesaria para poder completar los pasos correspondientes y de esta manera obtener el resultado esperado. Cómo hacer un algoritmo? En el caso que necesites realizar tu propio algoritmo para poder resolver problemas o mejorar algún proceso en tu actividad, lo puedes llevar a cabo de manera bastante sencilla, ya que lo único que tienes que hacer es poner claro qué necesitas y cómo lo puedes resolver. Para ello debes realizar la serie de pasos necesarios y sus derivaciones para poder llegar al resultado esperado del problema que tienes entre manos. Los pasos para definir y concretar tu algoritmo son los siguientes: Alejandra GRUPO 204 TREJO BANDA
  • 8. Sexto paso: Creación de las herramientas para llevar a cabo el algoritmo. En este último, y si pudiste cumplimentar correctamente con todos los pasos anteriores, ya estarás en posición para poder crear las herramientas necesarias para poder ejecutar el algoritmo desarrollado. En el caso tratarse de un algoritmo computacional, puedes desarrollar a través de cualquier lenguaje de programación una aplicación para poder llevarlo a cabo, la cual contará con una serie de instrucciones que ordenadas una detrás de la otra podrán representar el algoritmo que has diseñado y poder ofrecer una solución a los requerimientos identificados. En los casos en que se trate de un algoritmo no computacional, puedes desarrollar lo necesario teniendo en cuenta los pasos que debe seguir el algoritmo, como por ejemplo una línea de producción. Ejemplos de aplicación de algoritmos Los algoritmos pueden aplicarse en cualquier campo, y no son para nada ajemos a la vida diaria, es decir que no son sólo cálculos que se aplican en determinados campos científicos, ya que en la vida diaria puedes encontrar decenas de ejemplos de algoritmos, los cuales la mayoría de las veces pasan desapercibidos para todos nosotros. Ejemplos de algoritmo en la vida diaria es el proceso de digestión, el cual es básicamente un concepto de algoritmo con el que vivimos todos los días sin que tengamos que conocer implícitamente su definición para que ocurra. Esto significa que para que puedas realizar el proceso de digestión todos los días no es necesario que sepas cómo éste funciona ni los actores implicados en el procedimiento. Los algoritmos se ponen en marcha infinidad de veces el día, pero nos hemos acostumbrado a ellos o quizás simplemente ignoramos que lo son, debido a que no estamos familiarizados con el concepto de algoritmo. Un hecho que debemos destacar es que los algoritmos en la vida diaria, no difieren demasiado de los algoritmos que se utilizan en las ciencias de la computación. En el siguiente ejemplo, proponemos comparar el algoritmo descripto con alguna situación dada en la vida real. ¡Te aseguramos que te sorprenderá el resultado! Para el ejemplo hemos realizado un algoritmo dónde se determina si una persona puede ingresar a una atracción mecánica en un parque de diversiones Alejandra GRUPO 204 TREJO BANDA
  • 9. Alejandra GRUPO 204 TREJO BANDA Actividad 1 ¿Qué es un algoritmo? Es un método para encontrar una solución a un determinado problema a través de una serie de instrucciones de pasos finitos bien definidos. ¿Cuáles son las características de los algoritmos? presiso definido legible entrada proceso salida Da una breve historia de como surgen los algoritmos. Se originaron a mediados del siglo IX cuando el matemático Mohammed Ibn Musa-al-Khwarizmi desarrolló fórmulas para resolver ecuaciones de primer y segundo grado.
  • 10. Alejandra GRUPO 204 TREJO BANDA Elabora un mapa mental de las partes de un algoritmo. INPUT ALGORITMO PROCESO SALIDA Menciona los pasos para realizar un algoritmo (Cuadro sinóptico) Algoritmo Selección: determina un conjunto diferente de pasos Interacción: sirve para ejecutar los pasos. Secuencia: Ordenar los pasos. Realiza el algoritmo de como se elabora una jarra de limón. INICIO Jarra Azúcar Agua Limón Jarra con agua Exprime el limón en la jarra de agua Coloca azúcar al gusto en el agua con limón
  • 11. Alejandra GRUPO 204 TREJO BANDA Tipos de algoritmos Cualitativos: son aquellos en los que se describen como los pasos utilizando palabras. Son todos aquellos pasos o instrucciones descritos por medio de palabra que sirven para llegar a la obtención de una respuesta o solución de un problema Cualquier. cuantitativos: son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. son aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio. tipos de algoritmos de razonamiento: Algoritmos estáticos dos puntos son los que funcionan siempre igual, independientemente del tipo de problema tratado. Algoritmos adaptativos: algoritmos con cierta capacidad de aprendizaje. Algoritmos probabilísticos: son algoritmos que no utilizan valores de verdad booleanos sino continuos. Existen varios tipos de algoritmos probabilísticos dependiendo de su funcionamiento, pudiéndose distinguir: Algoritmos numéricos dos puntos que proporcionan una solución Aproximada del problema. Algoritmos de Montecarlo: que pueden dar la respuesta correcta o respuestas erróneas (con probabilidad baja). Algoritmos de Las Vegas: que nunca dan una respuesta incorrecta o bien dan la respuesta correcta o informan del fallo. algoritmo cotidiano: es la serie de pasos que realizamos en nuestra vida diaria para realizar las diferentes tareas y actividades comunes, desde los pasos al levantarnos, así como ir de compras, etcétera. Algoritmo voraz: un algoritmo voraz es aquel que, para resolver un determinado problema, sigue una meta heurística que consiste en elegir la opción óptima en cada paso local con la esperanza de llegar a una solución general óptima. algoritmo determinista: es un algoritmo que, en términos informales, es completamente predictivo si se conocen sus entradas .
  • 12. Alejandra GRUPO 204 TREJO BANDA Algoritmo heurístico: es un algoritmo que abandona uno o ambos objetivos, por ejemplo normalmente encuentran buenas soluciones, aunque no hay problemas de que la solución no pueda ser arbitrariamente errónea en algunos casos, o se ejecuta razonablemente rápido, aunque no existe tampoco prueba de que siempre será así. Las heurísticas Generalmente son usadas cuando no existe una solución óptima bajo las restricciones dadas (tiempo, espacio, etc.) O cuando no existe del todo. algoritmo de escala: la idea básica consiste en comenzar con una mala solución de un determinado problema, y repentinamente, aplicar optimizaciones a la misma hasta que esta sea optima o satisfaga algún otro requisito. Ciencias en que se apoya la algoritma parabproducir soluciones ingeniosas -Ciencias de la computación. -Matemáticas. -Ciencias Sociales. -Ciencias Políticas. ¿Como podemos determinar la complejidad de un algoritmo? No existe receta para que siempre funcione para calcular la complejidad de un algoritmo, si es posible tratar sistemáticamente una gran cantidad de ellos, basándonos en que suelen estar bien estructurados y siguen pautas uniformes. Los algoritmos bien estructurados combinan las secuencias de alguna de las siguientes formas: secuencias sencillas, secuencia, decisión y bucles. Tipos de datos Datos: El primer objetivo de toda computadora es el manejo de información o datos. Estos datos pueden ser las cifras de ventas de un mercado o las calificaciones de una clase. Un dato es la expresión general que describe los objetos con los cuales opera una computadora. Existen dos tipos de datos: simples(sin estructura) y compuestos (estructurados, los cuales se verán en programación) Los tipos de datos simple: -numéricos (integer, real) -lógicos (boolean) -carácter (echar, string)
  • 13. Alejandra GRUPO 204 TREJO BANDA Datos numéricos: El tio numérico es el conjunto de los valores numéricos. Estos pueden representarse en dos formas: -Tipo numérico entero (integer) -Tipo numérico real (real) Enteros: el tipo entero es un subconjunto finito de los números enteros. los enteros son números completos, no tienen componentes fraccionarios o decimales y pueden ser negativos o positivos. En ocasiones se denomina números de punto fijo. Ejemplo de números enteros: 5 6-154.20 171. 340 26. reales: el tipo real consiste en un subconjunto de los números reales. Los números reales siempre tienen un punto decimal y pueden ser positivos o negativos. Un número real consta de un entero y una parte decimal. Los siguientes ejemplos son números reales: 0.08 3739.413.7452-52.321. -8.12 3.0 12.45678 -0.12334. En aplicaciones científicas se requiere una representación especial para manejar números muy grandes como la masa de la tierra o muy pequeños como la masa de un electrón. Una computadora solo puede respetar un número fijo de dígitos. Este número puede variar de una máquina a otra, 108 dígitos su número típico. Este límite provoca problemas para representar y almacenar números muy grandes o muy pequeños como son los citados o los siguientes: 486 72 134 320.00000000378. Existe un tipo de representación denominado notación exponencial o científica y que se utiliza para números muy grandes o muy pequeños. Así: 3 6 7 5 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Se representa una notación científica, descomponiéndolo en grupos de tres dígitos. 367520 100 000 000 000 000. Y posteriormente en forma de potencias de 10. 3.675201 x 10019 y de modo similar. .000000000302579 se representa como. 3.02579 x 102-11. La representación en coma o punto flotante es una generalización de notación científica. Obsérvese que las siguientes expresiones son equivalentes: 3.675201 x 10^19 = .3675201 x 10^20 = .02675201 x 10^21 = ,..., = 36.75201 x 10^18 = ...
  • 14. Alejandra GRUPO 204 TREJO BANDA En estas expresiones se considera la misma (parte decimal) al número real y el exponente (parte ponencial) el de La potencia de diez 36.75 201 minimiza el exponente. Datos lógicos El tipo lógico también denominado booleano es aquel dato que solo puede tomar uno de dos valores, verdadero o falso. este tipo de datos se utilizan para representar las alternativas (si-no) a determinadas condiciones. por ejemplo, cuando se pide si un valor entero es par la respuesta será verdadera o falsa, según par o impar. Datos tipo carácter. El tipo carácter es el conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato tipo carácter contiene un solo carácter. los caracteres que reconocen las diferentes computadoras no solo estándar: sin sin embargo, la mayoría los reconoce los siguientes caracteres alfabéticos y numéricos: -caracteres alfabéticos (A B C ...) - caracteres numéricos (1 2 3 ...) - caracteres especiales (+ - × ÷ = / ... < > S ...) Una cadena (string) de caracteres es una sucesión de caracteres que se encuentran delimitados por una comilla (apostrofo) o dobles ", según el tipo de lenguaje de programación. La longitud de una cadena de caracteres es el número de ellos comprendidos entre los separadores o delimitadores. Algunos lenguajes tienen datos tipo cadena. Ejemplo: 8 de octubre de 1976. constantes y variables Los programas de computadoras tienen ciertos valores que no deben de cambiar durante la ejecución del programa. Tales valores se llaman constantes. De igual forma, existen otros valores que cambiarían durante la ejecución del programa: a estos valores se les llama variables. Constantes una constante es una partida de datos que permanecen sin cambios durante todo el desarrollo del algoritmo o durante la ejecución del programa. Una constante tipo carácter o constante de caracteres consiste en un carácter válido encerrado dentro del apóstrofes: por ejemplo: B + 4
  • 15. Alejandra GRUPO 204 TREJO BANDA Una secuencia de caracteres denomina normalmente una cadena, y una constante tipo cadena es una cadena encerrada entre apóstrofes. Por consiguiente "José Luis García" es constante de cadena válida. Si el apóstrofe es uno de los caracteres en una constante de cadena, debe aparecer como par de apóstrofes: "John" "s" Solo Existen dos constantes lógicas o boleanas: verdadero y falso variables Una variable es un objeto o partida de datos cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecución del programa. Dependiendo del lenguaje hay diferentes tipos de variables tales como: enteras, reales, carácter, lógicas y de cadena. una variable que es de cierto tipo puede tomar únicamente valores de ese tipo. Una variable de carácter, por ejemplo, puede tomar como valor solo caracteres, mientras que una variable entera puede tomar solo valores enteros. Sí se mienta asignar un valor de un tipo de variable de otro tipo se producirá un error de tipo. Una variable se identifica por los siguientes atributos: nombre que lo asigna y tipo de que desarrolló el uso de la variable. Los nombres de las variables, a veces conocidos Como identificadores, suelen constar de varios características alfanuméricas de los cuales primero normalmente es una letra. No se deben utilizar como nombres de identificadores palabras reservadas de lenguaje de programación. Nombres válidos de variables son: A510 Nombres Nombres-apellidos Los nombres de las variables elegidas para el algoritmo o el programa deben ser significativos o tener relación con el objeto que representan, pueden ser los casos siguientes. Nombre de representar nombres de personas. Precisos para representar los precios de diferentes artículos. Asignación la operación de asignación es el modo de darle valores a una variable. Existen dos maneras de dar valor a las variables: una es leer un valor para la variable mediante una operación de entrada . Y coma la otra manera es asignar un valor a la variable por medio de la asignación. Cuando un programa solicita un valor para una variable Hablamos de una entrada. En cambio, en la asignación simplemente se le confiere un valor a la variable. Una variable solo puede contener un valor a la vez, por lo que cuando se le asigna un nuevo valor el se
  • 16. Alejandra GRUPO 204 TREJO BANDA pierde. Por esto se dice que la naturaleza de la asignación es destructiva. La operación de asignación se representa con el símbolo u operador. La operación designación se conoce como instrucción o sentencia de asignación cuando se refiere a un lenguaje de programación. El formato general de una operación de asignación es la siguiente: Nombre de la variable <___ expresión. en donde expresiones una expresión, una variable o una constante. La flecha (operador de asignación) se sustituye en otros lenguajes por = (BASIC, FORTRAN) o = (PASCAL). Sin embargo, es preferible el uso de la flecha en la redacción del algoritmo, para evitar ambigüedades dejando el = exclusivamente para el operador de igualdad. La operación de asignación: A <___ 5 Significa que a la variable a se le ha asignado el valor 5. La acción Designar es destructiva, ya que el valor que tuviera la variable antes de la asignación se pierde y se reemplaza por el nuevo valor. Así en la secuencia de operaciones. A <___ 124 A <___ 18 A <___ 7 Cuando esto se Ejecutan, el valor último qué toma A será 7 (los valores 124 y 18 has desaparecido). Las acciones de asignación se clasifican según sea el tipo de expresiones en: aritméticas lógicas y de caracteres. Asignación aritmética las expresiones en las operaciones de asignación aritmética: AMN <___3 + 14 + 8. se evalúa la expresión 3 + 14 + 8 y se asigna a la variable AMN, es decir, 25 será el valor que toma AMN. TER1 <___14.5 + 8 TER2 <___0.75 * 3.4 MEDIA --- TER1 TER2. Se evalúan las expresiones 14.5 + 8 y 0.75 * 34 y en la tercera acción se dividen los resultados de cada expresión y se asigna a la variable MEDIA, es decir, las 3 operaciones equivalen a MEDIA. (14.5 + 8) / (0.75 * 3.4).
  • 17. Alejandra GRUPO 204 TREJO BANDA ENTEROS REALES FALSO VERDADERO CARÁCTER ALFABÉTICOS NUMÉRICOS ESPECIALES CADENA NUMERICOS LÓGICOS TIPOS DE DATOS 36-154.20 -8.12.02 (Fals, no/si) 1, 2, 3, ..., 9 +, -, *, /, ..., $ 8/10/1976 (True, si/no) A, B, C, ..., Z Act. 3 Act. 4 Estáticos Adaptativos Probabilísticos Cotidiano Voraz Determinista Heurístico De escalada Funcionan siempre igual. Tienen cierta capacidad de aprendizaje. No utilizan valores de verdad booleanos sino continuos. Es la serie de pasos que realizamos en nuestra vida diaria. Es aquel que para resolver un problema sigue una meta heurística consistente. Es completamente predictivo. Comienza con una mala solucion a un determinado problema u de repente aplicar optimizaciones a la misma hasta que esta sea optima o satisfaga algun requisito. Es un algoritmo que abandona uno o ambos objetivos. TIPOS DE ALGPRITMOS DE RAZONAMIENTO Qué es una variable? un objeto o partida de datos cuyo valor puede cambiar durante el desarrollo de algoritmo. Qué es una constante? son valores inmutables que se conocen en tiempo de aplicación no cambian durante la vida del programa. Cuál es la diferencia entre ellas? la constante no puede cambiar durante y una variable puede tener cualquier valor. Act. 5
  • 18. Alejandra GRUPO 204 TREJO BANDA Qué son los operadores Qué son los operandos Y cómo funcionan los lenguajes de programación. Veremos los tipos de operadores y las prioridades de ejecución Cuando tenemos varios en una misma expresión. En este artículo vamos a introducir uno de los temas principales de los lenguajes de programación, como son los operadores y los operandos que nos sirven para realizar todo tipo de expresiones en las que trabajamos con los datos, con distintos tipos de operaciones. Abordaremos este tema desde un punto de vista genérico, sin tratar un lenguaje de programación en particular, explicando Cuáles son los operadores más habituales con en los lenguajes de programación. Sin embargo, Debes saber que cada lenguaje puede explicar unos símbolos determinados los operadores, que pueden cambiar entre unos y otros. Existe un patrón bien definido en la mayoría de los casos, Como los símbolos de las Matemáticas, pero en general debe saber que pueden cambiar de lenguaje a lenguaje. Qué son operadores Antes de comenzar a ver cuáles son los operadores conviene explicar que son, de un modo general, aunque creo que la mayoría de las personas lo tienen en mente del propio estudio de materias como las matemáticas. los operadores Son elementos que relacionan de forma diferente, los valores con los que trabajamos en los lenguajes de programación. En los lenguajes de programación usamos los operadores para manipular los valores y transformarlos, con el objetivo de realizar los objetivos de los programas. Qué son los operandos los operandos son los valores que se utilizan para alimentar los operadores. Por ejemplo, en el operador suma necesitamos dos operandos para sumar ambos valores. Los operandos pueden venir almacenados en variables o constantes, pero pueden ser simplemente valores que están escritos de manera literal en el código del programa. Tipos de operadores a continuación vamos a relatar los tipos de operadores más comunes que encontraremos en la mayoría de los lenguajes de programación. TIPOS DE OPERADORES Aritméticos Relacionales Lógicos
  • 19. Alejandra GRUPO 204 TREJO BANDA La mayoría de los lenguajes tienen otros tipos de operadores además de estos. De momento y por simplicidad nos vamos a ceñir en este artículo a los operadores aritméticos, relacionales y los operadores lógicos, que son los más habituales a la hora de programar. Operadores aritméticos Los operadores aritméticos permiten la realización de operaciones Matemáticas con los valores literales, con las variables o las constantes. Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero, si alguno de ellos es real, el resultado es real. Ahora presentaremos una lista de operadores aritméticos, que generalmente se usan como los mismos símbolos en todos los lenguajes, Ya que nos vienen heredados de las matemáticas. -Sum. -Resta. - *Multiplicación. - /División. - mod Modulo (residuo o resto de la división entera). - ^Elevar potencia. Muchos lenguajes como C, Java, Javascript, C=, y otros Usan el símbolo porcentaje para el operador módulo, o resto de la división entera punto mucho lenguaje se usan el operador con dos asteriscos para eleva a potencias. Ejemplos de uso de operadores aritméticos: A continuación puedes encontrar algunas expresiones con operadores aritméticos y los resultados que obtendrían. Expresión: 7/2 Resultado: 3.5 Expresión: 12 mod 7 Resultado: 5 Expresión: 4+2*5 Resultado: 14 Prioridad de los Operadores Aritméticos Cuando encontremos varios operadores en una misma expresión los lenguajes de programación tendrán que evaluarlos en un orden determinado. Ese orden lo Operando (Operador) Operando valor (Constante o variable)
  • 20. Alejandra GRUPO 204 TREJO BANDA conocemos como prioridad o precedencia de operadores. Cuando se trata de operadores aritméticos es muy fácil imaginarse la prioridad de unos respecto a otros, dado que funcionan igual que en las matemáticas. Por ejemplo, siempre se evaluará una multiplicación antes de una suma. Sin embargo, no siempre es tan fácil deducir Cómo se va a resolver la asociatividad de los operadores, por lo que hay que aprenderse unas reglas de precedencia que vamos a resumir en este punto. Dentro de una misma expresión los operadores se evalúan en el siguiente orden: 1. ^ Exponenciación (en los lenguajes que exista este operador). 2. *./, mod (Multiplicación, división, módulo). 3. +,- (Suma y resta). En el caso en el que en una misma expresión se asocian operadores con igual nivel de prioridad, estos se evalúan de izquierda a derecha. Así funciona en la mayoría de los lenguajes de programación, pero tendrías que examinar cómo lo hace en el tuyo o consultar la documentación. Cómo romper las reglas de precedencia de operadores con los paréntesis. En el caso que quieras romper las reglas de presencia de los operadores puedes usar los paréntesis. Funcionan con cualquier tipo de operadores y se comportan igual que en las matemáticas. Puedes definir Mediante los paréntesis qué operadores se van a relacionar con operandos, independientemente de las reglas mencionadas anteriormente. -Todas las expresiones entre paréntesis se evalúan primero. - las expresiones con paréntesis anidados se evalúan de dentro afuera. - el paréntesis más interno se evalúa primero. Ahora veamos ejemplos de asociatividad de operadores sentencias más complejas, usando paréntesis para marcar cómo queremos que se realice la presidencia. 4+2*5= 14 23*2/5= 9.2 3+5*(10)-(2/40)= 23 2.1*(15+123)= 2.1*13.8= 28.98
  • 21. Alejandra GRUPO 204 TREJO BANDA Operadores Alfanuméricos Cuando trabajamos con cadenas de caracteres podemos también realizar operaciones, Aunque realmente sería solo una en la mayoría de los lenguajes que llamamos "concatenación". Principalmente utilizamos el símbolo "+" para concatenar cadenas, qué consiste en colocar una cadena a continuación de otra. Luego dependiendo del lenguaje puede funcionar si el símbolo "-" para concatenar cadenas eliminando los espacios en blanco. Ejemplos de concatenación de cadenas. a= "hola" b= "mundo" c= a + b Después del anterior código se valdrá hola mundo. Fíjate que no hay espacio entre medias porque el ordenador no sabe que son dos palabras. simplemente le estás pidiendo que las junte y como resultado tienen las dos cadenas una detrás de la otra. si hubieses querido juntarlas podrías haber hecho algo como esto: c=a+" "+b Operadores relacionales se utilizan para establecer una relación entre dos valores. Luego compra estos valores entre sí Y esta comparación produce un resultado de certeza o falsedad (verdadero o falso). Encontrarás que muchas veces nos referimos a "verdadero" o "falso" como "true" o "false", Qué es la traducción en inglés. De hecho true y false forman un conjunto de valores que definen a uno de los tipos habituales de programación, el tipo booleano. Los operadores relacionales comparan Generalmente valores del mismo tipo (numéricos con numéricos o cadenas con cadenas). pero también el lenguaje es de programación, como los que tienen tipados Dinámico (javascript, php y otros) donde se permite comparar valores de distintos tipos. Todos los operadores relacionales tienen el mismo nivel de prioridad en su evaluación. En general, los operadores relacionales tienen menor prioridad que los aritméticos.
  • 22. Alejandra GRUPO 204 TREJO BANDA • >Mayor que. • <Menor que. • >=Mayor o igual que. • <=Menor o igual que. • <>Diferente. • ==Igual. El símbolo "=" nos compara dos valores. no le debes confundir con el signo ? Que se usa habitualmente para asignar un valor en una variable. El símbolo "<>" de distinto, en muchos lenguajes de programación se expresa como "!=". Lo verás así en lenguajes como C o Java, Javascript y muchos otros. Los demás signos son bastante estándar, como ?, ?, ?, "<>", "<=", ">=", que se usan tal cual en la mayoría de los lenguajes. Ahora vamos a ver varios ejemplos de uso de operadores relacionales. Para facilitarnos las cosas vamos a suponer que tenemos tres variables. a=10 b=20 c=30 Teniendo en cuenta los valores de las variables anteriores, vemos estos ejemplos y los resultados que se producirán al combinar varios operadores. a + v > c Falso a - b < c Verdadero a - b == c Falso a * b <> c Verdadero Para entender los ejemplos anteriores recuerda que los operadores aritméticos se resolverán antes que los operadores relacionales, por lo que primero tienes que resolver las operaciones Matemáticas para luego comprobar como se evaluarían los operadores relacionales. Como hemos señalado, en muchos lenguajes de programación, generalmente los de tipado fuerte, no se pueden comparar valores de distintos tipos, por lo que los siguientes ejemplos no serían válidos. a < b < c 10 < 20 < 30 T > 5 < 30
  • 23. Alejandra GRUPO 204 TREJO BANDA Operadores Lógicos Esos operadores se utilizan para establecer relaciones entre valores lógicos. Los valores lógicos son los valores boléanos. • True • False Además, Dado que los operadores relacionales tienen resultado un operador lógico, se reduce mediante la comparación de los operandos, los operadores lógicos pueden tener como operandos el resultado de una expresión relacional. Los tipos de operadores lógicos también pueden cambiar entre lenguajes de programación, pero generalmente te encontraremos los siguientes: •And (operación Y) • Or (operación O) • Not (negación) como operadores lógicos nos encontramos en muchos lenguajes con el símbolo "!" Para la negación. El símbolo "..." para la operación de "and" y "!||" para el "or". Tablas de ejemplo de uso de operadores lógicos Ahora vamos a ver ejemplos de uso de operadores lógicos. Los vamos a representar por medio de tablas con las operaciones posibles y los resultados que tendrían las distintas combinaciones de valores. Para los siguientes ejemplos, con la intención de ser más escuetos, T significa verdadero y F falso.
  • 24. Alejandra GRUPO 204 TREJO BANDA Operador not La operación not realiza el cambio al valor contrario. Si era verdadero para falso y viceversa. NOT T-F NOT F-T Operador And La operación de AND da como resultado verdadero cuando ambos operadores relacionados son verdaderos. Si uno de los dos es falso o ambos son falsos, Entonces el resultado es falso. T AND T T T AND F F F AND T F F AND F F Operador Or Operador Or La operación o r da verdadero cuando al menos uno de los dos operadores es verdadero. Si ambos operadores son falsos entonces da falso. F OR T = T F OR F = T F OR T = T F OR F = F Prioridad de los Operadores Lógicos El orden de procedencia de los operadores lógicos entre ellos es el siguiente, de más precedente a menos. 1. Not 2. And 3. Or Prioridad de los operadores en general Cómo has visto, existen diversos tipos de operadores y cada uno de ellos tiene su precedencia o prioridad, que define cómo se van a asociar los operandos. los lenguajes soportan expresiones en los que se relacionan diversos tipos de operadores, en cuyo caso tendríamos que conocer la tabla de precedencia de operadores de lenguaje en sí. Ten en cuenta que cada lenguaje puede tener variaciones en sus tablas de precedencia, que cambien la asociatividad de los operadores con los operandos. No obstante, todos siguen en la mayoría de los casos esquemas similares.
  • 25. Alejandra GRUPO 204 TREJO BANDA a continuación te damos una tabla de procedencia clásica en la que aparecen distintos tipos de operadores, pero sería bueno que consultases la de lenguaje de programación con el que vas a trabajar. 1. ( ) 2. ^ 3. *, Mod, Not 4. +, -, And 5. >, <, >=, <=, <>, =, Or Ejemplo de operación compleja con su precedencia. para el siguiente ejemplo, tenemos las siguientes variables: a=10, b=12, c=13, d=10. otros ejemplos de expresiones con uso de operadores Para completar, vamos a ver otros ejemplos de expresiones con operadores de diversa índole. Aritméticos a 3 b 2 x a**2 donde x valdría 8 x a*2 donde x valdría 15 x a*2 donde x valdría 6 x a%b donde x valdría 1 Alfanuméricos A= "Hola" B = "Que tal" X= A+B Al terminar de ejecutarse ese código x valdría "Hola qué tal" Relacionales Ahora te ponemos un poco de pseudocódigo para los siguientes ejemplos de operadores.
  • 26. Alejandra GRUPO 204 TREJO BANDA Si x== a entonces Instrucciones Sino Instrucciones Fin si Lógicos Si !a entonces La variable está vacía Fin si Si Actividad 6.- 32-19=13, 13+40=53, 53-20=33, 33+30=63, 63-50=13 32-19+40-20+30-50 678 - [(34 + 28) + (73 - 15) - (12 + 43)]⇒ (20 - 5 + 2)(16 - 3 + 2 - 1)⇒ 20 - 5 = 15, 15 + 2 = 17 16 - 3 = 13, 13 + 2 = 15, 15 - 1 =14 17 X 14=238 60-40+108-104+320-133-45 678 - [(34 + 28) + (73 - 15) - (12 + 43)]⇒ 34 + 28 = 62, 73 - 15 = 58, 12 + 43 = 55 62 + 58 = 120, 120 -55 = 65 678 - 65 = 613. 60 - 40 = 20, 20 + 108 = 128, 128 - 104 = 24, 24 + 320 = 344, 344 - 133 = 211, 211 - 45 = 166. (20 - 5 + 2)(16 - 3 + 2 - 1)⇒
  • 27. Alejandra GRUPO 204 TREJO BANDA DAME NUM. 1 DAME NUM 2 17 > 14 17 Actividad 7.- ¿Qué son los diagramas de flujo y para qué sirven? R= Es un diagrama que describe un proceso, sistema o algoritmo informático. Se usan ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y fáciles de comprender. ¿Cuál es la simbología de los diagramas de flujo? R= Los símbolos pueden indicar algún proceso o documento, decisiones que hay que tomar y mucho más. De 5 ejemplos de diagrama de flujo ya resueltos. INICIO 14 17 FIN "EL MAYOR ES", 17 "EL MAYOR ES", 14
  • 28. Alejandra GRUPO 204 TREJO BANDA INICIO DAME 3 NUMEROS ESCRIBIR NUM. 1 39 ESCRIBIR NUM. 2 45 ESCRBIR NUM. 3 16 SI 39 <> 45 Y 39 <> 16 Y 45 <> 16 ENTONCES SI 39 < 45 ENTONCES SI 39 < 16 ENTONCES «EL MENOR ES: «, 16
  • 29. Alejandra GRUPO 204 TREJO BANDA INICIO DAME EDAD 17 EDAD > 18 ES MAYOR DE EDAD ES MENOR DE EDAD ES MENOR DE EDAD FIN
  • 30. Alejandra GRUPO 204 TREJO BANDA INICIO DAME CALI. 1 6.0 DAME CALI. 2 8.0 DAME CALI. 3 7.0 PROMEDIO (6.0 + 8.0 + 7.0)/3 PROMEDIO FINAL DE 7 FIN
  • 32. Alejandra GRUPO 204 TREJO BANDA este trabajo deberán de entregarlo en hojas blancas a mano, con los siguientes elementos, portada del trabajo, índice, desarrollo, conclusiones personales, conclusiones de trabajo, y fuente bibliográfica. Actividad 8.- completa el siguiente cuadro del software libre para diseñar diagramas de flujo. ¿Qué es un Pseucódigo? cuando se trabaja en programación, antes de escribir nuestro programa, primero escribimos el pseucodigo. el pseucodigo es una forma de describir los pasos que va a realizar un programa de la forma más cercana al lenguaje de programación que vamos a utilizar posteriormente. Es como un falso lenguaje, pero nuestro idioma en el lenguaje humano y en español. Una de las mayores dificultades con las que se encuentra los hispanohablantes que empiezan a programar es el idioma. Por eso es bueno utilizar pseucódigo que ayuda a asimilar con más facilidad las ideas básicas. Este pseucódigo vale para pasarlo posteriormente a cualquier lenguaje de programación, no importa el que quieras usar. Incluso algunas universidades han creado sus propios "intérpretes de pseucodigo".
  • 33. Alejandra GRUPO 204 TREJO BANDA Su misión es ayudar a los alumnos de primer curso a crear los programas "pensando en español", pero permitiéndoles además, probar esos programas desde un entorno casi real. Por ejemplo. PSelnt Es una herramienta para asistir a un estudiante en sus primeros pasos de programación mediante un simple e intuitivo pseudolenguaje en español (completando con un editor de diagramas de flujo). Fíjate en el ejemplo siguiente escrito en pseucodigo. ¿Fácil no? No te preocupes iremos explicando todo paso a paso para que logres entenderlo. vamos a ver unas breves explicaciones de pseucodigo, pero sobre todo ejemplos de pseucodigo. ¿ Cómo se escribe el pseucódigo? Como ya dijimos es un lenguaje intermedio entre lenguaje y de programación que usemos y el nuestro. No hay reglas fijas para escribir en pseucódigo pero la mayoría de la gente usa más o menos el mismo vocabulario. Por ejemplo si queremos escribir algo en la pantalla, en pseucódigo podríamos poner: Escribir "Hola". Escribir 20 o Escribir Variable. OJO escribir 20 y escribir "20" son dos cosas diferentes. Lo que sea texto simplemente se pone entre comillas, los números no. Entonces escribir 20, es mostrar en pantalla el número 20 y escribir "20" es mostrar en pantalla 20. Puede parecer lo mismo pero no lo es, en una 20 es un texto y en otro un número. también podemos usar en lugar de escribir:
  • 34. Alejandra GRUPO 204 TREJO BANDA Mostrar por pantalla "Hola" recuerda realmente el pseucódigo lo podríamos escribir como nosotros quisiéramos, ya que realmente no es el programa en sí, sólo es una ayuda para posteriormente realizar el programa mediante el lenguaje de programación que utilicemos. Eso si, el pseucódigo es de gran ayuda, por no decir imprescindible. Sí sabe hacer el pseucodigo del programa, pásalo a cualquier lenguaje de programación es muy sencillo, solo tendrás que aprender los comandos equivalentes a las instrucciones en pseucódigo, normalmente muy parecidas pero en inglés. Además la mayoría de los lenguajes utilizan prácticamente los mismos comandos en su lenguaje. Eso sí, repetimos tendrás que aprender los fundamentos de programación antes de seguir si no lo sabes. Sigamos hablando un poco más sobre el pseucódigo. para especificar el principio y el fin del programa ponemos: Inicio Aquí iría el programa en pseucódigo. Fin Otra forma muy utilizada sería: Proceso Nombre Del Programa Aquí iría el programa en pseucódigo. Fin Proceso o Nombre Del Programa Por ejemplo: Inicio Escribir "Hola Mundo" Fin O también podrías pone: Inicio Primer Programa Escribir "Hola Mundo" Fin Primer Programa las tres palabras más comunes que se usan en pseucódigo son: Escribir--> escribe en pantalla el texto que pongamos entre paréntesis o también puede escribir en pantalla el valor de una variable.
  • 35. Alejandra GRUPO 204 TREJO BANDA También podemos poner en lugar de escribir la palabra Mostrar. En esta web no explicaremos las variables, funciones, expresiones, etcétera. Si no sabes qué son te recomendamos que antes de seguir vayas a Fundamentos de Programación. Esta instrucción en casi todos los lenguajes de programación reales suele escribirse con la palabra write o document. Write ('Hola') Leer Edad--> nos Lee desde lo que el usuario marque desde el teclado y guarda el valor, por ejemplo dentro de una variable, en este caso la variable Edad. Por ejemplo: Escribir "¿Cuál es tú edad?" Leer Edad Escribir "Tú edad es" + Edad Fin Ejemplos de pseucódigo Pseucódigo para un programa que nos sume dos números introducidos por el teclado: Inicio Escribe "introduce el primer número" Leee número 1 Escribir "introduce el segundo número" Leer número 2 Resultado= número 1 + número 2 Escribir resultado fin Recuerda: cuando queremos escribir en pantalla una variable, como en este caso la variable resultado, no se pone entre comillas. 2.- Psuecódigo para un programa que nos diga la tabla de multiplicar del número que le digamos (introducido por el teclado). Programa: tabla multiplicar Numéricas: t, num, total Inicio Escribir "introduce un número" Leer: num Inicio Desde
  • 36. Alejandra GRUPO 204 TREJO BANDA Desde t-1 hasta t = 10 repetir Hacer total= num * t Escribir total FinDesde Fin Escribir un código de un programa que permita leer edad y peso de una persona y posteriormente imprimirla. Inicio Variables Numéricas: edad, peso imprimir "Escribir los datos (Edad, Peso)". Leer edad, leer peso Escribir "Tu peso es:" "peso" y "tu edad es:" "edad". Fin Te has fijado que para imprimir algo en lugar de mostrarlo en la pantalla la palabra es "imprimir", así de sencillo. Además podemos mezclar en una frase texto fijo con variables. Esto se puede hacer con comas como lo ves En el ejemplo anterior oponiendo el signo más entre el texto y las El ejemplo anterior podríamos ser: Escribir "Tu peso" + peso + "tu edad" + edad: Sería lo mismo. 4.- escribir pseudocódigo que cálculo el área de un círculo. Inicio Constantes: pi= 3.1416. Variables numéricas: radio, área. Escribe: "introduce el radio" Leer radio: Área + radio * radio * Pi Escribe "El área del círculo es": área Fin Fíjate aquí que hemos definido una constante. 5.- Escribir un pseucódigo que calcule el área de un triángulo recibiendo como entrada el valor de base y altura. Inicio Variables altura, base, área
  • 37. Alejandra GRUPO 204 TREJO BANDA Escribir "introduce la base y la altura" Leer base y peso. Área= (base * altura) / 2 Escribir "El área es": base Fin 6.- Crear un código que proporciona el volumen de un cilindro, conocidos su altura y su diámetro. Inicio Mostrar "introduzca el diámetro, en metros": pedir D Mostrar "introduzca la altura, en metros": pedir H R = d/2 : pi = 3.1416 V= pi * (R ^ 2) * h Mostrar "el volumen del cilindro es de": V= "metros cúbicos". Fin 7.- elaboraron un algoritmo que obtenga e imprima el valor de Y a partir de la ecuación: y = 3 * x + 2 * 7x - 15 introduciendo el valor que queremos de X. Inicio Numéricas: num X, num Y Leer num X Num Y= 3 * X + 2 + 7X - 15 Escribir num Y Fin 8.- Pseucódigo para introducir un número por teclado y que nos diga si es positivo o negativo. Programa signo Borrar pantalla ( ) Escribir "Introduce un número" Leer num Si num >= 0 Entonces Escribir "es positivo" SINO Escribir "es negativo" FINSI FINPROGRAMA Aquí hemos utilizado la estructura Si ... (se cumple la condición)... Hacer (Esto). Esto es la condicional (en ingles)
  • 38. Alejandra GRUPO 204 TREJO BANDA 9.- Realizar un pseucódigo de un programa que permita saber si un número es mayor, menor o igual a 0. Programa: Compara números Numérica: número Escribir "Introduzca un número" Leer Número Iinicio Si Si numero <0 Entonces Escribir "El número introducido es negativo" Si No Escribir "El número es cero" FINSI Fin programa Aquí utilizamos la condicional si... esto si no... esto otro. 10.- Crear un pseucódigo que proporcione el precio medio de un producto, calculando a partir del precio del mismo en tres establecimientos distintos. Inicio Mostrar "Introduzca el precio del producto en el establecimiento número 1, en euros": pedir precio 1. Mostrar "Introduzco el precio del producto en el establecimiento número 2, en euros": pedir precio 2. Mostrar "Introduzco el precio del producto en el establecimiento número 3 en euros": pedir precio 3. Media= ( precio 1 + precio 2 + precio 3) 3 Mostrar "El precio medio del producto es", Media, "Euros". Fin.