GRADO 11º
PROPÓSITO DE APRENDIZAJE
INTRODUCCIÓN
Este espacio académico de Tecnología e informática, permite a los estudiantes adquirir los conocimiento básicos necesarios para la creación de un software educativo y las habilidades de programación básicas para el diseño y construcción de un software relacionado con las problemáticas del siglo XXI, tales como el fenómenos de la superpoblación relacionados con salud, convivencia y seguridad.
Dando a conocer a los estudiantes del colegio Delia Zapata Olivella, la importancia que tiene
JUSTIFICACIÓN
Es importante que los estudiantes se apropien de los conocimientos básicos relacionados con el análisis, diseño y creación de un software, para la Intitucion Educativa, así como los fundamentos de la programación de computadores, de forma que tenga una visión más allá de un simple operador y consumidor de software a un diseñador y creador de software, a un usuario más experto que identifique los aspectos de programación y técnicos, transparentes para el usuario final, pero de gran relevancia para a la hora de crear un programa, pagina web, cartilla, App, Vídeo.
RELACIONE LAS COMPETENCIAS DEL ESPACIO ACADÉMICO
- * Diseño diferentes prototipos de software para la mitigación de los problemas encontrados en las asignaturas propuestas.
- * Actúo de manera acorde con los desempeños socio emocionales más adecuados durante los trabajos en equipo de diseño del Software
- * Analizo diversas variables de diseño de software relacionados con la problemática caracterizada durante el primer corte.
- * Empleo análisis matemáticos, cartografía, economía, para asegurar la factibilidad de mi diseño
- * Actúa de manera acorde con los desempeños socio emocionales más adecuados durante los trabajos en equipo de informatización
- * Caracterizo las situaciones problemas que dieron origen a diferentes tipos de software relacionados con la mitigación de los problemas encontrados en las asignaturas.
TEMA 1 Y 2
ALGORITMOS Y PSEUDOCODIGO
CONCEPTO:
´Un algoritmo, se
puede definir como una secuencia de instrucciones que representan un modelo de
solución para determinado tipo de problemas. En cada problema
el algoritmo puede escribirse y luego ejecutarse en un lenguaje
diferente de programación.
PSEUDOCODIGO
CONCEPTO:
ALGORITMIA: Ciencia que estudia técnicas para construir algoritmos eficientes y técnicas para medir la eficacia de los algoritmos.
Objetivo: Dado un problema concreto encontrar la mejor forma de resolverlo.
Cómo desarrollar un algoritmo?

Diseño del algoritmo
Un algoritmo consiste en una especificación clara y concisa de los pasos necesarios para resolver un determinado problema, pero para poder diseñar algoritmos es necesario disponer de una notación, que llamaremos 'notación algorítmica', que permita:
- Describir las operaciones puestas en juego (acciones, instrucciones, comandos,...)
- Describir los objetos manipulados por el algoritmo (datos/informaciones)
- Controlar la realización de las acciones descritas, indicando la forma en que estas se organizan en el tiempo
Para poder describir cualquier tipo de acción de las que intervienen en un algoritmo, diversos autores proponen el uso de un conjunto de construcciones lógicas (secuencia, decisión e alternación) con las que es posible escribir cualquier programa. Lo que sigue a continuación es la descripción de las diferentes construcciones disponibles para el diseño de algoritmos.
Acciones elementales
Se entiende por acciones elementales aquellas que el ordenador es capaz de realizar y que serán de dos tipos:
- Aritmético - lógicas: Operaciones que, a partir de unos determinados datos, realizan un cálculo aritmético (suma, resta, multiplicación,...) o un cálculo lógico (mayor que, menor que, igual que,...).Las primeras devuelven un valor numérico (4, -5.67,...) y las segundas un valor lógico (verdadero o falso).
- De entrada - salida: Acciones que permiten capturar datos para su posterior tratamiento (las de entrada) y guardar los resultados de dicho tratamiento (las de salida).
Secuencia de acciones elementales
Cuando en un algoritmo se deben ejecutar varias acciones sucesivamente, éstas se describen una detrás de otra según el orden en que deban ejecutarse. Si se desea se puede emplear algún tipo de símbolo para separar dos acciones consecutivas. En el siguiente ejemplo se muestra la descripción de acciones separadas por punto y coma (símbolo que habitualmente se emplea como separador).
Acción 1; Acción 2; ... Acción n;
Composición condicional
Cuando en un algoritmo se quiere indicar que cierta acción solo se debe ejecutar bajo cierta condición se indica del siguiente modo:
Si Condición Entonces Acción; FinSi
Solo si la Condición (operación lógica) es verdadera se ejecutará la Acción. En este caso, la Acción puede referirse tanto a una acción elemental como a un conjunto de ellas.
Composición condicional doble (alternativa)
En ocasiones, se deben ejecutar unas acciones u otras dependiendo de la ocurrencia de una determinada condición. Esta especificación se realiza del siguiente modo:
Si Condición Entonces Acción A; SiNo Acción B; FinSi
Dependiendo de si la Condición es verdadera o falsa se ejecutará la Acción A o la Acción B respectivamente. De forma análoga a como ocurría en el caso anterior, tanto la Acción A como la Acción B pueden referirse a una acción elemental o a un conjunto de ellas.
Composición condicional múltiple
También es posible que a la hora de especificar la ejecución de una acción haya que escoger ésta entre varias dependiendo del valor de una determinada variable (o indicador). Este caso se expresa del siguiente modo:
Según Indicador Hacer Caso Valor 1: Acción 1; Caso Valor 2: Acción 2; ... Caso Valor n: Acción n; [De Otro Modo: Acción X;] FinSegun
En esta construcción Indicador debe tener un determinado valor que en caso de coincidir con alguno de los n valores provocará la ejecución de la acción asociada a dicho valor. Si el valor del Indicador no coincidiera con ninguno de los especificados se ejecutará la Acción X. No tiene por qué haber una Acción X para cuando el Indicador' no coincida con ninguno de los n valores; en ese caso, si el Indicador' no coincide con ningún valor no se ejecutaría ninguna acción.
Al igual que en los casos anteriores, todas las acciones que aparecen en esta estructura (Acción 1, Acción 2,..., Acción n y Acción X) pueden referirse a una única acción o a un conjunto de ellas.
- Condición al principio de la estructura (Estructura 1)
- Mientras CondiciónHacer
- Acción;
- FinMientras
- (Estructura 2)
- Hasta Condición Hacer
- Acción;
- FinHasta
- Condición al final de la estructura (Estructura 3)
- Hacer
- Acción;
- Mientras Condición;
- (Estructura 4)
- Hacer
- Acción;
- Hasta Condición;
- Sobre las cuatro construcciones que se acaban de presentar cabe hacer las siguientes observaciones:
- Si en las estructuras 1 y 2, cuando se evalúa la 'Condición', ésta toma por primera vez un valor tal que no permita ejecutar la 'Acción' (FALSO en la 1 y VERDADERO en la 2), ésta no se ejecutará ninguna vez. Es decir, puede ocurrir que la 'Acción', en las estructuras 1 y 2, no se ejecute nunca.
- En las estructuras 3 y 4, al estar la 'Condición' de terminación al final, la 'Acción' se ejecutará antes de que la condición se evalúe por primera vez, por lo que aunque la 'Condición' tome un valor tal que no se permita realizar más iteraciones, la 'Acción' se ejecutará al menos una vez.
- Si las 'Condiciones' de las estructuras 1 y 2 son complementarias, es decir, que siempre que una es verdadera la otra es falsa y viceversa (ejemplo: [a > b] y [a ≤ b] son condiciones complementarias), entonces ambas estructuras son equivalentes ya que en ambas la 'Acción' se ejecutará el mismo número de veces.
- De forma análoga, si las 'Condiciones' de las estructuras 3 y 4 son complementarias también ambas estructuras serán equivalentes.
Existe una construcción especial para indicar una repetición de acciones que se suele emplear cuando se quiere que dicha repetición se realice un número determinado de veces:
Para i = 1 Hasta n Hacer Acción; FinPara
En este caso la 'Acción' se repetirá n veces e 'i' será una variable que tomará todos los valores entre 1 y n (ambos inclusive) en cada una de las sucesivas repeticiones. Esta construcción, aunque de apariencia diferente a las anteriores, se podría expresar como un caso particular de la estructura 1 del siguiente modo:
i = 1; Mientras i <= n Hacer Acción; i = i + 1; FinMientras
En este caso la condición de finalización del bucle es que la variable 'i' sea mayor que 'n' y siempre, al finalizar la ejecución de la 'Acción', 'i' se incrementa en una unidad antes de volver a evaluar la 'Condición' para el nuevo valor de 'i'.
Pasos en la resolución de un problema
Cuando un usuario plantea a un programador un problema que resolver mediante su ordenador, por lo general ese usuario tendrá conocimientos más o menos amplios sobre el dominio del problema, pero no es habitual que tenga conocimientos de informática. Por ejemplo, un contable que necesita un programa para llevar la contabilidad de una empresa será un experto en contabilidad (dominio del problema), pero no tiene por qué ser experto en programación.
Del mismo modo, el informático que va a resolver un determinado problema puede ser un experto programador, pero en principio no tiene por qué conocer el dominio del problema; siguiendo el ejemplo anterior, el informático que hace un programa no tiene por qué ser un experto en contabilidad.
Por ello, al abordar un problema que se quiere resolver mediante un ordenador, el programador necesita de la experiencia del experto del dominio para entender el problema. Al final, si se quiere llegar a una solución satisfactoria es necesario que:
- El problema esté bien definido con el máximo detalle
- Las especificaciones de las entradas y salidas del problema, deben ser descritas también en detalle:
- ¿Qué datos son necesarios para resolver el problema?
- ¿Qué información debe proporcionar la resolución del problema?

QUE ES UN DIAGRAMA DE FLUJO
DEFINICIÓN:
Un diagrama de flujo es la representación gráfica del flujo o secuencia de rutinas simples. Tiene la ventaja de indicar la secuencia del proceso en cuestión, las unidades involucradas y los responsables de su ejecución, es decir , que es un proceso o cualquier tipo de actividad a desarrollarse tanto en empresas industriales o de servicios en sus departamentos , secciones u áreas de la estructura organizaciónal .


PSeInt está pensado para asistir a los estudiantes que se inician en la construcción de programas o algoritmos computacionales. El pseudocódigo se suele utilizar como primer contacto para introducir conceptos básicos como el uso de estructuras de control, expresiones, variables, estructuras de datos, etc, sin tener que lidiar con las particularidades de la sintaxis de un lenguaje real. Este software pretende facilitarle al principiante la tarea de escribir algoritmos en este pseudolenguaje presentando un conjunto de ayudas y asistencias, y brindarle además algunas herramientas adicionales que le ayuden a encontrar errores y comprender la lógica de los algoritmos. Cuando se formula un algoritmo el objetivo es ejecutar este en una computadora, sin embargo, para que este entienda los pasos para llevar a cabo nuestro algoritmo debemos indicárselo siguiendo un conjunto de instrucciones y reglas que este entienda, y estas instrucciones son abstraídas en lo que conocemos como lenguaje de programación y luego son traducidas (compiladas) por el compilador del programa
Un algoritmo codificado siguiendo un lenguaje de programación es conocido como programa. Antes de aprender un lenguaje de programación es necesario aprender la metodología de programación, es decir la estrategia necesaria para resolver problemas mediante programas. Como punto de partida se aborda la manera como es representado un algoritmo. Básicamente analizamos dos formas, la representación usando pseudocódigo y la representación usando diagramas de flujo. Un diagrama de flujo es un diagrama que utiliza símbolos (cajas) estándar y que tiene los pasos del algoritmo escritos en esas cajas unidas por flechas, denominadas líneas de flujo, que indican las secuencia que debe ejecutar el algoritmo.
https://algoritmoscolegio40.blogspot.com/2012/09/manual-de-pseint_7.html
MANEJO DE COMANDOS
comandos básicos de Pseint
Qué es un comando?
Un comando es una orden que se le da a un programa de computadora que actúa como intérprete del mismo, para así realizar una tarea específica.Declaración de variables
En todo Pseudocódigo partimos declarando el tipo de variable que vamos a utilizar.
Ejemplo:
Definir:
Una variable debe definirse antes de ser utilizada por primera vez.
-Los tipos posibles son NUMERO, NUMÉRICO, REAL, ENTERO, LÓGICO, CARÁCTER, TEXTO, CADENA.
- NUMERO, NUMÉRICO y REAL son sinónimos para el tipo de datos numérico básico, que puede almacenar tanto números reales como enteros. El tipo ENTERO es una especialización que sólo permite almacenar valores enteros; cualquier valor no entero que se lea o asigne en una variable de este tipo será truncado.
-Una variable de tipo LOGICO sólo puede tomar los valores VERDADERO y FALSO, pero cuando se lee una variable ya definida como lógica, el usuario puede ingresar también las abreviaciones V y F, o 0 y 1.
-CARACTER, TEXTO y CADENA son sinónimos para definir variables de tipo carácter. Estas pueden contener cero, uno o más caracteres arbitrarios y no tienen una longitud máxima. Si se declara una variable de este tipo y en una lectura el usuario ingresa un número o un valor lógico, se asignará una cadena que contiene el texto ingresado (ejemplo: "1", "VERDADERO", etc).Dimensión:
Esta instrucción define un arreglo con el nombre indicado en <identificador> y N dimensiones. Los N parámetros indican la cantidad de dimensiones y el valor máximo de cada una de ellas. La cantidad de dimensiones puede ser una o más, y la máxima cantidad de elementos debe ser una expresión numérica positiva.Si se utilizan arreglos en base 0, al declarar un arreglo de, por ejemplo 15 elementos, los índices de elementos válidos van de 0 a 14; mientras que si se utilizan arreglos en base 1 los índices válidos van de 1 a 15.-Se pueden declarar más de un arreglo en una misma instrucción, separándo los con una coma (,).
Entrada Escribir: La instrucción Escribir permite mostrar valores al ambiente.Escribir <exprl> , <expr2> , ... , <exprN> ;
Leer: La instrucción leer permite ingresar información desde el ambiente. Leer <variable1> , <variable2> , ... ,<variableN> ;
Proceso Repetitivas Para: