SlideShare una empresa de Scribd logo
1 de 28
INFORMATICA 2 1
NOMBRE: _Olguín Pérez José Santiago __________________________________ 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?
F
2. ¿Has modificado tus horas de dormir por cumplir con tus trabajos escolares? V
3. ¿Tardas en quedarte dormido, te despiertas varias veces durante la noche, o
despiertas antes de lo previsto?
V
4. ¿Es complicado hablar de la situación escolar con tus padres por temor a los
resultados académicos?
V
5. ¿Interfiere el sentimiento de preocupación o ansiedad por las actividades
escolares en tus actividades cotidianas de casa?
F
6. ¿Has notado que buscas comer más cosas dulces cuando realizas actividades
escolares?
V
7. ¿Te cuesta trabajo concentrarte para resolver tareas escolares? F
8. ¿Te has sentido nervioso o estresado al estar presente durante las clases
virtuales?
V
9. ¿Has dejado de convivir con tu familia o hecho a un lado algún pasatiempo por
cumplir con tus actividades escolares?
V
10. ¿Te has sentido en general irritable, molesto o incómodo? F
11. Cuando se menciona el tema de escuela o tareas ¿te incomodas y prefieres
evadirlo?
V
12. ¿Has presentado dolor de cabeza, estómago, cansancio en extremidades o dolor
de espalda los últimos días?
V F
13. ¿Te has sentido desganado al realizar tus actividades académicas? V
14. ¿Has tenido conflicto con tus padres o familia por la realización de las
actividades escolares?
V
15. ¿Sientes que te hace falta tiempo para poder terminar y cumplir con tus
actividades?
F
16. ¿Te identificas como una persona ansiosa? V
17. ¿Te identificas como una persona estresada? V
18. ¿Tienes computadora en tu casa? F
Las personas más cercanas a ti y que dependes económicamente de ellos,
¿Tienen trabajo actual?
F
19. ¿Cuántos hermanos tienes? 0,1,2,3,4,5,6,7,8,9,10,11,12 V
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?
Es una acción qué nos permite llevar acabo una tarea o encontrar la solución o un determinante problema
2. ¿Cuáles son las características de los algoritmos?
Se usan solo en cuestiones relacionadas con la matemática se van mucho más de lo que creemos
3. Da una breve historia de cómo surgen los algoritmos
En tiempos antiguos los algoritmos ya se utilizaban para resolver muchos de los problemas matemáticos
como las raíces cuadradas y las multiplicaciones
INFORMATICA 2 10
4. Elabora un mapa Mental de las Partes de un algoritmo
5. Menciona los pasos para realizar un algoritmo (Cuadro Sinóptico)
Primero se debe poner inicio después la operación me temática qué quieran realizar (ejemplo) base, altura
después el procedimiento u formula 0ara realizar la operación después imprimir el resultado
6. Realiza el Algoritmo de como se elabora una jarra de agua de limón
INFORMATICA 2 11
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:
 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
INFORMATICA 2 12
 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).
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 = ...
INFORMATICA 2 13
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).
- 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.
INFORMATICA 2 14
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
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).
INFORMATICA 2 15
Actividad 3.- Completa el siguiente cuadro
Actividad 4.- Elabora un cuadro similar con los tipos de algoritmos de Razonamiento.
Actividad 5.-Contesta las siguientes preguntas.
1. ¿Qué es una variable?
Esta sujeta a cambios frecuentes o probables
2. ¿Qué es una constante?
Qué no se interrumpe y persiste el estudio
3. ¿Cuál es la diferencia entre ellas?
Qué la constante ya tiene asignado u número y la variable puede cambiar
Tipos
de
Datos Numéricos
Enteros
Reales
Lógicos
Falso
Verdadero
Carácter
Alfabéticos
Numéricos
Especiales
Cadena
INFORMATICA 2 16
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.
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.
INFORMATICA 2 17
 + 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:
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
INFORMATICA 2 18
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
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
INFORMATICA 2 19
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
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.
INFORMATICA 2 20
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
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
INFORMATICA 2 21
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
Hola b qué tal x=a+b Si x= a entonces
X=a+b Entonces
Mayor que 2 dos números Menor que 3 numeros
A+b-c Hola qué tal
INFORMATICA 2 22
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
Dia http://dia-
installer.de/shapes/ER/index.html.es
yEd Graph Editor Hhtps:///meetofcial. Com
CmapTools https://google
Gliffy https:// us.docworkspace.com
Jgraph https://jgraph63official
Sdedit https:// sedeit/installer. Com
Codigraf https://codicraft
Lucidchart
Diagramas
https://lucidichartfiagramas
Google Drawing Hhtps://google drawing
Dfd https://dfd.softonic.com/descargar
Lectura
¿Qué es el Pseudocódigo?
Cuando se trabaja e programación, antes de escribir nuestro programa, primero escribimos el pseudocódigo.
INFORMATICA 2 23
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 24
¿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.
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
INFORMATICA 2 25
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.
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
INFORMATICA 2 26
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:
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.
INFORMATICA 2 27
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
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
INFORMATICA 2 28
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 Informática 2: Algoritmos, herramientas y evaluación

Cuadernillo de Informatica I y II
Cuadernillo de Informatica I y IICuadernillo de Informatica I y II
Cuadernillo de Informatica I y IIAlexanderZM2
 
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
 
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
 
Leopoldo Rojas Rico 205.pdf
Leopoldo Rojas Rico 205.pdfLeopoldo Rojas Rico 205.pdf
Leopoldo Rojas Rico 205.pdfLeopoldo41
 
GaelJuarezMolina 205 manuales informatica
GaelJuarezMolina 205 manuales informaticaGaelJuarezMolina 205 manuales informatica
GaelJuarezMolina 205 manuales informaticagaeljuarezmolina
 
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
 
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
 
Cuadernillo digital para informatica II.pdf
Cuadernillo digital para informatica II.pdfCuadernillo digital para informatica II.pdf
Cuadernillo digital para informatica II.pdfluisinsv
 
TIC en el Diseño, Desarrollo y Gerencia del Currículo
TIC en el Diseño, Desarrollo y Gerencia del CurrículoTIC en el Diseño, Desarrollo y Gerencia del Currículo
TIC en el Diseño, Desarrollo y Gerencia del CurrículoHector Conde
 

Similar a Informática 2: Algoritmos, herramientas y evaluación (20)

Cuadernillo de Informatica I y II
Cuadernillo de Informatica I y IICuadernillo de Informatica I y II
Cuadernillo de Informatica I y II
 
k info.pdf
k info.pdfk info.pdf
k info.pdf
 
Cuadernillo_de_Informatica
Cuadernillo_de_InformaticaCuadernillo_de_Informatica
Cuadernillo_de_Informatica
 
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
 
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
 
Leopoldo Rojas Rico 205.pdf
Leopoldo Rojas Rico 205.pdfLeopoldo Rojas Rico 205.pdf
Leopoldo Rojas Rico 205.pdf
 
alejandro 1.docx
alejandro 1.docxalejandro 1.docx
alejandro 1.docx
 
GaelJuarezMolina 205 manuales informatica
GaelJuarezMolina 205 manuales informaticaGaelJuarezMolina 205 manuales informatica
GaelJuarezMolina 205 manuales informatica
 
Informatica manual 1 y 2.docx
Informatica manual 1 y 2.docxInformatica manual 1 y 2.docx
Informatica manual 1 y 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
 
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
 
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
 
Telematica Eicea
Telematica EiceaTelematica Eicea
Telematica Eicea
 
Clase 1.pptx
Clase 1.pptxClase 1.pptx
Clase 1.pptx
 
Cuadernillo digital para informatica II.pdf
Cuadernillo digital para informatica II.pdfCuadernillo digital para informatica II.pdf
Cuadernillo digital para informatica II.pdf
 
T.f.r.alvaros
T.f.r.alvarosT.f.r.alvaros
T.f.r.alvaros
 
T.f.r.alvaros
T.f.r.alvarosT.f.r.alvaros
T.f.r.alvaros
 
TIC en el Diseño, Desarrollo y Gerencia del Currículo
TIC en el Diseño, Desarrollo y Gerencia del CurrículoTIC en el Diseño, Desarrollo y Gerencia del Currículo
TIC en el Diseño, Desarrollo y Gerencia del Currículo
 

Último

presentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptpresentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptMelina Alama Visitacion
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticJamithGarcia1
 
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
Novelas Turcas vs Series de EUA en audiencia  (2024).pdfNovelas Turcas vs Series de EUA en audiencia  (2024).pdf
Novelas Turcas vs Series de EUA en audiencia (2024).pdfJC Díaz Herrera
 
Evolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfEvolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfJC Díaz Herrera
 
COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .GIANELAKAINACHALLCOJ2
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfJC Díaz Herrera
 
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdfCALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdfPOULANDERSONDELGADOA2
 
Cesar Vilchis Vieyra Cesar Vilchis Vieyra
Cesar Vilchis Vieyra  Cesar Vilchis VieyraCesar Vilchis Vieyra  Cesar Vilchis Vieyra
Cesar Vilchis Vieyra Cesar Vilchis Vieyraestudiantes2010
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
Posiciones de México en el PNB PPA per cápita (1982-2024).pdf
Posiciones de México en el PNB PPA per cápita (1982-2024).pdfPosiciones de México en el PNB PPA per cápita (1982-2024).pdf
Posiciones de México en el PNB PPA per cápita (1982-2024).pdfJC Díaz Herrera
 
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudirTriptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudirluis809799
 
Países por velocidad de sus misiles hipersónicos (2024).pdf
Países por velocidad de sus misiles hipersónicos  (2024).pdfPaíses por velocidad de sus misiles hipersónicos  (2024).pdf
Países por velocidad de sus misiles hipersónicos (2024).pdfJC Díaz Herrera
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfJC Díaz Herrera
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...israel garcia
 
Gestión Logística maria palmira guti cabajal
Gestión Logística maria palmira guti cabajalGestión Logística maria palmira guti cabajal
Gestión Logística maria palmira guti cabajalMarcosAlvarezSalinas
 
Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024AndrsReinosoSnchez1
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfJC Díaz Herrera
 
Familias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfFamilias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfJC Díaz Herrera
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfJC Díaz Herrera
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfJC Díaz Herrera
 

Último (20)

presentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptpresentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.ppt
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
Novelas Turcas vs Series de EUA en audiencia  (2024).pdfNovelas Turcas vs Series de EUA en audiencia  (2024).pdf
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
 
Evolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfEvolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdf
 
COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdf
 
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdfCALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
 
Cesar Vilchis Vieyra Cesar Vilchis Vieyra
Cesar Vilchis Vieyra  Cesar Vilchis VieyraCesar Vilchis Vieyra  Cesar Vilchis Vieyra
Cesar Vilchis Vieyra Cesar Vilchis Vieyra
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
Posiciones de México en el PNB PPA per cápita (1982-2024).pdf
Posiciones de México en el PNB PPA per cápita (1982-2024).pdfPosiciones de México en el PNB PPA per cápita (1982-2024).pdf
Posiciones de México en el PNB PPA per cápita (1982-2024).pdf
 
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudirTriptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
 
Países por velocidad de sus misiles hipersónicos (2024).pdf
Países por velocidad de sus misiles hipersónicos  (2024).pdfPaíses por velocidad de sus misiles hipersónicos  (2024).pdf
Países por velocidad de sus misiles hipersónicos (2024).pdf
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...
 
Gestión Logística maria palmira guti cabajal
Gestión Logística maria palmira guti cabajalGestión Logística maria palmira guti cabajal
Gestión Logística maria palmira guti cabajal
 
Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdf
 
Familias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfFamilias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdf
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
 

Informática 2: Algoritmos, herramientas y evaluación

  • 1. INFORMATICA 2 1 NOMBRE: _Olguín Pérez José Santiago __________________________________ 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? F 2. ¿Has modificado tus horas de dormir por cumplir con tus trabajos escolares? V 3. ¿Tardas en quedarte dormido, te despiertas varias veces durante la noche, o despiertas antes de lo previsto? V 4. ¿Es complicado hablar de la situación escolar con tus padres por temor a los resultados académicos? V 5. ¿Interfiere el sentimiento de preocupación o ansiedad por las actividades escolares en tus actividades cotidianas de casa? F 6. ¿Has notado que buscas comer más cosas dulces cuando realizas actividades escolares? V 7. ¿Te cuesta trabajo concentrarte para resolver tareas escolares? F 8. ¿Te has sentido nervioso o estresado al estar presente durante las clases virtuales? V 9. ¿Has dejado de convivir con tu familia o hecho a un lado algún pasatiempo por cumplir con tus actividades escolares? V 10. ¿Te has sentido en general irritable, molesto o incómodo? F 11. Cuando se menciona el tema de escuela o tareas ¿te incomodas y prefieres evadirlo? V 12. ¿Has presentado dolor de cabeza, estómago, cansancio en extremidades o dolor de espalda los últimos días? V F 13. ¿Te has sentido desganado al realizar tus actividades académicas? V 14. ¿Has tenido conflicto con tus padres o familia por la realización de las actividades escolares? V 15. ¿Sientes que te hace falta tiempo para poder terminar y cumplir con tus actividades? F 16. ¿Te identificas como una persona ansiosa? V 17. ¿Te identificas como una persona estresada? V 18. ¿Tienes computadora en tu casa? F Las personas más cercanas a ti y que dependes económicamente de ellos, ¿Tienen trabajo actual? F 19. ¿Cuántos hermanos tienes? 0,1,2,3,4,5,6,7,8,9,10,11,12 V
  • 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? Es una acción qué nos permite llevar acabo una tarea o encontrar la solución o un determinante problema 2. ¿Cuáles son las características de los algoritmos? Se usan solo en cuestiones relacionadas con la matemática se van mucho más de lo que creemos 3. Da una breve historia de cómo surgen los algoritmos En tiempos antiguos los algoritmos ya se utilizaban para resolver muchos de los problemas matemáticos como las raíces cuadradas y las multiplicaciones
  • 10. INFORMATICA 2 10 4. Elabora un mapa Mental de las Partes de un algoritmo 5. Menciona los pasos para realizar un algoritmo (Cuadro Sinóptico) Primero se debe poner inicio después la operación me temática qué quieran realizar (ejemplo) base, altura después el procedimiento u formula 0ara realizar la operación después imprimir el resultado 6. Realiza el Algoritmo de como se elabora una jarra de agua de limón
  • 11. INFORMATICA 2 11 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:  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
  • 12. INFORMATICA 2 12  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). 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 = ...
  • 13. INFORMATICA 2 13 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). - 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.
  • 14. INFORMATICA 2 14 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 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).
  • 15. INFORMATICA 2 15 Actividad 3.- Completa el siguiente cuadro Actividad 4.- Elabora un cuadro similar con los tipos de algoritmos de Razonamiento. Actividad 5.-Contesta las siguientes preguntas. 1. ¿Qué es una variable? Esta sujeta a cambios frecuentes o probables 2. ¿Qué es una constante? Qué no se interrumpe y persiste el estudio 3. ¿Cuál es la diferencia entre ellas? Qué la constante ya tiene asignado u número y la variable puede cambiar Tipos de Datos Numéricos Enteros Reales Lógicos Falso Verdadero Carácter Alfabéticos Numéricos Especiales Cadena
  • 16. INFORMATICA 2 16 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. 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.
  • 17. INFORMATICA 2 17  + 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: 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
  • 18. INFORMATICA 2 18 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 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
  • 19. INFORMATICA 2 19 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 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.
  • 20. INFORMATICA 2 20 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 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
  • 21. INFORMATICA 2 21 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 Hola b qué tal x=a+b Si x= a entonces X=a+b Entonces Mayor que 2 dos números Menor que 3 numeros A+b-c Hola qué tal
  • 22. INFORMATICA 2 22 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 Dia http://dia- installer.de/shapes/ER/index.html.es yEd Graph Editor Hhtps:///meetofcial. Com CmapTools https://google Gliffy https:// us.docworkspace.com Jgraph https://jgraph63official Sdedit https:// sedeit/installer. Com Codigraf https://codicraft Lucidchart Diagramas https://lucidichartfiagramas Google Drawing Hhtps://google drawing Dfd https://dfd.softonic.com/descargar Lectura ¿Qué es el Pseudocódigo? Cuando se trabaja e programación, antes de escribir nuestro programa, primero escribimos el pseudocódigo.
  • 23. INFORMATICA 2 23 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:
  • 24. INFORMATICA 2 24 ¿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. 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
  • 25. INFORMATICA 2 25 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. 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
  • 26. INFORMATICA 2 26 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: 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.
  • 27. INFORMATICA 2 27 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 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
  • 28. INFORMATICA 2 28 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