Clasificaciones, modalidades y tendencias de investigación educativa.
Guia 1 y 2 periodo programacion 10
1. COLEGIO TÉCNICO NUESTRA SEÑORA DE
LA PRESENTACIÓN SAN GIL
PRO
PROGRAMACIÓN ALGORITMICA
DÉCIMO
2017
PROGRAMACIÓN ALGORITMICA
DÉCIMO
2018
Nombres y Apellidos:_________________________
Docente: Ing. María Cecilia Plata Vesga
2. Temática
1. Unidad. Lógica de programación
2. Unidad. Introducción a la programación
3. Unidad. Herramientas de simulación
4. Unidad. Estructuras selectivas
5. Unidad. Estructuras repetitivas
6. Unidad. Estructuras de datos
7. Unidad. Lenguajes de programación
INDICADORES DE DESEMPEÑO
1. PERSONAL: se presenta puntualmente según horario asignado, cuando no
asiste presenta excusa justificada a tiempo; porta adecuadamente el uniforme y
es responsable, comprometido y dinamico frente a cada actividad que fortalece
su formación integral.
2. SOCIAL: se integra al grupo y a los subgrupos de trabajo dinamizando y
generando un ambiente favorable de aprendizaje y en sus relaciones
interpersonales asume actitudes respetuosas que propician una sana convivencia.
3. COGNITIVO:
I. PERIODO: analizo los problemas aplicando la lógica de la
programación en búsqueda de una solución.
II. PERIODO: utiliza adecuadamente las herramientas de simulación
III. PERIODO: aplica las estructuras selectivas y repetitivas en la
resolución de problemas
IV. PERIODO: utiliza los lenguajes de programación en la solución de
ejercicios, construyendo soluciones aplicables y de ambiente
cotidiano.
¡SI SE PUEDE
IMAGINAR, SE PUEDE
PROGRAMAR!
3. I. UNIDAD. Lógica de programación
Tipos de razonamiento Se designa el nombre de razonamiento, a la facultad de resolver
alguna problemática, sacar conclusiones y aprender conscientemente sobre
determinados hechos, analizando conexiones entre ellos de causa y efecto. Cuando
hablamos de razonamiento nos referimos al conjunto de actividades mentales que
consiste en la conexión de ideas de acuerdo a ciertas reglas y que dan apoyo o justifican
una idea. En otras palabras más simples, el razonamiento es la facultad humana que
permite resolver problemas tras haber arribado a conclusiones que permiten hacerlo.
Tipos de razonamiento
Razonamiento deductivo Refiere al razonamiento que requiere de una conclusión que
parte de determinadas premisas. Este tipo de razonamiento va de los general a lo
particular. Este al partir de premisas se considera como válido, por lo tanto si las
premisas son verdaderas, también lo llegarán a ser las conclusiones.
Tipos de razonamiento deductivo
El categórico, parte de dos premisa, donde al ser verdaderas y el razonamiento es
válido, se consigue una conclusión verdadera.
Proporcional: en esta se relacionan dos premisas donde una es una condición para que
la otra se presente, o sea, una es antecedente y otra consecuente.
Disyunción o dilema: en este la premisa se relacionan como contrarias, con lo cual se
consigue una conclusión al descartar a una de ellas.
Existen dos formas de razonamiento deductivo: el inmediato, donde el cambio de un
juicio es la única operación lógica; el mediato, donde se debe dar una relación de
mediación entre juicios para llegar a una conclusión.
Razonamiento inductivo
Es el tipo de razonamiento donde se crea una conclusión probable que se establece
acorde a las premisas dadas. Este se establece en que si diversos acontecimientos
presentan la misma situación al de sus premisas, existe la probabilidad de que el
resultado sea el mismo. Se distingue del razonamiento deductivo, por su conclusión, la
cual no desprende obligatoriamente de las premisas.
La conclusión en un razonamiento inductivo se consigue con la observación directa de
ciertos casos particulares. Este va de lo particular a lo general. La analogía, la
generación y la causa/ efecto, son los principales tipos de este razonamiento.
4. Tipos de razonamiento inductivo
Razonamiento inductivo completo: también conocido como razonamiento inductivo
perfecto. Este se da cuando se incluye todos los casos particulares en las premisas,
principalmente aquellos casos de la generación que corresponde de forma individual.
Razonamiento inductivo incompleto: se le llama también razonamiento inductivo
imperfecto. Este se muestra cuando únicamente se incluyen en las premisas
determinados casos particulares, en este caso en forma individual de la generalización
que corresponde.
Razonamiento analógico:
Es el tipo de razonamiento que toma como base de conocimiento la característica de
que dos objetos o varios objetos son iguales tomando en cuenta las cualidades que
posee uno o varios de ellos, donde se llega a la conclusión de que los restantes al ser
todos semejantes también tendrán la misma característica, llegando a una conclusión en
general.
Razonamiento válido. Refiere al razonamiento donde es válida su forma lógica aún sin
importar la información que contenga o que caracterice a las premisas, y a la
conclusión. Este razonamiento se considera como válido cuando la conclusión parte de
las premisas. Su validez parte de la forma lógica aun si la conclusión o las premisas
sean falsas. Razonamiento inválido Se da cuando las premisas son verdaderas pero la
conclusión es falsa.
Razonamiento lógico:
Este tipo de razonamiento puede ser tanto válidos o correctos, como no inválidos o
incorrectos. Los primeros se dan cuando las premisas aportan un soporte suficiente para
la conclusión; y los no válidos son considerados como falacias. Razonamiento no lógico
Este se suele llamar como razonamiento informal, este no solo parte de premisas, ya
que tiene otras alternativas como son las soluciones, donde se basa del contexto y de la
experiencia. Razonamiento argumentativo Refiere a la actividad lingüística donde se
puede argumentar, conociendo que un argumento es toda expresión lingüística de un
determinado razonamiento.
Razonamiento abductivo:
Este razonamiento funciona por medio de silogismo, donde se considera la premisa
mayor como cierta, y la premisa menor como probable, por lo tanto se obtiene una
conclusión que posee el mismo nivel de probabilidad que la premisa menor. Este
razonamiento fue dado a conocer por primera vez por Aristóteles. En esta se inicia con
5. una conclusión y luego se derivan las condiciones que pueden validar dicha conclusión.
Razonamiento por analogía Es un tipo de razonamiento lógico que va de lo particular a
lo particular. En este a través de relaciones de semejanza se consigue una relación de
identidad.
Razonamiento hipotético:
Este por medio de la observación de variados signos llega a una conclusión, donde al
verlas en conjunto se logra confirmar una determinada hipótesis, ya que las
probabilidades aumentan considerablemente.
Via: http://www.mastiposde.com/razonamiento.html Via: http://www.mastiposde.com/razonamiento.html
Actividad 1
Realice un mapa mental sobre las diferentes formas de pensamiento lógico expresadas
en los textos anteriores.
6. II. CAPITILO
INTRODUCCIÓN A LA PROGRAMACIÓN
El programador de computadora es antes que nada una persona que resuelve problemas, por
lo que para llegar a ser un programador eficaz se necesita aprender a resolver problemas de
un modo riguroso y sistemático.
Un algoritmo es un método para resolver un problema. Aunque la popularización del
término ha llegado con el advenimiento de la era informática, algoritmo proviene de
Mohammed al-Khowârizmi, matemático persa que vivió durante el siglo IX y alcanzó gran
reputación por el enunciado de las reglas paso a paso para sumar, restar, multiplicar y
dividir números decimales; la traducción al latín del apellido en la palabra algorismus
derivó posteriormente en algoritmo. Euclides, el gran matemático griego (del siglo IV antes
de Cristo) que inventó un método para encontrar el máximo común divisor de dos números,
se considera con Al-Khowârizmi el otro gran padre de la algoritmia (ciencia que trata de los
algoritmos). El profesor Niklaus Wirth —inventor de Pascal, Modula-2 y Oberon— tituló
uno de sus más famosos libros, Algoritmos + Estructuras de datos = Programas,
significándonos que sólo se puede llegar a realizar un buen programa con el diseño de un
algoritmo y una correcta estructura de datos. Esta ecuación será una de las hipótesis
fundamentales consideradas en esta obra. La resolución de un problema exige el diseño de
un algoritmo que resuelva el problema propuesto.
Los pasos para la resolución de un problema son:
1. Diseño del algoritmo, que describe la secuencia ordenada de pasos —sin
ambigüedades— que conducen a la solución de un problema dado. (Análisis del problema y
desarrollo del algoritmo.)
2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado.
(Fase de codificación.)
3. Ejecución y validación del programa por la computadora.
Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo,
de modo que sin algoritmo no puede existir un programa.
Los algoritmos son independientes tanto del lenguaje de programación en que se expresan
como de la computadora que los ejecuta. En cada problema el algoritmo se puede expresar
en un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin
embargo, el algoritmo será siempre el mismo. Así, por ejemplo, en una analogía con la vida
diaria, una receta de un plato de cocina se puede expresar en español, inglés o francés, pero
7. cualquiera que sea el lenguaje, los pasos para la elaboración del plato se realizarán sin
importar el idioma del cocinero.
En la ciencia de la computación y en la programación, los algoritmos son más importantes
que los lenguajes de programación o las computadoras. Un lenguaje de programación es tan
sólo un medio para expresar un algoritmo y una computadora es sólo un procesador para
ejecutarlo. Tanto el lenguaje de programación como la computadora son los medios para
obtener un fin: conseguir que el algoritmo se ejecute y se efectúe el proceso
correspondiente.
DISEÑO DE ALGORITMOS
El diseño de la mayoría de los algoritmos requiere creatividad y conocimientos profundos
de la técnica de la programación. En esencia, la solución de un problema se puede expresar
mediante un algoritmo.
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
• Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez.
• Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún
momento; o sea, debe tener un número finito de pasos.
La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida. En el
algoritmo de receta de cocina citado anteriormente se tendrá:
Entrada: ingredientes y utensilios empleados.
Proceso: elaboración de la receta en la cocina.
Salida: terminación del plato (por ejemplo, cordero).
EJEMPLO DE PSEUDOCODIGO
Un cliente ejecuta un pedido a una fábrica. La fábrica examina en su banco de datos la ficha
del cliente; si el cliente es solvente entonces la empresa acepta el pedido; en caso contrario,
rechazará el pedido.
Redactar el algoritmo correspondiente.
Los pasos del algoritmo son:
1. Inicio.
2. Leer el pedido.
8. 3. Examinar la ficha del cliente.
4. Si el cliente es solvente, aceptar pedido; en caso contrario, rechazar pedido.
5. Fin.
PROGRAMACIÓN ESTRUCTURADA
Estructura de un Algoritmo
Todo algoritmo consta de tres secciones principales:
Entrada: Es la introducción de datos para ser transformados.
Proceso: Es el conjunto de operaciones a realizar para dar solución al problema.
Salida: Son los resultados obtenidos a través del proceso.
Definición del problema:
En esta etapa se deben establecer los resultados y objetivos que se desea para poder saber si
los datos que se tienen son suficientes para lograr los fines propuestos.
Análisis:
Una vez definido el problema se deberán organizar los datos de tal manera que sean
susceptibles de usar en los cálculos siguientes.
Diseño:
En esta etapa se proponen soluciones a los problemas a resolver, por lo que se realiza una
toma de decisiones aplicando los conocimientos adquiridos y utilizando los datos
existentes.
Verificación o prueba de escritorio
Se consideran resultados previstos para datos conocidos a fin de que al probar cada una de
sus partes podamos ir comprobando que el algoritmo sirve o requiere modificarse.
Análisis del Problema
Identificadores: Un identificador es el nombre que se le asigna a los datos de un programa
(constantes, variables, tipos de datos), y que nos permiten el acceso a su contenido.
Ejemplo:
Calf1
Valor_1
9. Num_hrs
Tipos de datos
Es el valor que puede tomar una constante o variable . Por ejemplo, para representar los
datos de un alumno como:
Nombre, Num_cta, calf1, calf2, etc.
Los tipos de datos más utilizados son:
a) Numéricos: Representan un valor entero y real.
Ejemplo:
Entero: 250, -5 Real: 3.1416, -27.5
b) Lógicos: Solo pueden tener dos valores (verdadero o falso), y son el resultado de una
comparación.
c) Alfanuméricos: Son una serie de caracteres que sirvenpara representar y manejar datos
como nombres de personas, artículos, productos, direcciones, etc.
Variables
Permite almacenar de forma temporal un valor y el cual puede cambiar durante la ejecución
del algoritmo ó programa.
Toda variable tiene un nombre que sirve para identificarla.
Ejemplo:
prom=(calf1+calf2+calf3)/3
Las variables son: prom, calf1, calf2, calf3.
Constantes
Son datos numéricos o alfanuméricos que contienen un valor y que no cambia durante la
ejecución del algoritmo ó programa.
Ejemplos:
prom=(calf1+calf2+calf3)/3 PI=3.1416 Las constantes son: 3, PI.
10. Expresiones: Es un conjunto de constantes, variables, operadores con lo que se realizan las
operaciones y permite obtener un resultado.
Ejemplo:
Resultado a*(2*b+5)/c
Operadores: Es un símbolo que permite manipular los valores de variables y/o constantes.
Operadores matemáticos
1) ^ **
2) / * div mod
3) + -
Los operadores con igual nivel de prioridad se evalúan de izquierda a derecha
Operador de asignación
1) = ó
Sirve para recuperar o guardar los valores obtenidos al realizarse o ejecutarse una expresión
Operadores de relación
1) Mayor que >
2) Menor que <
3) Mayor igual que >=
4) Menor igual que <=
5) Igual =
6) Diferencia < > !=
•Son empleados para comparar dos ó más valores.
•Su resultado produce valores como verdadero y falso.
•Tienen el mismo nivel de prioridad.
11. •Son empleados para comparar dos valores (Falso y verdadero
•Su resultado produce valores como verdadero y falso.
•Los tres tienen el mismo nivel de prioridad.
Prioridad entre los Operadores
Siempre se ejecutan de izquierda a derecha en caso de
haber dos o más operadores con el mismo nivel de
prioridad.
Alternativas de solución
Es la forma de representar la secuencia lógica de
ejecución de instrucciones.
Esta puede ser a través de:
1) Diagramas de flujo 2) Pseudocódigo
Diagrama de flujo
Es empleado para representar la solución de un algoritmo empleando figuras geométricas,
donde cada una de ellas representa en particular una tarea especifica que realizar.
Las más comunes son:
12. ACTIVIDAD 2
Resuelva los siguientes problemas propuestos
2.1 Realice un diagrama de flujo y pseudocódigo que representen el algoritmo para obtener
el área de un triángulo.
2.2 Una empresa importadora desea determinar cuántos dólares puede adquirir con equis
cantidad de dinero mexicano. Realice un diagrama de flujo y pseudocódigo que representen
el algoritmo para tal fin.
2.3 Una empresa que contrata personal requiere determinar la edad de las personas que
solicitan trabajo, pero cuando se les realiza la entrevista sólo se les pregunta el año en que
nacieron. Realice el diagrama de flujo y pseudocódigo que representen el algoritmo para
solucionar este problema.
2.4 Un estacionamiento requiere determinar el cobro que debe aplicar a las personas que lo
utilizan. Considere que el cobro es con base en las horas que lo disponen y que las
fracciones de hora se toman como completas y realice un diagrama de flujo y pseudocódigo
que representen el algoritmo que permita determinar el cobro.
2.5 Pinturas ―La brocha gorda‖ requiere determinar cuánto cobrar por trabajos de pintura.
Considere que se cobra por m2 y realice un diagrama de flujo y pseudocódigo que
representen el algoritmo que le permita ir generando presupuestos para cada cliente.
13. 2.6 Se requiere determinar la hipotenusa de un triángulo rectángulo. ¿Cómo sería el
diagrama de flujo y el pseudocódigo que representen el algoritmo para obtenerla? Recuerde
que por Pitágoras se tiene que: C2 = A2 + B2
2.7 La compañía de autobuses ―La curva loca‖ requiere determinar el costo que tendrá el
boleto de un viaje sencillo, esto basado en los kilómetros por recorrer y en el costo por
kilómetro. Realice un diagrama deflujo y pseudocódigo que representen el algoritmo para
tal fin.
2.8 Se requiere determinar el tiempo que tarda una persona en llegar de una ciudad a otra en
bicicleta, considerando que lleva una velocidad constante. Realice un diagrama de flujo y
pseudocódigo que representen el algoritmo para tal fin.
2.9 Se requiere determinar el costo que tendrá realizar una llamada telefónica con base en el
tiempo que dura la llamada y en el costo por minuto. Realice un diagrama de flujo y
pseudocódigo que representen el algoritmo para tal fin.
2.10 La CONAGUA requiere determinar el pago que debe realizar una persona por el total
de metros cúbicos que consume de agua. Realice un diagrama de flujo y pseudocódigo que
representen el algoritmo que permita determinar ese pago.
2.11 La compañía de luz y sombras (CLS) requiere determinar el pago que debe realizar
una persona por el consumo de energía eléctrica, la cual se mide en kilowatts (KW).
Realice un diagrama de flujo y pseudocódigo que representen el algoritmo que permita
determinar ese pago.
2.12 Realice un diagrama de flujo y pseudocódigo que representen el algoritmo para
determinar cuánto pagará finalmente una persona por un artículo equis, considerando que
tiene un descuento de 20%, y debe pagar 15% de IVA (debe mostrar el precio con
descuento y el precio final).
2.13 Realice un diagrama de flujo y pseudocódigo que representen el algoritmo para
determinar cuánto dinero ahorra una persona en un año si considera que cada semana
ahorra 15% de su sueldo (considere cuatro semanas por mes y que no cambia el sueldo).
2.14 Una empresa desea determinar el monto de un cheque que debe proporcionar a uno de
sus empleados que tendrá que ir por equis número de días a la ciudad de Monterrey; los
gastos que cubre la empresa son: hotel, comida y 100.00 pesos diarios para otros gastos. El
monto debe estar desglosado para cada concepto. Realice un diagrama de flujo y
pseudocódigo que representen el algoritmo que determine el monto del cheque.
14. 2.15 Se desea calcular la potencia eléctrica de circuito de la figura 2.6. Realice un diagrama
de flujo y el pseudocódigo que representen el algoritmo para resolver el problema.
Considere que: P = V*I y V = R*I.
R = 4Ω
V = I = ?
2.16 Realice pseudocódigo y diagrama de flujo que representen el algoritmo para preparar
una torta.
2.17 Realice pseudocódigo y diagrama de flujo que representen el algoritmo para
confeccionar una prenda de vestir.
2.18 Realice pseudocódigo y diagrama de flujo que representen el algoritmo para preparar
un pastel.
2.19 Realice el diagrama de flujo y pseudocódigo que representen el algoritmo para
encontrar el área de un cuadrado.
2.20 Realice el diagrama de flujo y pseudocódigo que representen el algoritmo para
determinar el promedio que obtendrá un alumno considerando que realiza tres exámenes,
de los cuales el primero y el segundo tienen una ponderación de 25%, mientras que el
tercero de 50%.
2.21 Realice un diagrama de flujo y pseudocódigo que representen el algoritmo para
determinar aproximadamente cuántos meses, semanas, días y horas ha vivido una persona.
2.22 Se requiere un algoritmo para determinar el costo que tendrá realizar una llamada
telefónica con base en el tiempo que dura la llamada y en el costo por minuto. Represente la
solución mediante el diagrama de flujo y pseudocódigo.
2.23 El hotel ―Cama Arena‖ requiere determinar lo que le debe cobrar a un huésped por su
estancia en una de sus habitaciones. Realice un diagrama de flujo y pseudocódigo que
representen el algoritmo para determinar ese cobro.
15. II PERIODO
Ahora sí vamos a iniciar el proceso de la programación
EL MUNDO DE LA PROGRAMACIÓN
Es importante tener en cuenta que programar no es aprender de memoria es desarrollar,
analizar y aplicar una serie de conceptos en la solución de un problema propuesto, por ello
es importante no olvidar una serie de conceptos los cuales se verán a continuación.
EL PROGRAMA: Es un conjunto de instrucciones coherentes. Las instrucciones tienen
que estar lógicamente distribuidas.
Las instrucciones deben de estar codificadas en un lenguaje de programación Ej: C,
BASIC, JAVA, DEV C++, entre otros.
2. PASOS A TENER EN CUENTA PARA LA CONSTRUCCIÓN DE
UN PROGRAMA
Construcción de una Solución lógica
Para lograr una construcción lógica deberás aplicar los conceptos
que has adquirido por medio de la lógica, validando todos los
posibles casos de respuesta que se presenten.
Codificación en un lenguaje de programación
La codificación es el proceso en el que debes plasmar tu
solución lógica en un programa llamado lenguaje de
programación.
este proceso es sencillo en la manera que adquieras agilidad y
venzas las dificultades en el inicio del manejo del programa.
Compilación
16. la compilación es el proceso en el cual el programa
de lenguaje de programación verifica que la sintaxis
en la que codificaste el programa corresponde a las
palabras que el tiene almacenadas para que se logre
la ejecución de un programa, es similar a cuando tu traduces un texto en otro idioma, debes
verificar que las palabras correspondan y que el texto tenga lógica.
Ejecución
Es la etapa de verificación del programa, en el
cual validamos que el aplicativo cumpla con
los requisitos solicitados.
El papel de la memoria RAM en nuestro trabajo como programadores
La Memoria RAM es el área de operaciones del procesador, es la mesa sobre la cual se
trabaja. La Memoria RAM es una memoria de almacenamiento temporal en la cual se
almacenan los datos de las variables , los datos que se almacenan en la ejecución de un
programa quedan almacenada en campos de la Memoria RAM, al apagarse el computador
estos datos se borran.
PAPEL DEL PROCESADOR EN LA PROGRAMACIÓN
Es esencial para:
Operaciones Aritméticas (+ - * /)
Operaciones lógicas (comparar)
Operaciones de Entrada. (Tomar datos de teclado)
Operaciones de Salida (enviar datos de la memoria del computador hacia la
pantalla)
Ubicación de los datos en la memoria RAM
Cada dato se ubica en el área de Memoria RAM que técnicamente los programadores
denominan campo o VARIABLE.
17. El programador determina cuantas VARIABLES (campos de memoria) necesita. Se crea
uno para cada dato. Se le asigna uno a cada variable. Establece sus características ( el tipo,
longitud).
PAPEL DE LA MEMORIA ROM DURANTE LA EJECUCIÓN DE
UN PROGRAMA
La memoria ROM contiene la Bios (Basic Input Output System) que consiste en una serie
de rutinas que se encargan de ejecutar las operaciones de entrada y salida.
Cada vez que durante la ejecución del programa aparezca una operación de entrada
(lectura) o de salida(escritura) el procesador se detiene y le pide ayuda a la ROM-BIOS
para que le ejecute dicha operación. Para cada tipo de operación de entrada o de salida hay
una rutina especifica en la BIOS. A las rutinas que compone la ROM-BIOS se les
denomina interrupciones del sistema (el procesador interrumpe su actividad mientras la
BIOS le resuelve el problema).
CAMPO (VARIABLE)
Es el área de memoria en la cual se almacena un dato
Es el sinónimo de variable.
Es el área de memoria en la cual se ubica un dato.
El programador determina los campos que necesita para desarrollar la solución de un
problema.
Los campos tienen una característica fundamental.
EL TIPO
Indica la clase de información que se va a ubicar en el campo.
Tipo de un campo
- Todo campo pertenece a un determinado tipo.
- El tipo indica la clase de información que almacenará el campo.
INTEGER
TIPOS DE CAMPOS
Un tipo de dato entero en computación es un tipo de dato que puede representar un
subconjunto finito de los números enteros. El número mayor que puede representar
depende del tamaño del espacio usado por el dato y la posibilidad (o no) de representar
números negativos. Los tipos de dato entero disponibles y su tamaño dependen del lenguaje
de programación usado así como la arquitectura en cuestión.
REAL (FLOAT)
Coma flotante o punto flotante es un método de representación de números reales que se
puede adaptar al orden de magnitud del valor a representar, usualmente trasladando la coma
decimal –mediante un exponente- hacia la posición de la primera cifra significativa del
valor. De esta forma, con un número dado de dígitos representativos se obtiene mayor
18. precisión que con el punto fijo, debido a que el valor de estos dígitos es siempre
significativo sea el que sea el orden de magnitud del número a representar. Debido a esta
adaptación, permite representar un rango mucho mayor de números (determinado por los
valores límite que puede tomar el exponente).
CHAR Un valor de tipo carácter es cualquier carácter que se encuentre dentro del conjunto
ASCII ampliado, el cual está formado por los 128 caracteres del ASCII más los
128 caracteres especiales que presenta.
STRING una cadena de caracteres, palabra o frase (String en inglés) es una secuencia
ordenada de longitud arbitraria (aunque finita) de elementos que pertenecena un cierto
alfabeto. En general, una cadena de caracteres es una sucesión de caracteres (letras,
números o determinados signos).
BOOLEAN El tipo de dato lógico o booleano es en computación aquel que puede
representar valores de lógica binaria, esto es, valores que representen falso o verdadero.
COMO DEFINIR (CREAR) UN CAMPO
En la mayoría de los lenguajes de programación hay una sección en la cual se definen los
campos. Para definir un campo se debe tener en cuenta:
Nombre del campo: El que el programador quiera.
Tipo de campo: Se indica si es Integer, String, char……
algunos lenguajes (como cobol) se especifica el tamaño del campo.
Ejemplo:
VARIABLE
M,B,G,T,Y Integer
L,A String(10)
V Char
M,B,G,T,Y han sido definidos como campos que van a recibir valores enteros únicamente,
L y A pueden recibir únicamente cadenas de caracteres de una longitud máxima de 10.
V puede recibir únicamente un carácter.
En el cuerpo del programa (es decir, en las instrucciones) únicamente se puede utilizar los
campos indicados en la sección de definición de campos, en caso que no sea specificado en
la sección de definición de variables se genera un error conocido como VARIABLE
INDEFINIDA .
8. CONSTANTES
Es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe un valor
en el momento de la compilación y este permanece inalterado durante todo el
programa.
const
Min = 0;
Max = 100;
Sep = 10;
Ahora despues de este repaso, retomemos el rumbo de nuestro trabajo.
DIAGRAMAS DE FLUJO
Reglas para trabajar con diagramas de flujo
De acuerdo al estándar ISO, los símbolos e incluso las flechas deben tener ciertas
características para permanecer dentro de sus lineamientos y ser considerados
sintácticamente correctos.
En el caso del círculo de conexión, se debe procurar usarlo sólo cuando se conecta
con un proceso contenido dentro de la misma hoja.
Existen también conectores de página, que asemejan a una casita y se utilizan para
unir actividades que se encuentran en otra hoja.
En los diagramas de flujo se presuponen los siguientes aspectos:
19. Existe siempre un camino que permite llegar a una solución.
Existe un único inicio del proceso.
Existe un único punto de fin para el proceso de flujo, salvo del rombo que indica
una comparación con dos caminos posibles y además una gran ayuda.
Evitar sumideros infinitos, burbujas que tienen entradas pero no salidas.
Evitar las burbujas de generación espontánea, que tienen salidas sin tener entradas,
porque son sumamente sospechosas y generalmente incorrectas.
Tener cuidado con los flujos y procesos no etiquetados. Esto suele ser un indicio de
falta de esmero, pero puede esconder un error aún más grave: a veces el analista no
etiqueta
un flujo o un proceso porque simplemente no se le ocurre algún nombre razonable.
Sentencias simples
Asignación de variables
Se le asigna un valor a una variable, a través del símbolo de flecha (<--) que dice que el
valor a la derecha tiene que ser asignado a la variable que está a la izquierda.
Ejemplo:
a <-- 10
Se asigna un valor 10 a la variable a. Al escribir esta sentencia por primera vez en un
algoritmo, da por entendido su declaración o creación.
Comúnmente al lado derecho de la flecha, se pueden realizar operaciones aritméticas (+,-
,/,*), para que su resultado se le asigne a la variable. Además en estas operaciones se puede
incluir la misma variable u otras.
INICIO
x <-- 5
y <-- 10
z <-- x + y
z <-- y * x + 7
z <-- x/8 + y/9 + (7 + x/8)
z <-- z + 1
z <-- z * z + y * y
x <-- -x + -y + -3
FIN
Ejemplo:
Determinar cuánto vale (a,b,c) después de las siguientes sentencias de asignación
INICIO
a <-- 2
b <-- a * 4 /* b <-- 2 * 4 = 8 */
a <-- b + 2 * a /* a <-- 8 + 2 * 2 = 12 */
b <-- 2 - a * b /* b <-- 2 - 12 * 8 = 2 - 96 = -94 */
a <-- a - b /* a <-- 12 - -94 = 12 + 94 = 106 */
b <-- -b + 6 /* b <-- --94 + 6 = 94 + 6 = 100 */
FIN
Lectura de variables
En muchos algoritmos, el valor de alguna variable debe ser introducido dinámicamente por
el usuario a través del teclado o algún otro medio. A esa acción le llamaremos "leer", que
consiste en la asignación del valor de entrada, a la variable correspondiente.
Ejemplo:
INICIO
a <-- 12
leer b
a <-- a + b
FIN
20. Si se tiene que leer más de una variable, se pueden escribir usando el separado coma.
Ej: Leer a, b, c /* lee en ese orden las variables a, b y c */
Declaración de una constante
Si se necesita incluir en el algoritmo alguna constante, se debe seguir la misma metodología
de la asignación de variables. pero con la limitación que el identificador debe estar escrito
con letras mayúsculas y que la declaración se haga a continuación del inicio del algoritmo.
Comentarios
Todo comentario de alguna sentencia, debe ir entre los símbolos
/* */.
Los comentarios son útiles para explicar mejor alguna sentencia que puede estar no clara,
para alguien que se enfrenta a las sentencias por primera vez.
Ejemplo:
INICIO
PI <-- 3.14 /* constante */
Leer radio
área <-- 4 * PI * radio * radio /* área de una esfera */
FIN
Método imprimir
Se usará un método llamado "imprimir", para identificar una salida estándar (ej : pantalla o
consola). El método consiste de la palabra "imprimir", seguido de un conjunto de
argumentos, delimitado entre paréntesis.
Imprimir(..argumentos..)
Los argumentos pueden ser de dos tipos: constantes, alfanuméricas o variables. Si se quiere
encadenar una constante con una variable, se debe usar el separador '+'.
Ejemplo :
INICIO
imprimir("Ingrese radio : ") /* imprime el mensaje
constante "Ingrese x : " */ leer radio
imprimir("El valor del radio ingresado es : " + radio) /* se encadena lo constante con lo
variable */
imprimir(r * 2) /* imprime el resultado de la operación aritmética */
FIN
En el caso que la operación tenga el operador suma, se deben adicionar paréntesis para su
correcta interpretación. Debe ser interpretado como un operador aritmético y no de
concatenación.
Imprimir("la suma de a y b es : " + (a + b) )
Imprimir("a + b + c +++") /* como el símbolo suma esta dentro de la cadena constante,
limitada por comillas "", es interpretado como carácter */
21. AHORA SÍ MANOS A LA OBRA
OPERACIONES LÓGICAS
Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en
base al resultado de esta comparación, se siga un curso de acción dentro del programa.
Cabe mencionar que la comparación se puede hacer contra otra variable o contra una
constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las
múltiples.
22. SIMPLES:
Las estructuras condicionales simples se les conoce como Toma de Decisión‖. Estas tomas
de decisión tienen la siguiente forma:
Ejercicios:
Supongamos que realizamos un programa para calcular el salario semanal de un empleado
que trabaja por horas. La empresa paga una tasa de 1.5 la tasa normal por todas las horas
trabajadas superiores a 40.
Leer tasa
Leer HorasTrabajadas
Si HorasTrabajadas > 40 (condición)
entonces (condición se cumple)
paga asa * 40 +1.5 * tasa * (Horas Trabajadas 40)
sino (condición no se cumple)
paga tasa * horas
FinSi
DOBLE
MÚLTIPLE SELECCIÓN
Ejercicio:
Algoritmo de la calculadora
INICIO
imprimir("1.- suma");
Imprimir("2.- resta");
Imprimir("3.- multiplicación")
imprimir("4.- división")
23. imprimir("Ingrese opción : ")
Leer a, b, opción
SELECCIÓN (opción)
1: imprimir("suma de " + a + " y " + b + " igual a : " + (a + b))
2: imprimir("resta de " + a + " y " + b + " igual a : " + (a - b))
3: imprimir("multiplicación de " + a + " y " + b + " igual a : " + (a *b))
4: SI (b != 0) ENTONCES
imprimir("división de " + a + " y " + b + " igual a : " + (a / b))
SINO
imprimir("división por cero --> infinito ")
FIN SI
FIN SELECCIÓN
FIN
MÚLTIPLE
Ejercicio:
INICIO
leer a,b,c
SI (a == b) ENTONCES
SI (b == c) ENTONCES
imprimir("Triángulo Equilátero")
SINO
imprimir("Triángulo Isósceles")
FIN SI
SINO
SI (b == c) ENTONCES
imprimir("Triángulo Isósceles")
SINO
imprimir("Triángulo Escaleno")
FIN SI
FIN SI
FIN
Ejercicio:
INICIO
cs <-- 1 /* cantidad de saltos */
h <-- 0.60 /* altura */
MIENTRAS( h < 3.0 ) HACER
cs <-- cs + 1
h <-- h * 1.3
FIN MIENTRAS
24. imprimir("Cantidad de saltos : " + cs)
imprimir("Altura máxima alcanzada : " + h)
FIN
¿condición?
verdadera
falsa
acción
Ejemplo 1: Algoritmo para identificar el mayor de dos números.
Representación del algoritmo en Pseudocódigo
Inicio
Leer(numero1)
Leer(numero2)
Si numero1>numero2 entonces
Escribir(―El mayor es número 1‖)
Fin_si
Si numero2>numero1 entonces
Escribir(―El mayor es número 2‖) 100
Fin_si
Si numero1=numero2 entonces
Escribir(―Los dos números son iguales‖)
Fin_si
Fin