SlideShare una empresa de Scribd logo
1 de 32
INFORMATICA 2 1
NOMBRE: ___________________________________ GRUPO: ______________
INFORMATICA 2 SEMESTRE 2023ª
PLANTEL 7, “EL MARQUÉS”
Propósito General de la Asignatura: Que el estudiante, como ciudadano digital, valore las Tecnologías de la
Información y Comunicación, a través de la solución de problemas del contexto, de forma ética y responsable con
herramientas básicas que permiten potenciar su desempeño en las actividades cotidianas, escolares o sociales.
Temario
 Bloque I. Algoritmos y diagramas de flujo
o Conceptos básicos
o Elementos
o Manejo de software
 Bloque II. Herramientas avanzadas de Software de Aplicación
o Procesadores de texto
 Combinación de correspondencia
o Presentadores electrónicos
o Hojas de cálculo
 Funciones avanzadas
 Bloque III. Software Educativo
o Conceptos básicos
o Clasificación
o Uso de software libre y comercial de forma responsable
o Descargas
INFORMATICA 2 2
EXAMENES PARCIALES
Fecha propuestas por la
dirección
Criterios de
Evaluación
Fecha para Informática 2, Luz del Carmen
Ramírez
Primer Parcial Del 13 al 17 de Marzo
24 entrega a control escolar
30 marzo entrega de boletas
a padres de familia
50% Examen
25% T,T y P
25% Trabajo
de Algoritmos
Miércoles 1
Marzo
Jueves 2 Marzo
Segundo Parcial Del 8 al 12 de Mayo
19 entrega a control escolar
24 de Mayo entrega de
boletas a padres de familia
45% Examen
20% T, T y P
35% Manual
de Practicas
Miércoles 3 de
Mayo
Miércoles 3 de Mayo
Tercer Parcial Del 5 al 9 de Junio
12 entrega a control escolar
14 de Junio entrega de
boletas a padres de familia
40% Examen
60% apuntes
de Informática
2 y Manual de
Practicas
Lunes 5 Junio Martes 6 Junio
Examen Final 15 al 21 de Junio
23 de junio termino del
Semestre
Entrega de
Apuntes y
Practicas del
Semestre
Días inhábiles 6 de Febrero, 20 de Marzo,
Periodo Vacacional 3 al 18
de Abril, 28 de Abril, 1, 5 y
15 de Mayo, 10 Mayo para
Mamás.
Grupo 24 Grupo 25
Derecho a Examen Parcial sin excepción alguna
80% de tareas, trabajos y prácticas.
80% de Asistencia. Apegada al reglamente vigente.
Derecho a Examen Final
Entregar el proyecto final.
80% de tareas, trabajos y prácticas.
80% de Asistencia.
INFORMATICA 2 3
Autoevaluación Diagnóstica
¿Cómo te sientes con tu situación escolar?
Los resultados que obtendrás son un indicativo de situaciones mejorables con relación a situaciones emocionales
relacionadas con vivencias de contexto escolar.
Indicaciones:
1. Se honesto contigo mismo.
2. Contesta verdadero o falso, según lo que corresponda a tu realidad.
3. Analiza tu resultado.
Pregunta Verdadero Falso
1. ¿Encuentras difícil dejar de preocuparte por tus trabajos escolares, aunque lo
has intentado?
verdadero
2. ¿Has modificado tus horas de dormir por cumplir con tus trabajos escolares? verdadero
3. ¿Tardas en quedarte dormido, te despiertas varias veces durante la noche, o
despiertas antes de lo previsto?
verdadero
4. ¿Es complicado hablar de la situación escolar con tus padres por temor a los
resultados académicos?
verdadero
5. ¿Interfiere el sentimiento de preocupación o ansiedad por las actividades
escolares en tus actividades cotidianas de casa?
verdadero
6. ¿Has notado que buscas comer más cosas dulces cuando realizas actividades
escolares?
verdadero
7. ¿Te cuesta trabajo concentrarte para resolver tareas escolares? verdadero
8. ¿Te has sentido nervioso o estresado al estar presente durante las clases
virtuales?
verdadero
9. ¿Has dejado de convivir con tu familia o hecho a un lado algún pasatiempo por
cumplir con tus actividades escolares?
verdadero
10. ¿Te has sentido en general irritable, molesto o incómodo? verdadero
11. Cuando se menciona el tema de escuela o tareas ¿te incomodas y prefieres
evadirlo?
verdadero
12. ¿Has presentado dolor de cabeza, estómago, cansancio en extremidades o dolor
de espalda los últimos días?
verdadero
13. ¿Te has sentido desganado al realizar tus actividades académicas? verdadero
14. ¿Has tenido conflicto con tus padres o familia por la realización de las
actividades escolares?
verdadero
15. ¿Sientes que te hace falta tiempo para poder terminar y cumplir con tus
actividades?
verdadero
16. ¿Te identificas como una persona ansiosa? verdadero
17. ¿Te identificas como una persona estresada? verdadero
18. ¿Tienes computadora en tu casa? verdadero
19. Las personas más cercanas a ti y que dependes económicamente de ellos,
¿Tienen trabajo actual?
verdadero
20. ¿Cuántos hermanos tienes? 0,1,2,3,4,5,6,7,8,9,10,11,12 1
INFORMATICA 2 4
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 instrucciones 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 modo, definidos 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 se usan sólo en cuestiones relacionadas con las matemáticas. Si
bien el término algoritmo está 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 más 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 algoritmos, aun cuando no existían todavía ni la base teórica
ni el concepto de 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 término árabe Al-Khwārizmī, derivado de Quitab Al Jabr Al
Mugabala, el cual es el nombre con que se conocía a un 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 número limitado de 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
entrado 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 ser
procesado por una máquina.
Lamentablemente, Charles Babbage no pudo terminar su máquina analítica, por lo tanto, el algoritmo creado
por Ada Lovelace 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.
El otro gran salto de los algoritmos aplicados a las ciencias computacionales ocurrió unos cuantos años más
tarde, precisamente en el año 1900, cuando el matemático David Hilbert declaró algunas consideraciones
fundamentales acerca de la ciencia de las matemáticas, que llevaron a nuevos puntos de vista que más tarde serían
de mucha importancia para el desarrollo de nuevas tecnologías, como por ejemplo los trabajos llevados a cabo
por científicos como Alonzo Church, Alan Turing, Stephen Kleene o Emil Post.
INFORMATICA 2 5
Finalmente, las décadas de 1950 y 1960 fueron testigo
del nacimiento de muchos lenguajes de programación,
compiladores y sistemas operativos, que nos llevaron a
donde estamos hoy, todo gracias al trabajo realizado durante
siglos por matemáticos y científicos en torno a los algoritmos.
Que es un algoritmo
El término algoritmo proviene del idioma árabe
clásico “ḥisābu lḡubār”, luego trasformada al
latín “Alborarismus”, que según los expertos podría
traducirse como “cálculo mediante cifras arábigas”. El
origen del vocablo se remonta a la Edad Media, más
precisamente de la mano del matemático Al_ Khwarizmi, en
una zona de Asia Central hoy conocida como Uzbekistán, en
el Asia Central.
Básicamente, el algoritmo es una serie ordenada de
procesos o pasos que deben llevarse a cabo para alcanzar la
solución a 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 llevar 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 nuestra 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 podremos ver más abajo en este
mismo post.
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 hacerse el desayuno, o para solucionar
problemas en su jornada laboral, como por ejemplo programar lo que almorzará 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 a la perfección 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
INFORMATICA 2 6
que realizan los dispositivos sin que lo solicitemos.
Nuevamente si tomamos 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 queremos 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.
Algoritmo computacional
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 una serie de pasos, los que definitivamente conforman un algoritmo.
En este sentido, el algoritmo 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 de 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.
Características de un algoritmo
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 encontraremos los puntos fundamentales que debe cumplir un proceso para ser
considerado un verdadero algoritmo.
 Lo primero que debemos 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.
INFORMATICA 2 7
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:
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.
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.
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 encontraremos las características que debe tener cada fase de un algoritmo.
Entrada
Esta fase del algoritmo se corresponde con la data 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.
INFORMATICA 2 8
Como hacer un algoritmo
En el caso que necesitemos realizar nuestro propio algoritmo para poder resolver problemas o mejorar
algún proceso en nuestra actividad, lo podemos llevar a cabo de manera bastante sencilla, ya que lo único que
tenemos que hacer es poner claro que necesitamos y como lo podemos resolver.
Para ello debemos realizar la serie de pasos necesarios y sus derivaciones para poder llegar al resultado esperado
del problema que tenemos entre manos. Los pasos para definir y concretar nuestro algoritmo son los
siguientes:
 Primer paso: Análisis previo del problema o necesidad. Lo primero que tenemos 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 tenemos
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 nuestro problema, y que hemos identificado en el paso anterior.
 Cuarto paso: La creación del algoritmo. En este punto debemos asegurarnos 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.
 Sexto paso: Creación de las herramientas para llevar a cabo el algoritmo. En este último, y si pudimos
cumplimentar correctamente con todos los pasos anteriores, ya estaremos en posición para poder crear
las herramientas necesarias para poder ejecutar el algoritmo desarrollado. En el caso tratarse de un algoritmo
computacional, podemos desarrollar a través de cualquier lenguaje de programación un 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 hemos diseñado y poder ofrecer una solución a los requerimientos
identificados. En los casos en que se trate de un algoritmo no computacional, podemos 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 nuestra vida diaria podemos
encontrar decenas de ejemplos de algoritmos, los cuales la mayoría de las veces pasan desapercibidos para
todos nosotros.
Ejemplos de algoritmos en la vida diaria son 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 podamos realizar el proceso de digestión todos los días no es necesario
que sepamos como este 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.
INFORMATICA 2 9
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.
Comienzo
Paso 1 Escribir “¿Cuál es la edad?”
Paso 2 Leer “Edad”
Paso 3 Escribir “¿Cuál es la altura?
Paso 4 Leer “Altura”
Paso 5 Si (“Edad” >= 18 “Altura” >= 148) entonces
Paso 6 Escribir “Puede ingresar”
Paso 7 En caso contrario “si no”
Paso 8 Escribir “No puede ingresar”
Paso 9 Finalización de “Si”
FINAL
Actividad 1.- Contesta las siguientes preguntas:
1. ¿Qué es un algoritmo?
Un algoritmo informático es un conjunto de instrucciones definidas, ordenadas y acotadas para resolver un
problema, realizar un cálculo o desarrollar una tarea. Es decir, un algoritmo es un procedimiento paso a paso
para conseguir un fin. A partir de un estado e información iniciales, se siguen una serie de pasos ordenados
para llegar a la solución de una situación.
2. ¿Cuáles son las características de los algoritmos?
 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.
INFORMATICA 2 10
 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.
3. Da una breve historia de cómo surgen 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 algoritmos, aun cuando no existían todavía ni la base teórica
ni el concepto de 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 término árabe Al-Khwārizmī, derivado de Quitab Al Jabr Al Mugabala, el
cual es el nombre con que se conocía a un 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 número limitado
de procesos. Estos tratados fueron de mucha ayuda para desarrollar enunciados para sumas, restas,
multiplicaciones y divisiones de números decimales
4. Elabora un mapa Mental de las Partes de un algoritmo
Partes de un
algoritmo
INFORMATICA 2 11
5. Menciona los pasos para realizar un algoritmo (Cuadro Sinóptico)
6. Realiza el Algoritmo de como se elabora una jarra de agua de limón
 Tener un recipiente con capacidad de 2 litros
 Agregar agua hasta ¾ de su capacidad
 Partir limones a la mitad
 Agregar 150 gramos de azucar dentro de la jarra
 Exprimir los limones partidos dentro de la jarra
 Mientrasel azucar este disuelta:
 Revolver los ingredientes
 Agregar 5 cubos de hielo
Lectura
TIPOS DE ALGORITMOS
Cualitativos:Sonaquellosenlosquesedescribenlospasosutilizandopalabras.
 Son todos aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la
obtención de una respuesta o solución de un problema cualquier
Cuantitativos:Sonaquellosenlosqueseutilizancálculosnuméricosparadefinirlospasosdelproceso.
 Son aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado
satisfactorio
Tiposdealgoritmosderazonamiento:
AlgoritmosEstáticos:sonlosquefuncionansiempreigual,independientementedeltipodeproblematratado.
AlgoritmosAdaptativos:algoritmosconciertacapacidaddeaprendizaje.
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:
Pasos de un
algoritmo
Primer paso
Segundo paso
Tercer paso
Cuarto paso
Quinto paso
Sexto paso
Análisis previo del problema o necesidad
Definir los requerimientos
La identificación de los módulos
La creación del algoritmo
La implementación del algoritmo
Creación de las herramientas para llevar a cabo el algoritmo
INFORMATICA 2 12
 Algoritmos numéricos: que proporcionan una solución aproximada del problema.
 Algoritmos de Montecarlo: que pueden dar la respuesta correcta o respuesta 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.
Algoritmo Voraz: un algoritmo voraz es aquel que, para resolver un determinado problema, sigue una meta
heurística consistente 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.
Algoritmo Heurístico: es un algoritmo que abandona uno o ambos objetivos; por ejemplo, normalmente
encuentran buenas soluciones, aunque no hay pruebas 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 escalada: la idea básica consiste en comenzar con una mala solución a un determinado problema
y, repetidamente, aplicar optimizaciones a la misma hasta que esta sea óptima o satisfaga algún otro requisito.
Cienciasenqueseapoyalaalgoritmiaparaproducirsolucionesingeniosas!
 CienciasdelaComputación.
 Matemáticas.
 CienciasSociales.
 CienciasPolíticas.
¿Cómopodemosdeterminarlacomplejidaddeunalgoritmo?
No existe receta 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.
Loa algoritmos bien estructurados combinan las sentencias de alguna de las siguientes formas:
 Sentencias sencillas
 Secuencia (;)
 Decisión (if)
 Bucles
 Llamadas a procedimiento.
DATOS DE ALGORITMOS
Tipos de datos
Datos
El primer objetivo de toda computadora es el manejo de información o datos. Estos datos pueden ser las cifras
ventas de un supermercado 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).
 caracter (char, string).
INFORMATICA 2 13
Datos numéricos:
El tipo numérico es el conjunto de los valores numéricos. Estos pueden representarse en dos formas distintas:
- 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 denominan
números de punto fijo.
Ejemplo de números enteros son:
5 6 -15 4.20 17 1,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.41 3.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 sólo puede representar un
número fijo de dígitos. Este número puede variar de una máquina a otra, siendo ocho dígitos un número típico.
Este límite provocará problemas para representar y almacenar números muy grandes o muy pequeños como son
los ya citados o los siguientes: 4867213432 0.00000000387.
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í, 367520100000000000000.
se representa en notación científica, descomponiéndolo en grupos de tres dígitos.
367 520 100 000 000 000 000.
y posteriormente en forma de potencias de 10.
3.675201 x 10^19 y de modo similar.
.0000000000302579 se representa como.
3.02579 x 10^-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.675201x10^19 = .3675201x10^20 =
.03675201x10^21 = ,..., = 36.75201x10^18 = ...
En estas expresiones se considera la mantisa (parte decimal) al número real y el exponente (parte potencial) el de
la potencia de diez. 36.75201 mantisa 18 exponente.
Datos lógicos (booleanos).
El tipo lógico - también denominado booleano - es aquel dato que sólo puede tomar uno de dos valores:
Verdadero (true) o falso (false).
Este tipo de datos se utiliza para representar las alternativas (sí / no) a determinadas condiciones. Por ejemplo,
cuando se pide si un valor entero es par, la respuesta será verdadera o falsa, según sea 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 son estándar; sin embargo, la mayoría reconoce los
siguientes caracteres alfabéticos y numéricos:
- caracteres alfabéticos (A, B, C,..., Z).
INFORMATICA 2 14
- caracteres numéricos (1, 2, ..., 9).
- caracteres especiales (+, -, *, /, ^, ... , <, >, $, ...).
Una cadena (string) de caracteres es una sucesión de caracteres que se encuentran delimitados por una comilla
(apóstrofo) o dobles comillas, 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 computadora contienen 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án 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 de
apóstrofos; por ejemplo: ‘B’ ‘+’ ‘4’ ‘;’ ‘ ’’ ’.
Una secuencia de caracteres se denomina normalmente una cadena, y una constante tipo cadena es una cadena
encerrada entre apóstrofos. Por consiguiente: ‘José Luis García’. es constante de cadena válida. Si un apóstrofe
es uno de los caracteres en una constante de cadena, debe aparecer como un par de apóstrofos: ‘Jonhn’’s’.
Sólo existen dos constantes lógicas o booleanas: 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, caracter, lógicas y de
cadena.
Una variable que es de un cierto tipo puede tomar únicamente valores de ese tipo.
Una variable de caracter, por ejemplo, puede tomar como valor sólo caracteres, mientras que una variable entera
puede tomar sólo valores enteros.
Si se intenta asignar un valor de un tipo a una variable de otro tipo se producirá un error de tipo.
Una variable se identifica por los siguientes atributos: nombre que lo asigna y tipo que describe el uso de la
variable.
Los nombres de las variables, a veces conocidos como identificadores, suelen constar de varios caracteres
alfanuméricos de los cuales el primero normalmente es una letra. No se deben utilizar como nombres de
identificadores palabras reservadas del lenguaje de programación.
Nombres válidos de variables son:
A510.
Nombres.
Nombre_Apellidos.
Los nombres de las variables elegidas para el algoritmo o el programa deben ser significativos y tener relación
con el objeto que representan, como pueden ser los casos siguientes:
Nombre para representar nombres de personas.
Precios 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 un valor a las
variables: una es leer un valor para la variable mediante una operación de entrada; la otra manera es asignar un
valor a la variable por medio de una asignación. Cuando un programa solicita un valor para una variable hablamos
INFORMATICA 2 15
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 anterior se 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 de asignació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 expresión es 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
uso del símbolo = 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 de asignar 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 éstas se ejecutan, el valor último que toma A será 7 (los valores 124 y 18 han 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 son aritméticas:
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 * 3.4 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).
Actividad 3.- Completa el siguiente cuadro
INFORMATICA 2 16
Actividad 4.- Elabora un cuadro similar con los tipos de algoritmos de Razonamiento.
Tipos
de
Datos
Numéricos
Enteros
sin componentes
fraccionarios
Reales
entero y con parte
decimal
Lógicos
Falso no
Verdadero si
Carácter
Alfabéticos (A,B,C...V)
Numéricos 1,2,3,4,5...9999
Especiales ",!)=?¡]
Cadena
Es una sucecion de caracteres que se
encuentran delimitadospor una
comilla o doble comilla
INFORMATICA 2 17
Actividad 5.-Contesta las siguientes preguntas.
1. ¿Qué es una variable?
Una variable refiere, en una primer instancia, a cosas que son susceptibles de ser modificadas (de variar), de
cambiar en función de algún motivo determinado o indeterminado.
El término variable alude a las cosas de poca estabilidad, que en poco tiempo pueden tener fuertes
alteraciones o que nunca adquieren una constancia (muy frecuentemente sucede esto con el clima, o el
humor de una persona)
2. ¿Qué es una constante?
Constante es aquello que consta (que es manifiesto o está registrado) o que tiene constancia (certeza,
perseverancia). Algo constante es durable, reiterado o persistente.
Tipos
de
racionamiento
Algoritmos estaticos Funciona siempre igual
Algoritmos adoptivos
algoritmo con cierta capacidad de
aprendizaje
Algoritmos probabilistica
son algoritmos que no utilican valores
de verdad booleanos si no continuos
algoritmo cotidiano
es la serie de pasos que realizamos en
nuestra vida
algoritmo voraz
es aquel que para resolver un problema,
sigue una meta
algoritmo determinista
en terminos informales es
completamente predictivo si se conoce
sus entradas
algoritmo heuristico
algoritmo que abandona uno o ambos
objetivos
algoritmo de escala
consiste en comenzar con una mala
situacion a un determinado problema
INFORMATICA 2 18
3. ¿Cuál es la diferencia entre ellas?
Constante es un valor fijo. En Álgebra, una constante es un número por sí solo, o algunas veces una letra como
a, b o c que representan un número fijo. Variable Un símbolo para un número que aún no sabemos. Es
normalmente una letra como x o y.
Lectura
Qué son los operadores, qué son los operandos y cómo funcionan en 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 en los lenguajes de programación. Sin embargo, debes saber
que cada lenguaje puede aplicar unos símbolos determinados a 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 debes saber que pueden cambiar de lenguaje a lenguaje.
Qué son operadores
Antes de comenzar a ver cuáles son los operadores conviene explicar qué 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 también 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.
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 con 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.
INFORMATICA 2 19
Ahora presentamos una lista de operadores aritméticos, que generalmente se usan con los mismos símbolos en
todos los lenguajes, ya que nos vienen heredados de las matemáticas.
 + Suma
 - Resta
 * Multiplicación
 / División
 mod Modulo (residuo o resto de la división entera)
 ^ Elevar a una potencia
Muchos lenguajes como C, Java, Javascript, C# y otros usan el símbolo procentaje (%) para el operador módulo,
o resto de la división entera. Muchos lenguajes usan el operador con dos asteriscos (**) para elevar 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 encontramos varios operadores en una misma expresión los lenguajes de programación tendrán que
evaluarlos en un orden determinado. Ese orden lo 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 que 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 en los que exista este operador)
2. *, /, mod (Multiplicación, división, modulo)
3. +, - (Suma y resta)
En el caso en el que en una misma expresión se asocien operadores con igual nivel de prioridad, éstos 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 precedencia 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 qué 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 a fuera
 El paréntesis más interno se evalúa primero.
Ahora veamos ejemplos de asociatividad de operadores en sentencias más complejas, usando paréntesis para
marcar cómo queremos que se realice la precedencia:
INFORMATICA 2 20
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23
2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
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, que consiste en colocar una cadena a
continuación de otra.
Luego dependiendo del lenguaje puede funcionar o no el símbolo "-" para concatenar cadenas eliminando los
espacios en blanco.
Ejemplo de concatenación de cadenas
a = "hola"
b = "mundo"
c = a + b
Después del anterior código c valdrá "holamundo".
Fíjate que no hay un espacio entre medias porque el ordenador no sabe que son dos palabras. Simplemente le
estás pidiendo que las junte y como resultado tienes 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 compara estos valores entre si 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", que es la traducción
en inglés. De hecho true y false forman el conjunto de valores que definen a uno de los tipos habituales de la
programación, el tipo boleano.
Los operadores relacionales comparan generalmente valores del mismo tipo (numéricos con numéricos o cadenas
con cadenas). Pero también hay lenguajes de programación, como los que tienen tipado dinámico (Javascript,
PHP y otros) donde se permite comparar valores de tipos distintos.
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.
Tipos de operadores Relacionales
 > Mayor que
 < Menor que
 >= Mayor o igual que
 <= Menor o igual que
 < > Diferente
 == Igual
El símbolo "==" nos compara dos valores. No lo 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
INFORMATICA 2 21
Teniendo en cuenta los valores de las variables anteriores, veamos estos ejemplos y los resultados que se
producirían al combinar varios operadores.
a + b > 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
cómo 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 tipos distintos, por lo que los siguientes ejemplos no serían válidos:
a < b < c
10 < 20 < 30
T > 5 < 30
Operadores Lógicos
Estos operadores se utilizan para establecer relaciones entre valores lógicos. Los valores lógicos son los valores
boléanos:
 True (verdadero)
 False (falso)
Además, dado que los operadores relacionales tienen como resultado un operador lógico, que se deduce 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
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.
Operador Not
La operación NOT realiza el cambio al valor contrario. Si era verdadero pasa a falso y viceversa.
NOT T = F
NOT F = T
Operador And
La operación AND da como resultado verdadero cuando ambos operadores relacionados son verdadero. 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
INFORMATICA 2 22
F AND F = F
Operador Or Operador Or
La operación OR da verdadero cuando al menos uno de los dos operadores es verdadero. Si ambos operadores
son falsos, entonces da falso.
T OR T = T
T OR F = T
F OR T = T
F OR F = F
Prioridad de los Operadores Lógicos
El orden de precedencia 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
Como 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 tendremos que conocer la tabla de precendecia de operadores del 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 sus operandos. No obstante, todos siguen en la mayoría de los casos esquemas
similares.
A continuación te damos una tabla de precedencia clásica en la que aparecen distitos tipos de operadores, pero
sería bueno que consultases la del 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 suguientes 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
INFORMATICA 2 23
b = 2
x = a ** 2 donde x valdría 9
x = a / 2 donde x valdría 1.5
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 Que tal".
Relacionales
Ahora te ponemos un poco de pseudocódigo para los siguientes ejemplos de operadores.
Si x == a entonces
Instrucciones
Sino
Instrucciones
Fin si
Lógicos
Si !a entonces
La variable esta vacía
Fin si
Si
Actividad 6.- Da 6 ejemplos y Resuélvelo los respetando la jerarquía de los operadores y paso por paso
 Lavarse las manos.
Inicio
Abrimos la llave
Mojamos las manos
Aplicamos jabón
Enjuagamos
Cerramos la llave
Secamos las manos
fin
 El mayor de 2 números.
Inicio
Solicito n1
Guardo n1
Solicito n2
Guardo n2
Si n1>n2
Mayor n1
Si no
Mayor=n2
Imprimir mayor
fin
 Calcular el área de un triangulo
Inicio
Solicita b
Guardar valor de b
Solicita h
Guardar valor de h
A=(b*h)/2
Imprimir a
Fin
 Calcular el área de una circunferencia
Inicio
Pi=3.1416
Solicitar r
Guardar valor de r
A=pi(r*r)
Imprimir valor de a
fin
INFORMATICA 2 24
Actividad 7.- Realice la siguiente investigación.
 ¿Qué son los diagramas de flujo y para qué sirven?
 ¿Cuál es la simbología de los diagramas de flujo?
 De 5 ejemplos de diagrama de flujo ya resueltos
o El mayor 2 dos números
o El menos de 3 números
o Solicitando 2 números calcular la suma, multiplicación, división y resta de ellos
o Solicitando su edad calcular si es mayor de edad o es menor de edad
o Solicitando las calificaciones del primer, segundo y tercer parcial determinar si esta en final
o no.
Este trabajo deberán de entregarlo en hojas blancas a mano, con los siguientes elementos portada del
trabajo, índice, desarrollo, conclusiones personales, conclusiones del trabajo y fuente bibliográfica.
Actividad 8.- Complete el siguiente cuadro del software libre para diseñar diagramas de flujo
Software Sitio Web de descarga portada
 Agua de limón
Inicio
Tener un recipiente de 2 litros
Agregar agua hasta ¾ de su capacidad
Partir limones
Agregar azúcar dentro de la jarra
Exprimir los limones dentro de la jarra
Mientras el azúcar este disuelta:
Revolver los ingredientes
Agregar cubos de hielo
fin
 Solicitando un número, determinar si es positivo o
negativo
Inicio
Solicitar n1
Leer n1
Si n1>0 entonces
Escribe “El número es positivo”
Si no
Escribe “El número es negativo”
Fin
INFORMATICA 2 25
Dia http://dia-
installer.de/shapes/ER/index.html.es
yEd Graph
Editor
https://www.yworks.com/products/yed
CmapTools https://cmaptools.softonic.com/
Gliffy https://www.gliffy.com/
Jgraph https://github.com/jgraph
INFORMATICA 2 26
Sdedit
https://www.portalprogramas.com/sdedit/
Codigraf
https://www.portalprogramas.com/codigraf/
Lucidchart
Diagramas
https://www.lucidchart.com/pages/es/landing?utm_so
urce=google&utm_medium=cpc&utm_campaign=_c
hart_es_tier1_mixed_search_brand_bmm_&km_CP
C_CampaignId=1487565744&km_CPC_AdGroupID
=56488583894&km_CPC_Keyword=%2Blucid%20
%2Bchart&km_CPC_MatchType=b&km_CPC_Exte
nsionID=&km_CPC_Network=g&km_CPC_AdPositi
on=&km_CPC_Creative=284415941982&km_CPC_
TargetID=kwd-
311590324798&km_CPC_Country=9134027&km_CP
C_Device=c&km_CPC_placement=&km_CPC_targe
t=&gclid=EAIaIQobChMIzpWk_-
bF_gIV6gutBh1xLQSmEAAYASAAEgKVPPD_BwE
Google
Drawing https://chrome.google.com/webstore/detail/g
oogle-
drawings/mkaakpdehdafacodkgkpghoibnma
mcme
Dfd https://dfd.softonic.com/descargar
INFORMATICA 2 27
Lectura
¿Qué es el Pseudocódigo?
Cuando se trabaja e programación, antes de escribir nuestro programa, primero escribimos el pseudocódigo.
El pseudocódigo es una forma de escribir 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 en nuestro idioma, en el lenguaje humano y en español.
Una de las mayores dificultades con las que se encuentran los hispanoparlantes que empiezan a programar es el
idioma. Por eso es bueno utilizar el pseudocódigo, que ayuda a asimilar con más facilidad las ideas básicas.
Este pseudocó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 pseudocódigo".
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, PSeInt es una herramienta para asistir a un estudiante en sus primeros pasos en programación
mediante un simple e intuitivo pseudolenguaje en español (complementado con un editor de diagramas de
Flujo).
Fíjate en el ejemplo siguiente escrito en pseudocódigo:
INFORMATICA 2 28
¿Facil NO? No te preocupes iremos explicando todo paso a paso para que logres entenderlo.
Vamos a ver unas breves explicaciones de pseudocódigo, pero sobre todo ejemplos de pseudocódigo.
¿Cómo se escribe en Pseudocódigo? .
Como ya dijimos es un lenguaje intermedio entre el lenguaje de programación que usemos y el nuestro.
No hay unas reglas fijas para escribir en pseudocódigo, pero la mayoría de la gente usa más o menos el mismo
vocabulario.
Por ejemplo si queremos escribir algo en pantalla, en pseudocó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 siempre se pone entre comillas, los
número 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:
mostrar por pantalla "Hola"
Recuerda: Realmente el pseudocódigo lo podríamos escribir como nosotros quisiéramos, ya que realmente no es
el programa en sí, solo es una ayuda para posteriormente realizar el programa mediante el lenguaje de
programación que utilicemos.
Eso sí, el pseudocódigo es de gran ayuda. por no decir imprescindible.
Si sabes hacer el pseudocódigo del programa, pasarlo a cualquier lenguaje de programación es muy sencillo,
solo tendrás que aprender los comandos equivalentes a las instrucciones en pseudocódigo, normalmente muy
parecidas pero en ingles.
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 los sabes.
INFORMATICA 2 29
Sigamos hablando un poco más sobre el pseudocódigo.
Para especificar el principio y el fin del programa pondremos:
Inicio
Aquí iría el programa en pseudocódigo
Fin
Otra forma muy utilizada sería:
Proceso NombreDelPrograma
Aquí iría el programa en pseudocódigo
FinProceso o NombreDelPrograma
Por ejemplo:
Inicio
Escribir "Hola Mundo"
Fin
o También podría ser:
InicioPrimerPrograma
Escribir "Hola Mundo"
FinPrimerPrograma
Las 3 palabras más comunes que se usan en pseudocó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.
También podemos poner en lugar de escribir la palabra Mostrar.
En esta web no explicaremos las variables, las funciones, expresiones, etc. Si no sabes que son te
recomendamos que antes de segur 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:
Inicio
Escribir: "¿Cual es tu edad?
Leer Edad
Escribir "Tu edad es" + Edad
Fin
¿Qué haría?.
Pues muy sencillo, primero nos mostraría un mensaje en pantalla preguntándonos la edad, luego escribiríamos
la edad y el valor introducido lo recogería la variable Edad (imagina que introducimos 18).
Por último mostraría en pantalla la frase: Tu edad es 18. ¿Fácil no?
En programación real suele utilizarse la instrucción input en lugar de leer, pero ojo depende del lenguaje.
Calcular 3 x 5 --> Calcula valores numéricos.
El resultado se recoge normalmente dentro de una variable de la siguiente forma:
multi = 3 x 5; la variable multi tendrá en ese momento el valor de 3 x 5, es decir valdrá 15.
INFORMATICA 2 30
Y si ahora hacemos:
multi2 = multi x 2;
¿Qué valor tendrá la variable multi2?
Pues sencillo 30 (15 que es el valor de multi x 2).
Ejemplos de Pseudocódigo
1. Pseudocódigo para un programa que nos sume dos número introducidos por el teclado:
Inicio
Escribir "Introduce el primer número";
Lee numero1;
Escribir "Introduce el segundo número";
Leer numero2;
resultado= numero1 + numero2;
Escribir resultado;
Fin
Recuerda: cuando queremos escribir en pantalla una variable, como en este caso la variable resultado, no se
pone entre comillas.
Importante: cuando acabamos una instrucción siempre se pone ; antes de empezar la siguiente.
2. Pseudocódigo para un programa que nos diga la tabla de multiplicar del número que le digamos (introducido
por el teclado).
Programa: TablaMultiplicar
numericas: t, num , total;
Inicio
Escribir "Introduce un número"
Leer num
InicioDesde
Desde t=1 hasta t=10 repetir
hacer total = num*t
Escribir: total
finDesde
Fin
3. Escribir un Pseudocódigo de un programa que permita leer la edad y peso de una persona y posteriormente
imprimirla.
Inicio
VariablesNumericas: 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 o poniendo el signo + entre el texto y las
variables, como vimos anteriormente.
En el ejemplo anterior podríamos ser:
INFORMATICA 2 31
Escribir "Tu peso es: " + peso + " y tu edad es: " + edad.;
Sería lo mismo.
4. Escribir Pseudocódigo que calcule el área de un círculo.
Inicio
Constantes: Pi= 3.1416;
VariablesNumericas: radio, area;
Escribe: "Introduce el radio: "
Leer radio;
area= radio*radio*Pi;
Escribe "El área del circulo es: ", area;
Fin
Fíjate que aquí hemos definido una constante.
5. Escribir un Pseudocódigo que calcule el área de un triángulo recibiendo como entrada el valor de base y
altura.
Inicio
Variables Altura, Base, Area.
Escribir "Introduce la base y la altura: "
Leer base y peso.
area= (base*altura)/2.
Escribir "El area es: ", base.
Fin
6. Crear un pseudocódigo que proporcione el volumen de un cilindro, conocidos su altura y 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,141593
V = Pi * (R ^ 2) * H
Mostrar “El volumen del cilindro es de”, V, “metros cúbicos”
Fin
7. Elaborar 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 queramos de X.
Inicio
numericas: numx, numy;
Leer numx;
numy = 3*X + 2 + 7X – 15;
Escribir numy;
Fin
8. Pseudocó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
INFORMATICA 2 32
ESCRIBIR "es negativo"
FINSI
FINPROGRAMA
Aquí hemos utilizado la estructura SI...(se cumple la condición)...Hacer (Esto).
Esto es la condicional IF (en ingles).
9. Realizar el pseudocódigo de un programa que permita saber si un número es mayor, menor o igual a cero.
Programa: ComparaNúmeros
numerica: NUMERO
Escribir “Introduzca un número “
Leer NUMERO
INICIOSI
SI NUMERO>0 ENTONCES
escribir “El número introducido es positivo”
SI NO
SI NUMERO<0 ENTONCES
escribir “El número introducido es negativo”
SI NO
escribir “El número es cero”
FINSI
Finprograma
Aquí utilizamos la condicional si....esto sino...esto otro.
10. Crear un pseudocódigo que proporcione el precio medio de un producto, calculado 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 Precio1
Mostrar “Introduzca el precio del producto en el establecimiento número 2, en
euros” : Pedir Precio2
Mostrar “Introduzca el precio del producto en el establecimiento número 3, en
euros” : Pedir Precio3
Media = (Precio1 + Precio2 + Precio3) / 3
Mostrar “El precio medio del producto es”, Media, “Euros”
Fin

Más contenido relacionado

Similar a Algoritmos Informática 2

1 parcial info.pdf
1 parcial info.pdf1 parcial info.pdf
1 parcial info.pdfAnaOlvera44
 
Leopoldo Rojas Rico 205.pdf
Leopoldo Rojas Rico 205.pdfLeopoldo Rojas Rico 205.pdf
Leopoldo Rojas Rico 205.pdfLeopoldo41
 
Informática Francisco Pérez Hernández 2.5.docx
Informática Francisco Pérez Hernández 2.5.docxInformática Francisco Pérez Hernández 2.5.docx
Informática Francisco Pérez Hernández 2.5.docxCristopherAcosta5
 
Informática Francisco Pérez Hernández 2.5.docx
Informática Francisco Pérez Hernández 2.5.docxInformática Francisco Pérez Hernández 2.5.docx
Informática Francisco Pérez Hernández 2.5.docxCristopherAcosta5
 
Cuadernillo de Informatica I y II
Cuadernillo de Informatica I y IICuadernillo de Informatica I y II
Cuadernillo de Informatica I y IIAlexanderZM2
 
info proyecto cuadernillo 1 y 2 do parcial cpmm (1).pdf
info proyecto cuadernillo 1 y 2 do parcial cpmm (1).pdfinfo proyecto cuadernillo 1 y 2 do parcial cpmm (1).pdf
info proyecto cuadernillo 1 y 2 do parcial cpmm (1).pdfPaolaMartnez332809
 
MANUAL1ER Y 2DO PARCIAL.pdf
MANUAL1ER Y 2DO PARCIAL.pdfMANUAL1ER Y 2DO PARCIAL.pdf
MANUAL1ER Y 2DO PARCIAL.pdfsofia803845
 
Cuadernillo_de_Informatica.pdf
Cuadernillo_de_Informatica.pdfCuadernillo_de_Informatica.pdf
Cuadernillo_de_Informatica.pdfAngelVelzquez4
 
MANUAL DE PRIMER Y SEGUNDO PARCIAL MARIAN MTZ MTZ 204.docx
MANUAL DE PRIMER Y SEGUNDO PARCIAL MARIAN MTZ MTZ 204.docxMANUAL DE PRIMER Y SEGUNDO PARCIAL MARIAN MTZ MTZ 204.docx
MANUAL DE PRIMER Y SEGUNDO PARCIAL MARIAN MTZ MTZ 204.docxMarianAr25
 
Manual del primer parcial de informática 2.docx
Manual del primer parcial de informática 2.docxManual del primer parcial de informática 2.docx
Manual del primer parcial de informática 2.docxMarianAr25
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosSpacetoshare
 
Manual análisis de algoritmos
Manual análisis de algoritmosManual análisis de algoritmos
Manual análisis de algoritmosBeat Winehouse
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosJaro
 

Similar a Algoritmos Informática 2 (20)

1 parcial info.pdf
1 parcial info.pdf1 parcial info.pdf
1 parcial info.pdf
 
INFORMATICA 2.docx
INFORMATICA 2.docxINFORMATICA 2.docx
INFORMATICA 2.docx
 
k info.pdf
k info.pdfk info.pdf
k info.pdf
 
Leopoldo Rojas Rico 205.pdf
Leopoldo Rojas Rico 205.pdfLeopoldo Rojas Rico 205.pdf
Leopoldo Rojas Rico 205.pdf
 
Informática Francisco Pérez Hernández 2.5.docx
Informática Francisco Pérez Hernández 2.5.docxInformática Francisco Pérez Hernández 2.5.docx
Informática Francisco Pérez Hernández 2.5.docx
 
Informática Francisco Pérez Hernández 2.5.docx
Informática Francisco Pérez Hernández 2.5.docxInformática Francisco Pérez Hernández 2.5.docx
Informática Francisco Pérez Hernández 2.5.docx
 
Cuadernillo de Informatica I y II
Cuadernillo de Informatica I y IICuadernillo de Informatica I y II
Cuadernillo de Informatica I y II
 
info proyecto cuadernillo 1 y 2 do parcial cpmm (1).pdf
info proyecto cuadernillo 1 y 2 do parcial cpmm (1).pdfinfo proyecto cuadernillo 1 y 2 do parcial cpmm (1).pdf
info proyecto cuadernillo 1 y 2 do parcial cpmm (1).pdf
 
MANUAL1ER Y 2DO PARCIAL.pdf
MANUAL1ER Y 2DO PARCIAL.pdfMANUAL1ER Y 2DO PARCIAL.pdf
MANUAL1ER Y 2DO PARCIAL.pdf
 
Cuadernillo_de_Informatica.pdf
Cuadernillo_de_Informatica.pdfCuadernillo_de_Informatica.pdf
Cuadernillo_de_Informatica.pdf
 
Cuadernillo_de_Informatica
Cuadernillo_de_InformaticaCuadernillo_de_Informatica
Cuadernillo_de_Informatica
 
MANUAL DE PRIMER Y SEGUNDO PARCIAL MARIAN MTZ MTZ 204.docx
MANUAL DE PRIMER Y SEGUNDO PARCIAL MARIAN MTZ MTZ 204.docxMANUAL DE PRIMER Y SEGUNDO PARCIAL MARIAN MTZ MTZ 204.docx
MANUAL DE PRIMER Y SEGUNDO PARCIAL MARIAN MTZ MTZ 204.docx
 
Manual del primer parcial de informática 2.docx
Manual del primer parcial de informática 2.docxManual del primer parcial de informática 2.docx
Manual del primer parcial de informática 2.docx
 
Cuadernillo info 1 y 2.pdf
Cuadernillo info 1 y 2.pdfCuadernillo info 1 y 2.pdf
Cuadernillo info 1 y 2.pdf
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmos
 
Manual analisis-de-algoritmos
Manual analisis-de-algoritmosManual analisis-de-algoritmos
Manual analisis-de-algoritmos
 
Manual análisis de algoritmos
Manual análisis de algoritmosManual análisis de algoritmos
Manual análisis de algoritmos
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmos
 
manual 1 informatica
manual 1 informatica manual 1 informatica
manual 1 informatica
 
Clase 1.pptx
Clase 1.pptxClase 1.pptx
Clase 1.pptx
 

Último

Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 

Último (20)

Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 

Algoritmos Informática 2

  • 1. INFORMATICA 2 1 NOMBRE: ___________________________________ GRUPO: ______________ INFORMATICA 2 SEMESTRE 2023ª PLANTEL 7, “EL MARQUÉS” Propósito General de la Asignatura: Que el estudiante, como ciudadano digital, valore las Tecnologías de la Información y Comunicación, a través de la solución de problemas del contexto, de forma ética y responsable con herramientas básicas que permiten potenciar su desempeño en las actividades cotidianas, escolares o sociales. Temario  Bloque I. Algoritmos y diagramas de flujo o Conceptos básicos o Elementos o Manejo de software  Bloque II. Herramientas avanzadas de Software de Aplicación o Procesadores de texto  Combinación de correspondencia o Presentadores electrónicos o Hojas de cálculo  Funciones avanzadas  Bloque III. Software Educativo o Conceptos básicos o Clasificación o Uso de software libre y comercial de forma responsable o Descargas
  • 2. INFORMATICA 2 2 EXAMENES PARCIALES Fecha propuestas por la dirección Criterios de Evaluación Fecha para Informática 2, Luz del Carmen Ramírez Primer Parcial Del 13 al 17 de Marzo 24 entrega a control escolar 30 marzo entrega de boletas a padres de familia 50% Examen 25% T,T y P 25% Trabajo de Algoritmos Miércoles 1 Marzo Jueves 2 Marzo Segundo Parcial Del 8 al 12 de Mayo 19 entrega a control escolar 24 de Mayo entrega de boletas a padres de familia 45% Examen 20% T, T y P 35% Manual de Practicas Miércoles 3 de Mayo Miércoles 3 de Mayo Tercer Parcial Del 5 al 9 de Junio 12 entrega a control escolar 14 de Junio entrega de boletas a padres de familia 40% Examen 60% apuntes de Informática 2 y Manual de Practicas Lunes 5 Junio Martes 6 Junio Examen Final 15 al 21 de Junio 23 de junio termino del Semestre Entrega de Apuntes y Practicas del Semestre Días inhábiles 6 de Febrero, 20 de Marzo, Periodo Vacacional 3 al 18 de Abril, 28 de Abril, 1, 5 y 15 de Mayo, 10 Mayo para Mamás. Grupo 24 Grupo 25 Derecho a Examen Parcial sin excepción alguna 80% de tareas, trabajos y prácticas. 80% de Asistencia. Apegada al reglamente vigente. Derecho a Examen Final Entregar el proyecto final. 80% de tareas, trabajos y prácticas. 80% de Asistencia.
  • 3. INFORMATICA 2 3 Autoevaluación Diagnóstica ¿Cómo te sientes con tu situación escolar? Los resultados que obtendrás son un indicativo de situaciones mejorables con relación a situaciones emocionales relacionadas con vivencias de contexto escolar. Indicaciones: 1. Se honesto contigo mismo. 2. Contesta verdadero o falso, según lo que corresponda a tu realidad. 3. Analiza tu resultado. Pregunta Verdadero Falso 1. ¿Encuentras difícil dejar de preocuparte por tus trabajos escolares, aunque lo has intentado? verdadero 2. ¿Has modificado tus horas de dormir por cumplir con tus trabajos escolares? verdadero 3. ¿Tardas en quedarte dormido, te despiertas varias veces durante la noche, o despiertas antes de lo previsto? verdadero 4. ¿Es complicado hablar de la situación escolar con tus padres por temor a los resultados académicos? verdadero 5. ¿Interfiere el sentimiento de preocupación o ansiedad por las actividades escolares en tus actividades cotidianas de casa? verdadero 6. ¿Has notado que buscas comer más cosas dulces cuando realizas actividades escolares? verdadero 7. ¿Te cuesta trabajo concentrarte para resolver tareas escolares? verdadero 8. ¿Te has sentido nervioso o estresado al estar presente durante las clases virtuales? verdadero 9. ¿Has dejado de convivir con tu familia o hecho a un lado algún pasatiempo por cumplir con tus actividades escolares? verdadero 10. ¿Te has sentido en general irritable, molesto o incómodo? verdadero 11. Cuando se menciona el tema de escuela o tareas ¿te incomodas y prefieres evadirlo? verdadero 12. ¿Has presentado dolor de cabeza, estómago, cansancio en extremidades o dolor de espalda los últimos días? verdadero 13. ¿Te has sentido desganado al realizar tus actividades académicas? verdadero 14. ¿Has tenido conflicto con tus padres o familia por la realización de las actividades escolares? verdadero 15. ¿Sientes que te hace falta tiempo para poder terminar y cumplir con tus actividades? verdadero 16. ¿Te identificas como una persona ansiosa? verdadero 17. ¿Te identificas como una persona estresada? verdadero 18. ¿Tienes computadora en tu casa? verdadero 19. Las personas más cercanas a ti y que dependes económicamente de ellos, ¿Tienen trabajo actual? verdadero 20. ¿Cuántos hermanos tienes? 0,1,2,3,4,5,6,7,8,9,10,11,12 1
  • 4. INFORMATICA 2 4 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 instrucciones 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 modo, definidos 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 se usan sólo en cuestiones relacionadas con las matemáticas. Si bien el término algoritmo está 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 más 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 algoritmos, aun cuando no existían todavía ni la base teórica ni el concepto de 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 término árabe Al-Khwārizmī, derivado de Quitab Al Jabr Al Mugabala, el cual es el nombre con que se conocía a un 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 número limitado de 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 entrado 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 ser procesado por una máquina. Lamentablemente, Charles Babbage no pudo terminar su máquina analítica, por lo tanto, el algoritmo creado por Ada Lovelace 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. El otro gran salto de los algoritmos aplicados a las ciencias computacionales ocurrió unos cuantos años más tarde, precisamente en el año 1900, cuando el matemático David Hilbert declaró algunas consideraciones fundamentales acerca de la ciencia de las matemáticas, que llevaron a nuevos puntos de vista que más tarde serían de mucha importancia para el desarrollo de nuevas tecnologías, como por ejemplo los trabajos llevados a cabo por científicos como Alonzo Church, Alan Turing, Stephen Kleene o Emil Post.
  • 5. INFORMATICA 2 5 Finalmente, las décadas de 1950 y 1960 fueron testigo del nacimiento de muchos lenguajes de programación, compiladores y sistemas operativos, que nos llevaron a donde estamos hoy, todo gracias al trabajo realizado durante siglos por matemáticos y científicos en torno a los algoritmos. Que es un algoritmo El término algoritmo proviene del idioma árabe clásico “ḥisābu lḡubār”, luego trasformada al latín “Alborarismus”, que según los expertos podría traducirse como “cálculo mediante cifras arábigas”. El origen del vocablo se remonta a la Edad Media, más precisamente de la mano del matemático Al_ Khwarizmi, en una zona de Asia Central hoy conocida como Uzbekistán, en el Asia Central. Básicamente, el algoritmo es una serie ordenada de procesos o pasos que deben llevarse a cabo para alcanzar la solución a 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 llevar 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 nuestra 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 podremos ver más abajo en este mismo post. 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 hacerse el desayuno, o para solucionar problemas en su jornada laboral, como por ejemplo programar lo que almorzará 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 a la perfección 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
  • 6. INFORMATICA 2 6 que realizan los dispositivos sin que lo solicitemos. Nuevamente si tomamos 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 queremos 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. Algoritmo computacional 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 una serie de pasos, los que definitivamente conforman un algoritmo. En este sentido, el algoritmo 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 de 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. Características de un algoritmo 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 encontraremos los puntos fundamentales que debe cumplir un proceso para ser considerado un verdadero algoritmo.  Lo primero que debemos 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.
  • 7. INFORMATICA 2 7 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: 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. 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. 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 encontraremos las características que debe tener cada fase de un algoritmo. Entrada Esta fase del algoritmo se corresponde con la data 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.
  • 8. INFORMATICA 2 8 Como hacer un algoritmo En el caso que necesitemos realizar nuestro propio algoritmo para poder resolver problemas o mejorar algún proceso en nuestra actividad, lo podemos llevar a cabo de manera bastante sencilla, ya que lo único que tenemos que hacer es poner claro que necesitamos y como lo podemos resolver. Para ello debemos realizar la serie de pasos necesarios y sus derivaciones para poder llegar al resultado esperado del problema que tenemos entre manos. Los pasos para definir y concretar nuestro algoritmo son los siguientes:  Primer paso: Análisis previo del problema o necesidad. Lo primero que tenemos 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 tenemos 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 nuestro problema, y que hemos identificado en el paso anterior.  Cuarto paso: La creación del algoritmo. En este punto debemos asegurarnos 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.  Sexto paso: Creación de las herramientas para llevar a cabo el algoritmo. En este último, y si pudimos cumplimentar correctamente con todos los pasos anteriores, ya estaremos en posición para poder crear las herramientas necesarias para poder ejecutar el algoritmo desarrollado. En el caso tratarse de un algoritmo computacional, podemos desarrollar a través de cualquier lenguaje de programación un 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 hemos diseñado y poder ofrecer una solución a los requerimientos identificados. En los casos en que se trate de un algoritmo no computacional, podemos 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 nuestra vida diaria podemos encontrar decenas de ejemplos de algoritmos, los cuales la mayoría de las veces pasan desapercibidos para todos nosotros. Ejemplos de algoritmos en la vida diaria son 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 podamos realizar el proceso de digestión todos los días no es necesario que sepamos como este 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.
  • 9. INFORMATICA 2 9 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. Comienzo Paso 1 Escribir “¿Cuál es la edad?” Paso 2 Leer “Edad” Paso 3 Escribir “¿Cuál es la altura? Paso 4 Leer “Altura” Paso 5 Si (“Edad” >= 18 “Altura” >= 148) entonces Paso 6 Escribir “Puede ingresar” Paso 7 En caso contrario “si no” Paso 8 Escribir “No puede ingresar” Paso 9 Finalización de “Si” FINAL Actividad 1.- Contesta las siguientes preguntas: 1. ¿Qué es un algoritmo? Un algoritmo informático es un conjunto de instrucciones definidas, ordenadas y acotadas para resolver un problema, realizar un cálculo o desarrollar una tarea. Es decir, un algoritmo es un procedimiento paso a paso para conseguir un fin. A partir de un estado e información iniciales, se siguen una serie de pasos ordenados para llegar a la solución de una situación. 2. ¿Cuáles son las características de los algoritmos?  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.
  • 10. INFORMATICA 2 10  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. 3. Da una breve historia de cómo surgen 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 algoritmos, aun cuando no existían todavía ni la base teórica ni el concepto de 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 término árabe Al-Khwārizmī, derivado de Quitab Al Jabr Al Mugabala, el cual es el nombre con que se conocía a un 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 número limitado de procesos. Estos tratados fueron de mucha ayuda para desarrollar enunciados para sumas, restas, multiplicaciones y divisiones de números decimales 4. Elabora un mapa Mental de las Partes de un algoritmo Partes de un algoritmo
  • 11. INFORMATICA 2 11 5. Menciona los pasos para realizar un algoritmo (Cuadro Sinóptico) 6. Realiza el Algoritmo de como se elabora una jarra de agua de limón  Tener un recipiente con capacidad de 2 litros  Agregar agua hasta ¾ de su capacidad  Partir limones a la mitad  Agregar 150 gramos de azucar dentro de la jarra  Exprimir los limones partidos dentro de la jarra  Mientrasel azucar este disuelta:  Revolver los ingredientes  Agregar 5 cubos de hielo Lectura TIPOS DE ALGORITMOS Cualitativos:Sonaquellosenlosquesedescribenlospasosutilizandopalabras.  Son todos aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la obtención de una respuesta o solución de un problema cualquier Cuantitativos:Sonaquellosenlosqueseutilizancálculosnuméricosparadefinirlospasosdelproceso.  Son aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio Tiposdealgoritmosderazonamiento: AlgoritmosEstáticos:sonlosquefuncionansiempreigual,independientementedeltipodeproblematratado. AlgoritmosAdaptativos:algoritmosconciertacapacidaddeaprendizaje. 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: Pasos de un algoritmo Primer paso Segundo paso Tercer paso Cuarto paso Quinto paso Sexto paso Análisis previo del problema o necesidad Definir los requerimientos La identificación de los módulos La creación del algoritmo La implementación del algoritmo Creación de las herramientas para llevar a cabo el algoritmo
  • 12. INFORMATICA 2 12  Algoritmos numéricos: que proporcionan una solución aproximada del problema.  Algoritmos de Montecarlo: que pueden dar la respuesta correcta o respuesta 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. Algoritmo Voraz: un algoritmo voraz es aquel que, para resolver un determinado problema, sigue una meta heurística consistente 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. Algoritmo Heurístico: es un algoritmo que abandona uno o ambos objetivos; por ejemplo, normalmente encuentran buenas soluciones, aunque no hay pruebas 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 escalada: la idea básica consiste en comenzar con una mala solución a un determinado problema y, repetidamente, aplicar optimizaciones a la misma hasta que esta sea óptima o satisfaga algún otro requisito. Cienciasenqueseapoyalaalgoritmiaparaproducirsolucionesingeniosas!  CienciasdelaComputación.  Matemáticas.  CienciasSociales.  CienciasPolíticas. ¿Cómopodemosdeterminarlacomplejidaddeunalgoritmo? No existe receta 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. Loa algoritmos bien estructurados combinan las sentencias de alguna de las siguientes formas:  Sentencias sencillas  Secuencia (;)  Decisión (if)  Bucles  Llamadas a procedimiento. DATOS DE ALGORITMOS Tipos de datos Datos El primer objetivo de toda computadora es el manejo de información o datos. Estos datos pueden ser las cifras ventas de un supermercado 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).  caracter (char, string).
  • 13. INFORMATICA 2 13 Datos numéricos: El tipo numérico es el conjunto de los valores numéricos. Estos pueden representarse en dos formas distintas: - 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 denominan números de punto fijo. Ejemplo de números enteros son: 5 6 -15 4.20 17 1,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.41 3.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 sólo puede representar un número fijo de dígitos. Este número puede variar de una máquina a otra, siendo ocho dígitos un número típico. Este límite provocará problemas para representar y almacenar números muy grandes o muy pequeños como son los ya citados o los siguientes: 4867213432 0.00000000387. 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í, 367520100000000000000. se representa en notación científica, descomponiéndolo en grupos de tres dígitos. 367 520 100 000 000 000 000. y posteriormente en forma de potencias de 10. 3.675201 x 10^19 y de modo similar. .0000000000302579 se representa como. 3.02579 x 10^-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.675201x10^19 = .3675201x10^20 = .03675201x10^21 = ,..., = 36.75201x10^18 = ... En estas expresiones se considera la mantisa (parte decimal) al número real y el exponente (parte potencial) el de la potencia de diez. 36.75201 mantisa 18 exponente. Datos lógicos (booleanos). El tipo lógico - también denominado booleano - es aquel dato que sólo puede tomar uno de dos valores: Verdadero (true) o falso (false). Este tipo de datos se utiliza para representar las alternativas (sí / no) a determinadas condiciones. Por ejemplo, cuando se pide si un valor entero es par, la respuesta será verdadera o falsa, según sea 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 son estándar; sin embargo, la mayoría reconoce los siguientes caracteres alfabéticos y numéricos: - caracteres alfabéticos (A, B, C,..., Z).
  • 14. INFORMATICA 2 14 - caracteres numéricos (1, 2, ..., 9). - caracteres especiales (+, -, *, /, ^, ... , <, >, $, ...). Una cadena (string) de caracteres es una sucesión de caracteres que se encuentran delimitados por una comilla (apóstrofo) o dobles comillas, 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 computadora contienen 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án 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 de apóstrofos; por ejemplo: ‘B’ ‘+’ ‘4’ ‘;’ ‘ ’’ ’. Una secuencia de caracteres se denomina normalmente una cadena, y una constante tipo cadena es una cadena encerrada entre apóstrofos. Por consiguiente: ‘José Luis García’. es constante de cadena válida. Si un apóstrofe es uno de los caracteres en una constante de cadena, debe aparecer como un par de apóstrofos: ‘Jonhn’’s’. Sólo existen dos constantes lógicas o booleanas: 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, caracter, lógicas y de cadena. Una variable que es de un cierto tipo puede tomar únicamente valores de ese tipo. Una variable de caracter, por ejemplo, puede tomar como valor sólo caracteres, mientras que una variable entera puede tomar sólo valores enteros. Si se intenta asignar un valor de un tipo a una variable de otro tipo se producirá un error de tipo. Una variable se identifica por los siguientes atributos: nombre que lo asigna y tipo que describe el uso de la variable. Los nombres de las variables, a veces conocidos como identificadores, suelen constar de varios caracteres alfanuméricos de los cuales el primero normalmente es una letra. No se deben utilizar como nombres de identificadores palabras reservadas del lenguaje de programación. Nombres válidos de variables son: A510. Nombres. Nombre_Apellidos. Los nombres de las variables elegidas para el algoritmo o el programa deben ser significativos y tener relación con el objeto que representan, como pueden ser los casos siguientes: Nombre para representar nombres de personas. Precios 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 un valor a las variables: una es leer un valor para la variable mediante una operación de entrada; la otra manera es asignar un valor a la variable por medio de una asignación. Cuando un programa solicita un valor para una variable hablamos
  • 15. INFORMATICA 2 15 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 anterior se 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 de asignació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 expresión es 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 uso del símbolo = 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 de asignar 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 éstas se ejecutan, el valor último que toma A será 7 (los valores 124 y 18 han 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 son aritméticas: 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 * 3.4 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). Actividad 3.- Completa el siguiente cuadro
  • 16. INFORMATICA 2 16 Actividad 4.- Elabora un cuadro similar con los tipos de algoritmos de Razonamiento. Tipos de Datos Numéricos Enteros sin componentes fraccionarios Reales entero y con parte decimal Lógicos Falso no Verdadero si Carácter Alfabéticos (A,B,C...V) Numéricos 1,2,3,4,5...9999 Especiales ",!)=?¡] Cadena Es una sucecion de caracteres que se encuentran delimitadospor una comilla o doble comilla
  • 17. INFORMATICA 2 17 Actividad 5.-Contesta las siguientes preguntas. 1. ¿Qué es una variable? Una variable refiere, en una primer instancia, a cosas que son susceptibles de ser modificadas (de variar), de cambiar en función de algún motivo determinado o indeterminado. El término variable alude a las cosas de poca estabilidad, que en poco tiempo pueden tener fuertes alteraciones o que nunca adquieren una constancia (muy frecuentemente sucede esto con el clima, o el humor de una persona) 2. ¿Qué es una constante? Constante es aquello que consta (que es manifiesto o está registrado) o que tiene constancia (certeza, perseverancia). Algo constante es durable, reiterado o persistente. Tipos de racionamiento Algoritmos estaticos Funciona siempre igual Algoritmos adoptivos algoritmo con cierta capacidad de aprendizaje Algoritmos probabilistica son algoritmos que no utilican valores de verdad booleanos si no continuos algoritmo cotidiano es la serie de pasos que realizamos en nuestra vida algoritmo voraz es aquel que para resolver un problema, sigue una meta algoritmo determinista en terminos informales es completamente predictivo si se conoce sus entradas algoritmo heuristico algoritmo que abandona uno o ambos objetivos algoritmo de escala consiste en comenzar con una mala situacion a un determinado problema
  • 18. INFORMATICA 2 18 3. ¿Cuál es la diferencia entre ellas? Constante es un valor fijo. En Álgebra, una constante es un número por sí solo, o algunas veces una letra como a, b o c que representan un número fijo. Variable Un símbolo para un número que aún no sabemos. Es normalmente una letra como x o y. Lectura Qué son los operadores, qué son los operandos y cómo funcionan en 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 en los lenguajes de programación. Sin embargo, debes saber que cada lenguaje puede aplicar unos símbolos determinados a 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 debes saber que pueden cambiar de lenguaje a lenguaje. Qué son operadores Antes de comenzar a ver cuáles son los operadores conviene explicar qué 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 también 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. 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 con 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.
  • 19. INFORMATICA 2 19 Ahora presentamos una lista de operadores aritméticos, que generalmente se usan con los mismos símbolos en todos los lenguajes, ya que nos vienen heredados de las matemáticas.  + Suma  - Resta  * Multiplicación  / División  mod Modulo (residuo o resto de la división entera)  ^ Elevar a una potencia Muchos lenguajes como C, Java, Javascript, C# y otros usan el símbolo procentaje (%) para el operador módulo, o resto de la división entera. Muchos lenguajes usan el operador con dos asteriscos (**) para elevar 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 encontramos varios operadores en una misma expresión los lenguajes de programación tendrán que evaluarlos en un orden determinado. Ese orden lo 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 que 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 en los que exista este operador) 2. *, /, mod (Multiplicación, división, modulo) 3. +, - (Suma y resta) En el caso en el que en una misma expresión se asocien operadores con igual nivel de prioridad, éstos 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 precedencia 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 qué 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 a fuera  El paréntesis más interno se evalúa primero. Ahora veamos ejemplos de asociatividad de operadores en sentencias más complejas, usando paréntesis para marcar cómo queremos que se realice la precedencia:
  • 20. INFORMATICA 2 20 4 + 2 * 5 = 14 23 * 2 / 5 = 9.2 3 + 5 * (10 - (2 + 4)) = 23 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98 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, que consiste en colocar una cadena a continuación de otra. Luego dependiendo del lenguaje puede funcionar o no el símbolo "-" para concatenar cadenas eliminando los espacios en blanco. Ejemplo de concatenación de cadenas a = "hola" b = "mundo" c = a + b Después del anterior código c valdrá "holamundo". Fíjate que no hay un espacio entre medias porque el ordenador no sabe que son dos palabras. Simplemente le estás pidiendo que las junte y como resultado tienes 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 compara estos valores entre si 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", que es la traducción en inglés. De hecho true y false forman el conjunto de valores que definen a uno de los tipos habituales de la programación, el tipo boleano. Los operadores relacionales comparan generalmente valores del mismo tipo (numéricos con numéricos o cadenas con cadenas). Pero también hay lenguajes de programación, como los que tienen tipado dinámico (Javascript, PHP y otros) donde se permite comparar valores de tipos distintos. 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. Tipos de operadores Relacionales  > Mayor que  < Menor que  >= Mayor o igual que  <= Menor o igual que  < > Diferente  == Igual El símbolo "==" nos compara dos valores. No lo 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
  • 21. INFORMATICA 2 21 Teniendo en cuenta los valores de las variables anteriores, veamos estos ejemplos y los resultados que se producirían al combinar varios operadores. a + b > 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 cómo 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 tipos distintos, por lo que los siguientes ejemplos no serían válidos: a < b < c 10 < 20 < 30 T > 5 < 30 Operadores Lógicos Estos operadores se utilizan para establecer relaciones entre valores lógicos. Los valores lógicos son los valores boléanos:  True (verdadero)  False (falso) Además, dado que los operadores relacionales tienen como resultado un operador lógico, que se deduce 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 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. Operador Not La operación NOT realiza el cambio al valor contrario. Si era verdadero pasa a falso y viceversa. NOT T = F NOT F = T Operador And La operación AND da como resultado verdadero cuando ambos operadores relacionados son verdadero. 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
  • 22. INFORMATICA 2 22 F AND F = F Operador Or Operador Or La operación OR da verdadero cuando al menos uno de los dos operadores es verdadero. Si ambos operadores son falsos, entonces da falso. T OR T = T T OR F = T F OR T = T F OR F = F Prioridad de los Operadores Lógicos El orden de precedencia 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 Como 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 tendremos que conocer la tabla de precendecia de operadores del 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 sus operandos. No obstante, todos siguen en la mayoría de los casos esquemas similares. A continuación te damos una tabla de precedencia clásica en la que aparecen distitos tipos de operadores, pero sería bueno que consultases la del 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 suguientes 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
  • 23. INFORMATICA 2 23 b = 2 x = a ** 2 donde x valdría 9 x = a / 2 donde x valdría 1.5 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 Que tal". Relacionales Ahora te ponemos un poco de pseudocódigo para los siguientes ejemplos de operadores. Si x == a entonces Instrucciones Sino Instrucciones Fin si Lógicos Si !a entonces La variable esta vacía Fin si Si Actividad 6.- Da 6 ejemplos y Resuélvelo los respetando la jerarquía de los operadores y paso por paso  Lavarse las manos. Inicio Abrimos la llave Mojamos las manos Aplicamos jabón Enjuagamos Cerramos la llave Secamos las manos fin  El mayor de 2 números. Inicio Solicito n1 Guardo n1 Solicito n2 Guardo n2 Si n1>n2 Mayor n1 Si no Mayor=n2 Imprimir mayor fin  Calcular el área de un triangulo Inicio Solicita b Guardar valor de b Solicita h Guardar valor de h A=(b*h)/2 Imprimir a Fin  Calcular el área de una circunferencia Inicio Pi=3.1416 Solicitar r Guardar valor de r A=pi(r*r) Imprimir valor de a fin
  • 24. INFORMATICA 2 24 Actividad 7.- Realice la siguiente investigación.  ¿Qué son los diagramas de flujo y para qué sirven?  ¿Cuál es la simbología de los diagramas de flujo?  De 5 ejemplos de diagrama de flujo ya resueltos o El mayor 2 dos números o El menos de 3 números o Solicitando 2 números calcular la suma, multiplicación, división y resta de ellos o Solicitando su edad calcular si es mayor de edad o es menor de edad o Solicitando las calificaciones del primer, segundo y tercer parcial determinar si esta en final o no. Este trabajo deberán de entregarlo en hojas blancas a mano, con los siguientes elementos portada del trabajo, índice, desarrollo, conclusiones personales, conclusiones del trabajo y fuente bibliográfica. Actividad 8.- Complete el siguiente cuadro del software libre para diseñar diagramas de flujo Software Sitio Web de descarga portada  Agua de limón Inicio Tener un recipiente de 2 litros Agregar agua hasta ¾ de su capacidad Partir limones Agregar azúcar dentro de la jarra Exprimir los limones dentro de la jarra Mientras el azúcar este disuelta: Revolver los ingredientes Agregar cubos de hielo fin  Solicitando un número, determinar si es positivo o negativo Inicio Solicitar n1 Leer n1 Si n1>0 entonces Escribe “El número es positivo” Si no Escribe “El número es negativo” Fin
  • 25. INFORMATICA 2 25 Dia http://dia- installer.de/shapes/ER/index.html.es yEd Graph Editor https://www.yworks.com/products/yed CmapTools https://cmaptools.softonic.com/ Gliffy https://www.gliffy.com/ Jgraph https://github.com/jgraph
  • 27. INFORMATICA 2 27 Lectura ¿Qué es el Pseudocódigo? Cuando se trabaja e programación, antes de escribir nuestro programa, primero escribimos el pseudocódigo. El pseudocódigo es una forma de escribir 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 en nuestro idioma, en el lenguaje humano y en español. Una de las mayores dificultades con las que se encuentran los hispanoparlantes que empiezan a programar es el idioma. Por eso es bueno utilizar el pseudocódigo, que ayuda a asimilar con más facilidad las ideas básicas. Este pseudocó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 pseudocódigo". 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, PSeInt es una herramienta para asistir a un estudiante en sus primeros pasos en programación mediante un simple e intuitivo pseudolenguaje en español (complementado con un editor de diagramas de Flujo). Fíjate en el ejemplo siguiente escrito en pseudocódigo:
  • 28. INFORMATICA 2 28 ¿Facil NO? No te preocupes iremos explicando todo paso a paso para que logres entenderlo. Vamos a ver unas breves explicaciones de pseudocódigo, pero sobre todo ejemplos de pseudocódigo. ¿Cómo se escribe en Pseudocódigo? . Como ya dijimos es un lenguaje intermedio entre el lenguaje de programación que usemos y el nuestro. No hay unas reglas fijas para escribir en pseudocódigo, pero la mayoría de la gente usa más o menos el mismo vocabulario. Por ejemplo si queremos escribir algo en pantalla, en pseudocó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 siempre se pone entre comillas, los número 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: mostrar por pantalla "Hola" Recuerda: Realmente el pseudocódigo lo podríamos escribir como nosotros quisiéramos, ya que realmente no es el programa en sí, solo es una ayuda para posteriormente realizar el programa mediante el lenguaje de programación que utilicemos. Eso sí, el pseudocódigo es de gran ayuda. por no decir imprescindible. Si sabes hacer el pseudocódigo del programa, pasarlo a cualquier lenguaje de programación es muy sencillo, solo tendrás que aprender los comandos equivalentes a las instrucciones en pseudocódigo, normalmente muy parecidas pero en ingles. 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 los sabes.
  • 29. INFORMATICA 2 29 Sigamos hablando un poco más sobre el pseudocódigo. Para especificar el principio y el fin del programa pondremos: Inicio Aquí iría el programa en pseudocódigo Fin Otra forma muy utilizada sería: Proceso NombreDelPrograma Aquí iría el programa en pseudocódigo FinProceso o NombreDelPrograma Por ejemplo: Inicio Escribir "Hola Mundo" Fin o También podría ser: InicioPrimerPrograma Escribir "Hola Mundo" FinPrimerPrograma Las 3 palabras más comunes que se usan en pseudocó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. También podemos poner en lugar de escribir la palabra Mostrar. En esta web no explicaremos las variables, las funciones, expresiones, etc. Si no sabes que son te recomendamos que antes de segur 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: Inicio Escribir: "¿Cual es tu edad? Leer Edad Escribir "Tu edad es" + Edad Fin ¿Qué haría?. Pues muy sencillo, primero nos mostraría un mensaje en pantalla preguntándonos la edad, luego escribiríamos la edad y el valor introducido lo recogería la variable Edad (imagina que introducimos 18). Por último mostraría en pantalla la frase: Tu edad es 18. ¿Fácil no? En programación real suele utilizarse la instrucción input en lugar de leer, pero ojo depende del lenguaje. Calcular 3 x 5 --> Calcula valores numéricos. El resultado se recoge normalmente dentro de una variable de la siguiente forma: multi = 3 x 5; la variable multi tendrá en ese momento el valor de 3 x 5, es decir valdrá 15.
  • 30. INFORMATICA 2 30 Y si ahora hacemos: multi2 = multi x 2; ¿Qué valor tendrá la variable multi2? Pues sencillo 30 (15 que es el valor de multi x 2). Ejemplos de Pseudocódigo 1. Pseudocódigo para un programa que nos sume dos número introducidos por el teclado: Inicio Escribir "Introduce el primer número"; Lee numero1; Escribir "Introduce el segundo número"; Leer numero2; resultado= numero1 + numero2; Escribir resultado; Fin Recuerda: cuando queremos escribir en pantalla una variable, como en este caso la variable resultado, no se pone entre comillas. Importante: cuando acabamos una instrucción siempre se pone ; antes de empezar la siguiente. 2. Pseudocódigo para un programa que nos diga la tabla de multiplicar del número que le digamos (introducido por el teclado). Programa: TablaMultiplicar numericas: t, num , total; Inicio Escribir "Introduce un número" Leer num InicioDesde Desde t=1 hasta t=10 repetir hacer total = num*t Escribir: total finDesde Fin 3. Escribir un Pseudocódigo de un programa que permita leer la edad y peso de una persona y posteriormente imprimirla. Inicio VariablesNumericas: 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 o poniendo el signo + entre el texto y las variables, como vimos anteriormente. En el ejemplo anterior podríamos ser:
  • 31. INFORMATICA 2 31 Escribir "Tu peso es: " + peso + " y tu edad es: " + edad.; Sería lo mismo. 4. Escribir Pseudocódigo que calcule el área de un círculo. Inicio Constantes: Pi= 3.1416; VariablesNumericas: radio, area; Escribe: "Introduce el radio: " Leer radio; area= radio*radio*Pi; Escribe "El área del circulo es: ", area; Fin Fíjate que aquí hemos definido una constante. 5. Escribir un Pseudocódigo que calcule el área de un triángulo recibiendo como entrada el valor de base y altura. Inicio Variables Altura, Base, Area. Escribir "Introduce la base y la altura: " Leer base y peso. area= (base*altura)/2. Escribir "El area es: ", base. Fin 6. Crear un pseudocódigo que proporcione el volumen de un cilindro, conocidos su altura y 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,141593 V = Pi * (R ^ 2) * H Mostrar “El volumen del cilindro es de”, V, “metros cúbicos” Fin 7. Elaborar 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 queramos de X. Inicio numericas: numx, numy; Leer numx; numy = 3*X + 2 + 7X – 15; Escribir numy; Fin 8. Pseudocó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
  • 32. INFORMATICA 2 32 ESCRIBIR "es negativo" FINSI FINPROGRAMA Aquí hemos utilizado la estructura SI...(se cumple la condición)...Hacer (Esto). Esto es la condicional IF (en ingles). 9. Realizar el pseudocódigo de un programa que permita saber si un número es mayor, menor o igual a cero. Programa: ComparaNúmeros numerica: NUMERO Escribir “Introduzca un número “ Leer NUMERO INICIOSI SI NUMERO>0 ENTONCES escribir “El número introducido es positivo” SI NO SI NUMERO<0 ENTONCES escribir “El número introducido es negativo” SI NO escribir “El número es cero” FINSI Finprograma Aquí utilizamos la condicional si....esto sino...esto otro. 10. Crear un pseudocódigo que proporcione el precio medio de un producto, calculado 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 Precio1 Mostrar “Introduzca el precio del producto en el establecimiento número 2, en euros” : Pedir Precio2 Mostrar “Introduzca el precio del producto en el establecimiento número 3, en euros” : Pedir Precio3 Media = (Precio1 + Precio2 + Precio3) / 3 Mostrar “El precio medio del producto es”, Media, “Euros” Fin