Está en la página 1de 86

PROGRAMACIÓN

Ing. Darwin Sanchez


GUIA DE ESTUDIOS

CARRERA:
NIVEL: Tecnológico TIPO DE CARRERA:
Tradicional NOMBRE DE LA SIGNATURA: PROGRAMACIÓN
CÓDIGO DE LA ASIGNATURA:
PRE – REQUISITO: CO – REQUISITO: N/A
TOTAL HORAS: Teoría 36 Práctica 54 Trabajo independiente __8_
NIVEL: SEGUNDO PERIODO ACADÉMICO: junio – octubre 2021
MODALIDAD: Presencial DOCENTE RESPONSABLE: Ing Darwin Sanchez

2
Ing. Darwin Sánchez
Programación

ÍNDICE
GUIA DE ESTUDIOS 2

PRESENTACIÓN 8

ORIENTACIONES PARA EL USO DE LA GUÍA DE ESTUDIOS 9

DESARROLLO DE ACTIVIDADES 11

Unidad Didáctica I 11

Título de la Unidad Didáctica I: 11

Proceso De Programación 11

Introducción de la Unidad Didáctica I: 11

Objetivo de la Unidad Didáctica I: 11

Organizador Gráfico de la Unidad didáctica I: 11

Actividades de aprendizaje de la Unidad Didáctica I: 12

Actividad de Aprendizaje 1 de la Unidad Didáctica I: 12

Operaciones de las computadoras. – 12

Partes del computador 14

Lenguajes de alto y bajo nivel 15

Actividad de Aprendizaje 2 de la Unidad Didáctica I: 16

Tipos de datos y operadores 16

Operadores y expresiones 17

3
Actividad de Aprendizaje 3 de la Unidad Didáctica I: 19

Diagramas de flujo 19

Estructuras Repetitivas 21

Actividad de Aprendizaje 4 de la Unidad Didáctica I: 22

Sentencias Simples y condicionales 22

Actividad de Aprendizaje 5 de la Unidad Didáctica I: 26

Aplicaciones con Diagramas de Flujo de Datos 26

Actividades de Autoevaluación de la Unidad Didáctica I: 31

Actividad de Evaluación de la Unidad Didáctica I: 31

Unidad Didáctica II 32

Título de la Unidad Didáctica II: 32

Algoritmos 32

Introducción de la Unidad Didáctica II: 32

Objetivo de la Unidad Didáctica II: 32

Organizador Gráfico de la Unidad didáctica II: 32

Actividades de aprendizaje de la Unidad Didáctica II: 33

Actividad de Aprendizaje 1 de la Unidad Didáctica II: 33

Introducción a la estructura de datos 33

La Herramienta Pseint 33

Ambientación a la herramienta 34

Pseint - tipos de datos 35

Pseint – operadores 36

Actividad de Aprendizaje 2 de la Unidad Didáctica II: 37

Estructuras Simples 37

Actividad de Aprendizaje 3 de la Unidad Didáctica II: 38

4
Ing. Darwin Sánchez
Programación

Estructuras condicionales 38

Actividad de Aprendizaje 4 de la Unidad Didáctica II: 44

Estructuras repetitivas 44

Actividad de Aprendizaje 4 de la Unidad Didáctica II: 48

Estructuras repetitivas “repetir’” 48

Algoritmos con funciones 49

Actividad de Aprendizaje 5 de la Unidad Didáctica II: 51

Aplicaciones con pseint 51

Actividades de Auto-evaluación de la Unidad Didáctica II: 51

Actividad de Evaluación de la Unidad Didáctica II: 51

Unidad Didáctica III 52

Título de la Unidad Didáctica III: 52

Introducción al lenguaje de programación C 52

Introducción de la Unidad Didáctica III: 52

Objetivo de la Unidad Didáctica III: 52

Organizador Gráfico de la Unidad didáctica III: 53

Actividad de Aprendizaje 1 de la Unidad Didáctica III: 53

Introducción a lenguaje C++ 53

Estructura del lenguaje c++ 53

Identificadores 54

Reglas para nombrar un Identificador 54

Formatos de identificadores 55

Actividad de Aprendizaje 2 de la Unidad Didáctica III 55

Variables 55

Actividad de Aprendizaje 3 de la Unidad Didáctica III 56

Constantes c++ 56

5
Declaración de constantes 57

Constantes definidas 57

Actividad de Aprendizaje 4 de la Unidad Didáctica III 58

Entrada de datos en c++ 58

Salida de datos en c++ 60

Actividad de Aprendizaje 5 de la Unidad Didáctica III 61

Inicialización y asignación de variables. 61

Operadores Matemáticos 62

Operadores lógicos 63

Estructuras de control if 63

Estructura de control if else 64

Estructuras de control Switch 65

Estructuras de control bucle For 66

Estructuras de control bucle While 66

Estructuras de control Bucle do while 67

Actividades de Autoevaluación de la Unidad Didáctica 3: 70

Actividad de Evaluación de la Unidad Didáctica 3: 70

Unidad Didáctica 4 71

Título de la Unidad Didáctica 4: 71

Proceso De Programación 71

Introducción de la Unidad Didáctica 4: 71

Objetivo de la Unidad Didáctica 4: 71

Organizador Gráfico de la Unidad didáctica 4: 71

Actividades de aprendizaje de la Unidad Didáctica 4: 72

Actividad de Aprendizaje 1 de la Unidad Didáctica 4: 72

6
Ing. Darwin Sánchez
Programación

Definición de Programación Estructurada 72

Comentarios en la Estructura 72

Actividad de Aprendizaje 2 de la Unidad Didáctica 4: 72

Directivas en la sintaxis de un programa 72

Actividad de Aprendizaje 3 de la Unidad Didáctica 4: 73

Cabeceras en la estructura de un programa 73

Actividad de Aprendizaje 4 de la Unidad Didáctica 4: 74

Símbolos e instrucciones necesarios en un programa. 74

Introducción a las Funciones 75

Tipos de funciones 75

Actividad de Aprendizaje 4 de la Unidad Didáctica 4: 76

Estructura mínima de un programa en lenguaje C 76

Cadenas de Caracteres 77

Recursividad 77

Actividades de Autoevaluación de la Unidad Didáctica 4: 78

Actividad de Evaluación de la Unidad Didáctica 4: 78

7
8
Ing. Darwin Sánchez
Programación

PRESENTACIÓN

La asignatura de programación busca en el estudiante una oportunidad al


acercamiento de las nuevas tecnologías de programación que existen en el
medio, la programación es una herramienta básica para cualquier graduado en
Electrónica. En concreto, Programación es una asignatura base para todos los
niveles y representa el primer contacto que tienen los estudiantes con la
programación; disciplina que desarrollará a lo largo de la carrera acogiéndose a
varios retos en el desarrollo de aplicaciones. En ella se presenta una
introducción a la programación, desarrollando técnicas, y métodos para diseñar
algoritmos simples y complejos en cualquier caso no representan una
alternativa al diseño descendente, sino que se trata de técnicas
complementarias, cada una con su campo de aplicación específico.

La presente guía describe el proceso que dedicará el estudiante para cumplir


los objetivos planteados y adquirir las competencias que se plantean en el
syllabus que va encaminado desde lo general a lo particular empezando desde
el diseño de diagramas de flujo, donde el estudiante conoce el proceso de la
programación entra en detalle con la diagramación del flujo de datos; siguiendo
con el proceso de creación de algoritmos en pseudocódigo para lograr una
programación lineal y estructurada, con algoritmos simples y de mediana
complejidad; para finalizar continua con la programación con el lenguaje en
C++, realizando programas estructurados con instrucciones de forma
secuencial y estructurada, siendo capaz de dedicar al diseño de algoritmos y su
análisis un mayor esfuerzo, esto no serviría de nada si no se pudieran ejecutar
los algoritmos para poder aplicarlos a problemas concretos.

La asignatura tiene 4 unidades. Esto se traduce en 116 horas de trabajo y se


refleja su desglose en el syllabus. Este trabajo incluye la asistencia activa a las
clases presenciales de grupo y de laboratorio, el estudio, las búsquedas
bibliográficas, realización de ejercicios y pruebas de autoevaluación, resolución

9
de las prácticas de laboratorio y realización de las pruebas de evaluación
continua.

ORIENTACIONES PARA EL USO DE LA GUÍA DE ESTUDIOS

Antes de empezar con nuestro estudio, debes tomar en cuenta lo siguiente:

1. Todos los contenidos que se desarrollen en la asignatura contribuyen a tu


desarrollo profesional, ética investigativa y aplicación en la sociedad.
2. El trabajo final de la asignatura será con la aplicación de la metodología de
investigación científica.
4. En todo el proceso educativo debes cultivar el valor de la constancia porque
no sirve de nada tener una excelente planificación y un horario, si no eres
persistente.
5. Para aprender esta asignatura no memorices los conceptos, relaciónalos
con la realidad y tu contexto, así aplicarás los temas significativos en tu vida
personal y profesional.
6. Debes leer el texto básico y la bibliografía que está en el syllabus sugerida
por el docente, para aprender los temas objeto de estudio.
7. En cada tema debes realizar ejercicios, para ello debes leer el texto
indicado para después desarrollar individual o grupalmente las actividades.
8. A continuación te detallo las imágenes que relacionadas a cada una de las
actividades:

Imagen Significado
Sugerencia

10
Ing. Darwin Sánchez
Programación

Talleres

Reflexión

Subir Tareas al Aula


Virtual Amauta

Apunte clave

Foro

Resumen

Evaluación

9. Ánimo, te damos la bienvenida a este nuevo periodo académico.

11
DESARROLLO DE ACTIVIDADES

Unidad Didáctica I
Título de la Unidad Didáctica I:
Proceso De Programación
Introducción de la Unidad Didáctica I:
La presente unidad de trabajo presenta unidad se trata de lograr que el
estudiante conozca la forma de trabajo de las herramientas de programación.
La programación con diagramas de flujo de datos es un tema muy importante
que permite al estudiante familiarizarse con las herramientas de programación
con diagramas de flujo, la programación que se describe es a través de
diagramación, que representan una funcionalidad en cada proceso de forma
secuencial.

Objetivo de la Unidad Didáctica I:


Analizar el proceso de programación a través de procedimientos
sistematizados en los diagramas de flujo para resolución y aplicación de
programas de aplicación

12
Ing. Darwin Sánchez
Programación

Organizador Gráfico de la Unidad didáctica I:

Actividades de aprendizaje de la Unidad Didáctica I:


Actividad de Aprendizaje 1 de la Unidad Didáctica I:

Operaciones de las computadoras. –


Las operaciones fundamentales de las computadoras se encuentran divididas
en cuatro etapas o funcionamientos que son: Entrada, Proceso,
Almacenamiento, Salida.
1. Entrada: En un proceso de entrada, las computadoras usan los periféricos de
este tipo para el ingreso de datos estos pueden ser: Mouse, teclado, memorias,
micrófonos etc., además se puede usar dispositivos electrónicos que usen que
se usen en forma de sensores para capturar datos del entorno. Para que
funcione la comunicación entre los periféricos y el CPU existe una unidad de
entrada y Salida de datos, (en donde se almacenan los drivers), es la que se

13
encarga de traducir las señales que envían los periféricos, para que el
ordenador pueda entender, por así decirlo.
2. Proceso: Luego de la captura de los datos la computadora realiza
procedimientos que ayudan a transformar los datos en información para lo cual
se pueda realizar toma de decisiones.
● Máquina de ejecución secuencial de instrucciones
● Programa=secuencia de instrucciones
● Instrucciones y datos almacenados en memoria
● Memoria organizada en direcciones
● Instrucciones, datos y operaciones en binario
3. Almacenamiento: Cuando los datos han sido procesados el ordenador
necesita almacenarlos ya sea temporal (memoria principal RAM), o ya sea en
almacenamiento masivo (secundario), para que luego sean usados por los
diferentes dispositivos o el mismo procesador.
4. Salida: el computador se comunica con un periférico de salida, a través de
una unidad de entrada y salida de datos (donde se encuentran los drivers),
quien interpreta la salida para que se entregue la información en el formato
adecuado, es decir el formato en que trabaja el periférico.
Para comprender el proceso que realiza un computador, al realizar operaciones
básicas, se observa en la figura 1 que se realiza desde leer la instrucción de
memoria, y sigue el ciclo hasta terminar el proceso.

14
Ing. Darwin Sánchez
Programación

Figura 1. Proceso de la programación.

El proceso que realizan las computadoras se lo realiza mediante el uso de


Direcciones de memoria y contenido para la realización de procesos.

El mismo esquema se usa para cualquier tipo de proceso que


realiza la computadora, por eso se recomienda seguir el ciclo
repetidas veces hasta obtener el resultado.

Tabla 1. Tabla representativa de direcciones de memoria.


DIRECCIÓN CONTENIDO EXPRESIÓN
000…000 01101100
000…001 00101110
000…010 11111100

15
….
Inst1: 11101100 MOV X,3
Inst2: 11101011 MOV Z, X
Inst3: 01101101 ADD Z,Y

X: 00000000 0
Y: 00000111 7
Z: 00000010 2

Partes del computador


En el proceso intervienen varios factores y es necesario indicar las partes del
computador:
Unidad de Control (CU): organiza el funcionamiento del computador
Unidad Aritmético Lógica (ALU): ejecuta operaciones aritméticas (+,-,*,/) y
lógicas a nivel de bit (AND, OR, …).
Registros: lugares de almacenamiento temporal de información
Memoria: lugar principal de almacenamiento de información (código y datos)
Dispositivos de E/S: permiten la comunicación con el exterior.

16
Ing. Darwin Sánchez
Programación

Lenguajes de alto y bajo nivel


Lenguajes de bajo nivel: Son instrucciones que ensamblan los grupos de
conmutadores necesarios para expresar una mínima lógica aritmética. Están
íntimamente vinculados al hardware. Por norma general están disponibles a
nivel firmware o ship set. Estos lenguajes están orientados a procesos. Los
procesos se componen de tareas. Contienen tantas instrucciones como la
arquitectura del hardware así haya sido diseñada, un ejemplo de este lenguaje
es el ensamblador.

Lenguajes de alto nivel: Son aquellos que permiten una máxima flexibilidad al
programador a la hora de abstraerse o ser literal. Permiten un cambio
direccional entre el lenguaje maquina y una expresión oral en la escritura del
programa y su posterior compilación. Estos lenguajes están orientados a
objetos. Los objetos se componen de propiedades cuya naturaleza emerge de
procedimientos.

Ejemplos: C++, Fortran, Cobol y Lisp.

La principal diferencia entre el lenguaje de alto nivel y el lenguaje de bajo nivel


es que, los programadores pueden comprender, interpretar o compilar
fácilmente el lenguaje de alto nivel en comparación con la máquina. Por otro
lado, la maquina puede entender fácilmente el lenguaje de bajo nivel en
comparación con los seres humanos.

Ejemplos de lenguajes de alto nivel son C, C ++, Java, Python, etc.

La diferencia entre los lenguajes de alto y bajo nivel:

Tabla 2. Diferencias entre lenguajes de alto y bajo nIvel


Lenguaje de alto nivel Lenguaje de bajo nivel
1. Es un lenguaje amigable para 1. Es un lenguaje amigable para las
programadores. máquinas.
2. El lenguaje de alto nivel es menos 2. El lenguaje de bajo nivel es muy
eficiente en la memoria. eficiente en memoria.
3. Es fácil de entender. 3. Es difícil de entender.

17
4. Es fácil de depurar. 4. Es complejo depurar
comparativamente.
5. Es fácil de mantener. 5. Es complejo de mantener
comparativamente.
6. Es portátil. 6. No es portátil.
7. Puede ejecutarse en cualquier 7. Depende de la máquina.
plataforma.
8. Necesita compilador o intérprete 8. Necesita ensamblador para la
para la traducción. traducción.
9. Se usa ampliamente para No se usa comúnmente en la
programación. actualidad en la programación.

Actividad de Aprendizaje 2 de la Unidad Didáctica I:

Tipos de datos y operadores


Para adentrarse en los tipos de datos y operadores, primero debemos definir lo
que es dato;

Dato es una representación simbólica de tipo numérica, alfanumérica, etc. El


dato puede variar durante el proceso de la información cómo mantener el
mismo valor de inicio a fin. el dato es considerado la materia prima del
computador o de un algoritmo, ya que se requiere de este para ser procesado,
transformado o almacenado como información.

En cambio, la información es la colección de datos que ordenados tiene un


sentido. la información es el elemento ya procesado es decir que cuando los
datos que han sido receptados por el computador ya han sido transformados
en información.

Tipos de datos

Los tipos de datos son considerados que su forma de tratarlo es decir que
dependiendo de su naturaleza, es como debe ser tratado.

Y se clasifican en:

Números enteros

18
Ing. Darwin Sánchez
Programación

Son los datos numéricos de tipo entero finito, ya sean positivos o negativos. No
toman la parte decimal o fraccional

Números con punto flotante.

Llamados también flotantes, son los datos numéricos de tipo fraccional o


decimal, ya sea positivos o negativos. Incluye los datos numéricos enteros que
contengan parte decimal y fraccional.

Alfanuméricos

Son los datos que incluyen datos numéricos y alfabéticos si los datos
numéricos pasan a ser un dato alfanumérico estos pierden sus propiedades
matemáticas debido a que ya no se pueden hacer operaciones con ellos.

Caracter

Son los datos que reconoce la computadora las que incluye el teclado y código
aquí pero sólo se usan un solo carácter para ser representados ejemplo, puede
ser una letra, un número, un símbolo, etc.

Cadena de caracteres

Son la sucesión de caracteres delimitados entre comillas o apóstrofes según el


tipo de lenguaje de programación es muy utilizado para poder llenar datos de
personas que permiten la interactividad entre máquina y el mismo usuario
ejemplo, “calle 25 de junio entre tarqui y colon”, “mi número de teléfono es
254328”, “escriba su nombre en el espacio”,etc.

Tipos de datos lógicos.

Reconocidos como booleanos son los datos que permiten tomar decisiones
entre 2 valores o más y reconocidos como datos condicionales.

Ejemplos sí o no coma falso o verdadero, True o false.

19
Operadores y expresiones
Expresiones: constantes, variables, operadores, con lo que se realizan las
operaciones y permite obtener un resultado.

Ejemplo:

resultado <- a*(2*b+5)/c

cal_final <- (cali1+cali2)/2

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: para efectos de diagramas de flujo de datos el


operador de asignación que se utiliza es ←.

Sirve para recuperar o guardar los valores obtenidos al realizarse o ejecutarse


una expresión.

Operadores de relación

● Mayor que >

● Menor que <

● Mayor igual que >=

● Menor igual que <=

20
Ing. Darwin Sánchez
Programación

● Igual =

● Diferencia < > !=

● Son empleados para comparar dos ó más valores.

● Su resultado produce valores como verdadero y falso.

● Tienen el mismo nivel de prioridad.

● Son empleados para comparar dos valores (verdadero y falso)

● Su resultado produce valores como verdadero y falso.

● Los tres tienen el mismo nivel de prioridad.

Actividad de Aprendizaje 3 de la Unidad Didáctica I:

Diagramas de flujo
Un diagrama de flujo es una representación gráfica de un proceso.

Para efectos de esta asignatura y para dar cumplimiento a esta unidad


didáctica. Se utilizará un software llamado free DFD, el mismo que está
diseñado para construir y analizar algoritmos.

En el cual se puede crear diagramas de flujo de datos para representación de


algoritmos de programación estructurada a partir de las herramientas de
edición que para este propósito suministra el programa. Luego de haber
ingresado el algoritmo representado por el diagrama, podrá ejecutarlo,
analizarlo y depurarlo en un entorno interactivo diseñado para este fin. La
interfaz del programa.

Facilita en gran medida el trabajo con diagramas de flujo de datos. Ya que


simula la representación estándar de un diagrama de flujo que se puede
realizar en hojas de papel.

21
Diagramas de flujo condicionales

Figura 2, Fuente Manual de programa Free DFD

El objeto decisión selecciona el flujo a seguir de acuerdo al valor lógico de una


condición. La condición debe ser siempre una expresión que al ser evaluada de
como resultado un valor de tipo de dato Lógico.

Ejemplo : 3<w , x >0 AND sw = .V. , valor*15 < 300*contador.

22
Ing. Darwin Sánchez
Programación

El objeto Decisión este asociado a dos bloques de objetos ubicados a lado y


lado de este, y un objeto Cierre Decisión ubicado a continuación de ambos
bloques.
Si al evaluar la condición se obtiene el valor lógico .V., se ejecuta el bloque
rotulado con la palabra Si, en caso contrario se ejecuta el bloque rotulado con
No. En ambos casos la ejecución continua en el objeto Cierre Decisión.

Figura 3, Fuente programa Free DFD

El cuadro de dialogo del objeto Decisión contiene espacio para la expresión


que conforma la condición, y dos casillas por medio de las cuales se puede
especificar por cual lado continuara el flujo en caso de que la condición sea
verdadera.
Desarrollar los siguientes ejercicios
Una tienda ofrece un descuento del 15% sobre el total de la compra y un
cliente desea saber cuánto deberá pagar finalmente por su compra.
Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre
su salario anterior.
Determinar si un número es par, impar o cero
Estructuras Repetitivas
Repetitivas: Este tipo de estructura se utilizan para ejecutar acciones
repetidamente, esto se hace posible mediante una secuencia de instrucciones

23
que se repiten una y otra vez y así evitamos escribir múltiples veces las
mismas sentencias.
Ciclo Para
Esta estructura ejecuta los pasos de la solución del algoritmo un número
definido de veces y de modo automático controla el número de iteraciones o
pasos a través del cuerpo del ciclo.
Para el control se utiliza un contador en el cual se va acumulando el número de
veces que se ha repetido las instrucciones.

Figura 4, Fuente programa Free DFD

Mientras
Este bucle repetitivo se utiliza cuando NO sabemos el número de iteraciones
que se ha de repetir un ciclo, los ciclos se determinan por una condición que se
evalúa al inicio del ciclo, es decir, antes de ejecutarse todos los pasos.

El diagrama es:

24
Ing. Darwin Sánchez
Programación

Figura 5, Fuente Programa Free DFD

Actividad de Aprendizaje 4 de la Unidad Didáctica I:


Sentencias Simples y condicionales
Diagramas de flujo de datos ejercicios con operadores aritméticos:
Ejercicio No: 1
Determinar la hipotenusa de un triángulo rectángulo, pidiendo al usuario sus
catetos.

Diagrama de Flujo

25
Ejercicios propuestos:
● ¿Qué falta en este algoritmo? ¿Qué errores presenta?
● Desarrollar un algoritmo que calcule el área de un cuadrado.
Ejercicio No: 2
Desarrolle un algoritmo que permita determinar el área y volumen de un cilindro
dado su radio (R) y altura (H).
Diagrama de Flujo

Ejercicio propuesto:
a. Realiza un algoritmo que le permita determinar el área de un rectángulo.

26
Ing. Darwin Sánchez
Programación

Diagramas de flujo de datos ejercicios con operadores lógicos:


Ejercicio No: 3

Desarrolle un algoritmo que permita leer dos valores distintos, determinar cuál
de los dos valores es el mayor y escribirlo.
Diagrama de Flujo

Ejercicios propuestos:
a. Realizar un algoritmo que permita leer dos valores, determinar cuál de los
dos valores es el menor y escríbalo
b. Realizar un algoritmo que sume dos números.

Ejercicio No: 4

Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las


variables A, B y C respectivamente. El algoritmo debe imprimir cual es el mayor
y cuál es el menor. Recuerde constatar que Los tres valores introducidos por el
teclado sean valores distintos. Presente un mensaje de alerta en caso de que
se detecte la introducción de valores iguales.

27
Diagrama de Flujo

Ejercicios propuestos:

● ¿Es este algoritmo la solución perfecta al ejercicio anterior? Razone su


respuesta.
● De ser necesario ¿qué cambios deberá realizar? Indíquelos.
● Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las
variables A, B, y C respectivamente. El algoritmo debe indicar cual es el
menor. Asumiendo que los tres valores introducidos por el teclado son
valores distintos.
● Desarrolle un algoritmo que lea cuatro números diferentes y a continuación
imprima el mayor de los cuatro números introducidos y también el menor
de ellos.

28
Ing. Darwin Sánchez
Programación

Actividad de Aprendizaje 5 de la Unidad Didáctica I:


Aplicaciones con Diagramas de Flujo de Datos
Ejercicio No: 5

Desarrolle un algoritmo que permita leer un valor cualquiera N y escriba si


dicho número es par o impar.

Diagrama de Flujo

Ejercicios propuestos:
a. Complete el algoritmo con la instrucción o instrucciones necesarias.
b. Desarrolle un algoritmo que le permita determinar de una lista de
números:
b.1. ¿Cuántos están entre el 50 y 75, ambos inclusive?
b.2. ¿Cuántos mayores de 80?
b.3. ¿Cuántos menores de 30?

El algoritmo debe finalizar cuando n (el total de números de la lista), sea igual
a 0.

29
Ejercicio No: 6
Desarrolle un algoritmo que permita convertir calificaciones numéricas, según
la siguiente tabla:
A = 19 y 20, B =16, 17 y 18, C = 13, 14 y 15, D = 10, 11 y 12, E = 1 hasta el
9. Se asume que la nota está comprendida entre 1 y 20.

Diagrama de Flujo

30
Ing. Darwin Sánchez
Programación

Ejercicio propuesto:
● Realiza el mismo algoritmo utilizando Mientras (While); también hacerlo
utilizando En Caso (Case)

Ejercicio No: 7

Desarrolle un algoritmo que permita leer dos números y ordenarlos de menor a


mayor, si es el caso.
Diagrama de Flujo

Ejercicio Propuesto:

Desarrolle un algoritmo que permita realizar la escritura de los primeros 100


números naturales utilizando la estructura Mientras (While).

31
Ejercicio No: 8
Desarrolle un algoritmo que permita leer un valor entero positivo N y
determinar si es primo o no.

Diagrama de Flujo

32
Ing. Darwin Sánchez
Programación

Ejercicio propuesto:
● ¿Qué falta en este algoritmo? ¿ Qué errores presenta?
● Realice un algoritmo que determine los veinte primeros números,
¿Cuáles son múltiplos de 2?.
● Realice un algoritmo que determine cuantos minutos hay en 5 horas.

Ejercicio No: 9

Desarrolle un algoritmo que realice la sumatoria de los números enteros


comprendidos entre el 1 y el 10, es decir, 1 + 2 + 3 + …. + 10.

Diagrama de Flujo

33
Ejercicios propuestos:

● Desarrolle un algoritmo que realice la sumatoria de los números enteros


múltiplos de 5, comprendidos entre el 1 y el 100, es decir, 5 + 10 + 15 +….
+ 100. El programa deberá imprimir los números en cuestión y finalmente
su sumatoria

● Desarrolle un algoritmo que realice la sumatoria de los números enteros


pares comprendidos entre el 1 y el 100, es decir, 2 + 4 + 6 +…. + 100. El
programa deberá imprimir los números en cuestión y finalmente su
sumatoria

34
Ing. Darwin Sánchez
Programación

● Desarrolle un algoritmo que lea los primeros 300 números enteros y


determine cuántos de ellos son impares; al final deberá indicar su
sumatoria.

Actividades de Autoevaluación de la Unidad Didáctica I:


Cierta universidad para liquidar el pago de matrícula de un estudiante le exige
los siguientes datos:

Número de inscripción, Nombres, Patrimonio y Estrato social. La universidad


cobra un valor fijo a cada estudiante de $1‟500.000. Si el patrimonio es mayor
de $2000.000 y el estrato superior a 4, se le incrementa la matrícula en un 3%
sobre el patrimonio. Hacer un algoritmo que muestre: Número de inscripción,
Nombres, nuevo valor de la matrícula.

Actividad de Evaluación de la Unidad Didáctica I:


Realización de Actividad de Evaluación, desarrollada de forma presencial, y
tendrá una duración de 2 Horas.

35
Unidad Didáctica II
Título de la Unidad Didáctica II:
Algoritmos
Introducción de la Unidad Didáctica II:
La unidad didáctica de Algoritmos se luego de tener conocimientos de
diagramas de flujo aplicando los fundamentos básicos de la programación.
En la unidad se destaca la interpretación del proceso de la programación
basándose en algoritmos, los cuales son procesos escritos de forma lineal (la
cual se llamará sentencia), es decir que se escribirá código en un lenguaje
natural denominado pseudocódigo.

Objetivo de la Unidad Didáctica II:


Interpretar algoritmos secuenciales con proceso de sentencias lineales,
mediante la utilización de pseudocódigo con la herramienta PseInt para
solucionar problemas de lógica de programación.

Organizador Gráfico de la Unidad didáctica II:

36
Ing. Darwin Sánchez
Programación

Actividades de aprendizaje de la Unidad Didáctica II:


Actividad de Aprendizaje 1 de la Unidad Didáctica II:
Introducción a la estructura de datos
Emplear un dato, cuyo valor cambia, implica usar una variable, que en
programación imperativa equivale a darle un nombre a un lugar de la memoria,
donde se almacenará el valor que se necesite.

Esto en contrapartida con el uso de constantes que son justamente valores que
no cambian.

Hasta ahora se tiene en cuenta que se almacena en una variable un único valor
simple, de un tipo dado, a la vez. Sin embargo, más de una vez será necesario
conservar más de un valor. Esto es fácil de realizar empleando variables para
cada uno de los valores que sean necesarios. Sin embargo, hay veces que
estos datos, por alguna razón, tienen una unidad conceptual y conviene
mantenerlos juntos y no separados en variables distintas. Por ejemplo, todos
los datos que corresponden a una persona, tales como su edad, el estado civil,
su nombre y apellido, dirección, documento de identidad, etc.

Así, estos datos, deberían, entonces, poder ser agrupados en una unidad, que
llamaremos estructura de datos. Una estructura de datos es un conjunto de
datos que se agrupan por alguna razón.

Este agrupamiento lleva implícito un almacenamiento de cada uno de los


componentes de la estructura. Llamaremos elementos de la estructura a cada
uno de sus componentes, es decir, a cada uno de los datos que forman parte
de ella. Una estructura de datos presupone un conjunto de elementos y tiene,
al menos potencialmente, la posibilidad de tener más de un elemento, de lo
contrario no podría hablarse de estructura.

37
La Herramienta Pseint
PSeInt (Pseudo Intérprete) es un Entorno de Desarrollo Integrado (IDE, por sus
siglas en inglés) para Pseudocódigo, un lenguaje de programación imperativa
simple y en castellano.

Es decir, PSeInt es un editor e intérprete de programas escritos en


Pseudocódigo. Su interfaz gráfica permite crear, almacenar, ejecutar y corregir
fácilmente programas en Pseudocódigo.

La sencillez del lenguaje Pseudocódigo lo hacen ideal para la enseñanza de la


programación. Permite escribir programas con instrucciones condicionales
(Si-Entonces-Sino, Segun) y ciclos (Mientras, Hasta Que, Para), y también usar
valores numéricos (números decimales), lógicos, caracteres y arreglos.
También provee funciones de entrada/salida y algunas funciones matemáticas.

Figura 6, Fuente Programa PseInt


Ambientación a la herramienta
PSeInt está orientado para todo público que inicia en la construcción de
programas o algoritmos computacionales.

38
Ing. Darwin Sánchez
Programación

El pseudocódigo se suele utilizar como primer contacto para introducir


conceptos básicos como el uso de estructuras de control, expresiones,
variables, etc., sin tener que lidiar con las particularidades de la sintaxis de un
lenguaje real, esto para ayudar al estudiante en ambientarse a escribir código.
Este software pretende facilitarle al principiante la tarea de escribir algoritmos
en este pseudo-lenguaje presentando un conjunto de ayudas y asistencias, y
brindarle además algunas bondades adicionales que le ayuden a encontrar
errores y comprender la lógica de los algoritmos. PSeInt es una herramienta
para asistir a un estudiante en sus primeros pasos en programación. Mediante
un simple e intuitivo pseudo-lenguaje en español (complementado con un editor
de diagramas de flujo), le permite centrar su atención en los conceptos
fundamentales de la algoritmia computacional, minimizando las dificultades
propias de un lenguaje y proporcionando un entorno de trabajo con numerosas
ayudas y recursos didácticos.

Figura 7. Estructura de un programa, Fuente PseInt

39
Pseint - tipos de datos
En el mundo de la programación se manejan mucha información, la cual esta
conformada por datos.

¿Qué son datos?

Los datos son un conjunto de caracteres sin orden o sentido, representaciones


conceptuales del mundo real.

¿Qué es un carácter?

Un carácter puede ser una letra, un número, un símbolo.

Los lenguajes de programación han optado en clasificar esos datos para indicar
al ordenador que clase de operación se va a procesar.

La mayoría de los lenguajes de programación son lenguajes tipados, o sea


tienen predefinidos un estándar en cuanto se refiere a los datos.

Los tipos de datos más comunes son enteros, reales(decimales), caracteres


(cadenas de texto), y lógicos.

En PsInt tenemos los siguientes tipos de datos:


Tipo de Dato Descripción
Entero. Números enteros negativos y positivos
Real. Números con punto decimal negativos y positivos
Carácter. Letras, números o caracteres especiales. Cabe recalcar
que si inicializamos una variable que pertenece a este tipo
de datos no se podrán realizar operaciones matemáticas.
Lógico. Valores booleanos de falso o verdadero.

Pseint – operadores
Este Pseudo - lenguaje dispone de un conjunto básico de operadores que
pueden ser utilizados para la construcción de expresiones más o menos
complejas.
Las siguientes tablas exhiben la totalidad de los operadores de este lenguaje
reducido:

40
Ing. Darwin Sánchez
Programación

Figura 8: Fuente Software PseInt

Pseint - operadores lógicos ejemplos

Proceso Lógico
Definir mu1, num2 Como Entero;
Definir resultado Como Lógico;
num1<-67;
num2<-78;
resultado<-num1<num2 | num1 <=num2;
Escribir resultado;
FinProceso

Actividad de Aprendizaje 2 de la Unidad Didáctica II:


Estructuras Simples
Son aquellas estructuras que se realizan secuencialmente y no existe alguna
estructuras de carácter condicional, repetitiva, o subproceso.
Ejercicios en PseInt

41
Dado un número que es ingresado en segundos, convertir dicho número a
minutos y segundos respectivamente.

Algoritmo Convertidor
Definir n, min,seg Como Entero;
Escribir Sin Saltar "Ingresa un número en segundos: ";
Leer n;
min<-trunc(n/60);
seg <- n-(min*60);
Escribir "Los minutos del número dado son: ", min;
Escribir "Los segundos del número dado son: ", seg;
FinAlgoritmo

Pseint – operadores aritméticos ejemplos

Algoritmo
Definir a, b, c Como Entero;
a <-10;
b<-5;
c<-5+3*2/3*3+5;
Escribir c;
Fin Algoritmo

- Proceso de Operaciones básicas


Proceso OperacionesBasicas
Definir a, b, s, r, m, d Como Entero;
Escribir “Este Programa realiza las Operaciones Básicas”;
Escribir “Digite el primer numero”;
Leer a;
Escribir “Digite el segundo numero”;
Leer b;
s<-a+b;
r<-a-b;
m<-a*b;
d<-a/b;
Escribir “El resultado de ”,a,” + ”,b,” = ”,s;
Escribir “El resultado de ”,a,” - ”,b,” = ”,r;
Escribir “El resultado de ”,a,” * ”,b,” = ”,m;

42
Ing. Darwin Sánchez
Programación

Escribir “El resultado de ”,a,” / ”,b,” = ”,d;


Fin Algoritmo

Actividad de Aprendizaje 3 de la Unidad Didáctica II:


Estructuras condicionales
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.

Encontrar personas que tengan mayor igual que 18 y menor que 90.
Proceso Lógica
Definir edad Como Entero;
Escribir “Ingrese un número”;
Leer edad;
Si ((edad>=18)y(edad<90)) Entonces
Escribir “Esta es la persona que estamos buscando”
Fin si
FinProceso

Estructuras condicionales simples


Algoritmo numeroReal
Definir num como Real;
Escribir “Ingrese un número”;
Leer num;
Si num>0 entonces
Escribir “Numero Positivo”;
FinSi
FinAlgoritmo

Solución mediante problema.


Un hombre desea saber cuánto dinero se genera por concepto de intereses
sobre la cantidad que tiene en inversión en el banco. El decidirá reinvertir los

43
intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber
cuánto dinero tendrá finalmente en su cuenta.
Algoritmo Inversión
Definir cap,interes capfinal Como Real;
Definir ti Como Entero;
Escribir “Cantidad a invertir”;
Leer cap;
Escribir “Tasa de interes”;
Leer ti;
Interés<- cap*ti/100;
Si interés>7000 Entonces
Capfinal<-cap+interés;
Sino
FinSi
Escribir “su capital es: “, capfinal;
FinAlgoritmo

Ejercicio Propuesto

Dado un monto de compra calcular su descuento,


considerando que por encima de $200, el descuento es del
20% y por debajo de 200 es de 10%.

Estructuras condicionales dobles


Las estructuras condicionales dobles permiten elegir entre dos opciones o
alternativas posibles en función del cumplimiento o no de una determinada
condición. Se representa de la siguiente forma:

Pseudocódigo Diagrama de Flujo

44
Ing. Darwin Sánchez
Programación

Si <Condición> entonces
Instruciones
(sentencias);
Sino
Instruciones
(sentencias);
FinSi

Ejemplo 1

Calcular el promedio de tres calificaciones

Análisis

Para obtener el promedio se suman las calificaciones y se divide entre la


cantidad de ellas; en el caso la evaluación es de 0 a 10; dónde de 0 a 6,99 es
desaprobado y 7 a 10 es aprobado; por lo tanto, si la calificación es mayor que
6.99 mostrará el mensaje de aprobado caso contrario desaprobado.

Algoritmo Calificaciones
Definir n1, n2, n3 como Entero;
Definir prom como Real;
Escribir "Ingrese Nota 01 : ";
Leer n1;
Escribir "Ingrese Nota 02 : ";
Leer n2;
Escribir "Ingrese Nota 03 : ";
Leer n3;
Prom <- (n1+n2+n3)/3;
Si prom > 6.99 Entonces
Escribir "APROBADO : ", Prom;
SiNo
Escribir "DESAPROBADO : ", Prom;
FinSi
FinAlgoritmo

Ejemplo 2

45
Programa un algoritmo que lea tres números y los imprima de mayor a menor y
de menor a mayor.
Análisis:
Lo primero sería ordenar por descarte:
Por ejemplo: Si n1 > n2 y n1 > n3, si se sabe que n1 es el
mayor, por lo tanto faltaría preguntar si n2 > n3, si resulta
verdadero n2 es mayor que n3 entonces se sabe que: n1 es
mayor, n2 es intermedio y n3 es el menor y se imprimen en
ese orden

Algoritmo
Algoritmo OrdenarTresNumeros
Definir n1, n2, n3, s, t, p como Entero;
Escribir "Ingrese Número 01 : ";
Leer n1;
Escribir "Ingrese Número 02 : ";
Leer n2;
Escribir "Ingrese Número 03 : ";
Leer n3;
Si (n1 > n2) Y (n1 > n3) Entonces
p <- n1;
Si n2 > n3 Entonces
s <- n2;
t <- n3;
SiNo
s <- n3;
T <- N2;
FinSi
SiNo
Si n2 > n3 Entonces
P <- n2;
Si n1 > n3 Entonces
S <- n1;
T <- n3;
SiNo
s <- n3;
t <- n1;
FinSi
SiNo
p <- n3;

46
Ing. Darwin Sánchez
Programación

Si n1 > n2 Entonces
s <- n1;
t <- n2;
SiNo
s <- n2;
t <- n1;
FinSi
FinSi
FinSi
Escribir "Descendente : ", p, " - ", s, " - ", t;
Escribir "Ascendente : ", t, " - ", s, " - ", p;
FinAlgoritmo

Estructuras condicionales “según”.


Es una estructura de control. Que depende del Valor. De una variable de tipo
numérica. Para ejecutar una secuencia de instrucciones asociadas.
Dependiendo del valor ingresado. Es decir.

Si la variable numérica ingresada es un número, por ejemplo, dos, entonces


realizará el caso número 2, por lo tanto, ejecutará las instrucciones que se
encuentren en ese caso.

Cada caso contiene una secuencia de instrucciones asociadas a un valor


numérico por el cual está establecido en la estructura “Según”.

Es recomendable realizar un menú de opciones para


representar los valores que se pueden escoger, es decir así el
usuario tendrá la opción, por lo cual se ejecutarán las
instrucciones asociadas a ese número.

Ejercicio 1

Ingresar un número del 1 al 12 y mostrar el mes del año al cual se asocia, si el


número ingresado no se encuentra en ese rango, mostrar un "Mensaje de
Error".

47
Análisis:
Se guarda el número ingresado en una variable y luego
comparar cada variable con un valor de 1 al 12; si
corresponde a un número en ese rango muestra por
pantalla o imprime el mes que corresponde, Ejemplo: 1 =
Enero, 2 = Febrero, 3 = Marzo, etc.
1. Variable de entrada: num - Guarda un número del 1 al
12.
2. Variable de salida: Muestra por pantalla el mes que
corresponde según el valor de num.
3. Proceso: Lee la variable NUM y compara si se
encuentra dentro de la estructura de selección, si la
encuentra muestra el mes que corresponde.

Algoritmo
Proceso mesesAnio
Definir num como Entero;
Escribir "POR FAVOR INGRESE EL MES (NÚMERO) ==> ";
Leer num;
Segun num Hacer
1: Escribir "ENERO";
2: Escribir "FEBRERO";
3: Escribir "MARZO";
4: Escribir "ABRIL";
5: Escribir "MAYO";
6: Escribir "JUNIO";
7: Escribir "JULIO";
8: Escribir "AGOSTO";
9: Escribir "SETIEMBRE";
10: Escribir "OCTUBRE";
11: Escribir "NOVIEMBRE";
12: Escribir "DICIEMBRE";
De Otro Modo:
Escribir "POR FAVOR INGRESE UN NÚMERO DE MES VÁLIDO";
FinSegun
FinProceso

48
Ing. Darwin Sánchez
Programación

Ejercicios propuestos condicionales


1. Se pide ingresar una letra del alfabeto y mostrar si dicha letra
es vocal o consonante.
2. Se pide ingresar el sueldo de un trabajador y su categoría,
dependiendo de la categoría se le dará una bonificación en el
neto a pagar.
Categoría = Bonificación:
A = 10%
B = 20%
C = 30%
D = 50%
Escribir el Análisis y Pseudocódigo de los Ejercicios (Usar la
herramienta PseInt.

Actividad de Aprendizaje 4 de la Unidad Didáctica II:


Estructuras repetitivas
Las estructuras de control repetitivas son aquellas que realizan varias
iteraciones las cuales permiten ejecutar un conjunto de instrucciones varias
veces según se lo especifique o controle, de acuerdo con el valor que genere la
expresión lógica. Es decir que una instrucción repetitiva permite saltar a una
instrucción anterior para volver a ejecutarla.
Estructura repetitiva para
La instrucción Para ejecuta una secuencia de instrucciones un número
determinado de veces.
Se lo representa de la siguiente forma:
Pseudocódigo Diagrama de Flujo

49
Para <variable> <- <inicial>
Hasta <final> Con Paso <paso>
Hacer
<instrucciones>
FinPara
Figura 9: Fuente PseInt

Para ejecutar la instrucción para, existen 3 parámetros que


debemos definir, en la parte de variable se le debe asignar un
valor inicial, en la parte de hasta, se debe asignar el valor final
(límite del bucle o ciclo repetitivo); en el paso se determina el
valor de incremento que debe tener la variable designada
anteriormente comúnmente el valor es 1 es decir que se
incrementará de 1 en 1.

Ejemplo 1
Elaborar un programa que permita ingresar un número entero del 1 al 12 y
muestre la tabla de multiplicar de dicho número.

Análisis
En este caso se trabajará con un ciclo repetitivo el cual
irá desde el 1 hasta el 12 y en una variable se guardará
el resultado de la multiplicación con un valor ingresado;
generando así las tablas de multiplicar.

Algoritmo

Algoritmo TablaMultiplicar
Definir i, num como Entero;
Escribir "Ingrese un Número del 1 - 12 : ";
Leer num;
Para i <-1 Hasta 12 Con Paso 1 Hacer
Escribir cont, " X ", i, " = ", (i * num);

50
Ing. Darwin Sánchez
Programación

FinPara
FinAlgoritmo

Ejemplo 2

Hacer un algoritmo que muestre el promedio de “n” calificaciones ingresadas,


se debe definir el valor de “n” para conocer la cantidad de notas a ingresar.

Análisis

Para analizar este ejercicio se debe tomar en cuenta que


se necesita un valor de entrada para conocer cuál es la
cantidad de notas a ingresar, también necesitamos un
acumulador para que almacene la suma de cada
calificación y luego dividirla para el número de
calificaciones ingresada.
Algoritmo
Algoritmo Repetitivos05
Definir cont, n, nota, suma como Entero;
suma <- 0;
Escribir Sin Saltar "INGRESE LA CANTIDAD DE NOTAS : ";
Leer n;
Para cont <- 1 Hasta n Con Paso 1 Hacer
Escribir Sin Saltar "NOTA ", cont , " : ";
Leer nota;
suma <- suma + nota;
FinPara
Escribir "PROMEDIO : ", (suma/n);
FinAlgoritmo

Estructuras repetitivas “mientras”

La estructura repetitiva “mientras”, esta estructura funciona con un condicional


dado que: si la respuesta resulta verdadera este realizará las iteraciones
necesarias hasta que esa condición resulte falso, dado de otro modo mientras
la condición sea verdadera las iteraciones seguirán.

51
Tener en cuenta que para ejecutar una estructura de control
“mientras” se debe realizar controles de ejecución, es decir ser
capaces de controlar la condición, y de no hacerlo el bucle se
torna infinito.

Ejemplo 1
Hacer un programa que calcule la suma de los n primeros números naturales,
dónde n es el número límite ingresado por teclado.

Análisis

Para analizar este ejercicio se debe tener en cuenta que


el ingreso de los n primeros números naturales donde n
es el límite del número ingresado, entonces se pedirá un
número por teclado el cual marcará el fin de una serie de
interacciones y los mostrará en pantalla.

Algoritmo

Algoritmo SumaNumeros
Definir Cont, Num, Suma como Entero;
Cont <- 0;
Suma <- 0;
Escribir "Ingrese un Número : ";
Leer Num;
Mientras Cont <= Num Hacer
Suma <- Suma + Cont;
Cont <- Cont + 1;
FinMientras
Escribir "La Suma es : ", Suma;
FinAlgoritmo

Ejercicio 2
Ingresar un número cualquiera de varias cifras y devolver el mismo número con sus
cifras invertidas.

Análisis

52
Ing. Darwin Sánchez
Programación

Para analizar este ejercicio se debe tener en cuenta que


el calculo que se debe realizar es un mecanismo que
ayude a colocar los números en orden invertido, lo
primero es obtener el residuo del numero ingresado
según el numero de cifras eso obtenemos con un bucle
que organice el divisor, luego en un bucle que se
encargue extraer los valores.

Algoritmo

Algoritmo NumeroAlReves

Definir Num, sw, Cont, X, R, D, Suma como Entero;


Escribir "Ingrese Número : ";
Leer Num;
sw <- 0;
Cont <- 1;
Suma <- 0;
Si Num < 10 Entonces
Escribir Num;
SiNo
Mientras sw = 0 Hacer
Si Num > (Cont * 10) Entonces
Cont <- Cont * 10;
SiNo
sw <- 1;
FinSi
FinMientras
X <- 1;
R <- 0;
D <- 0;
Mientras Num > 10 Hacer
R <- Num % Cont;
D <- (Num - R)/ Cont;
Suma <- (D * X) + Suma;
X <- X * 10;
Num <- R;
Cont <- Cont / 10;
FinMientras
Escribir (X * R)+ Suma;
FinSi
FinAlgoritmo

53
Actividad de Aprendizaje 4 de la Unidad Didáctica II:
Estructuras repetitivas “repetir’”
La instrucción “Repetir-Hasta Que” ejecuta una secuencia de instrucciones
hasta que la condición sea verdadera.

Pseudocódigo Diagrama de Flujo


Repetir
<instrucciones>
Hasta Que <condición>

Figura 10: Fuente PseInt.

Tener en cuenta que cuando se ejecute el código las


instrucciones que se encuentran dentro de esta estructura de
control se ejecuta al menos una vez y luego realiza la
condición de ser verdadera la condición sale del bucle.

Ejemplo 1

Crea un programa que el usuario deba ingresar una contraseña, de forma


repetitiva hasta que introduzca “progra”. Cuando escriba la contraseña
correcta, mostrará un mensaje de bienvenida.

Para analizar este ejercicio se debe tener en cuenta que


se pedirá por teclado una cadena de caracteres y luego
está se comprobará en una estructura repetitiva “repetir
hasta que” sí la contraseña ingresada es correcta finaliza
el programa mostrando un mensaje de bienvenida.

54
Ing. Darwin Sánchez
Programación

Algoritmo

Proceso login
Definir secreto, clave como cadena;
secreto <- "asdasd";
Repetir
Escribir "Dime la clave:";
Leer clave;
Si clave<>secreto Entonces
Escribir "Clave incorrecta!!!";
FinSi
Hasta Que clave=secreto
Escribir "Bienvenido!!!";
Escribir "Programa terminado";
FinProceso

Algoritmos con funciones


Las funciones también llamadas Subproceso o SubAlgoritmo, es una
instrucción que permite agrupar variables e instrucciones, la finalidad es
ejecutar una tarea específica, se pueden añadir una o varias funciones, en un
algoritmo, las funciones son subprogramas dentro de un programa, que se
pueden invocar desde cualquier parte del programa, es decir, desde otra
función, desde la misma función o desde el programa principal, cuantas veces
sea necesario.

Sintaxis

Funcion variable_de_retorno <- Nombre ( Argumentos )


Fin Funcion

Funcion Sumar ()
Fin Funcion

variable_de_retorno: si el subproceso o función, calcula y


devuelve un valor, se debe colocar el nombre de la variable
que se utilizará para almacenar ese valor; si el subproceso o
función no devuelve nada se puede eliminar la variable con su
flecha de asignación.
nombre: es el nombre que recibirá el subproceso o función.

55
Argumentos: los argumentos son variables que requiere la
función, utilizando comas para separarlos, si el subproceso o
función no requiere argumentos puede dejarse en blanco, y de
manera opcional omitir los paréntesis

Ejemplo 1

Funcion datos()
Definir nombre Como Caracter;
Definir edad Como Entero;
Escribir "Ingrese su nombre"
Leer nombre;
Escribir "Ingrese su edad "
Leer edad;
FinFuncion
Algoritmo usuario
Datos();
FinAlgoritmo

Ejemplo 2
SubProceso s<-sumar()
s<-10+5;
FinSubProceso

Algoritmo suma
Escribir "La suma es : " sumar();
FinAlgoritmo

Actividad de Aprendizaje 5 de la Unidad Didáctica II:


Aplicaciones con pseint
Taller de Ejercicios
1. Determinar la suma de los N primeros términos de la siguiente
serie: 1 + 2/3 + 3/5 + 4/7 + ...
2. Ingrese varios números enteros y muestre la cantidad de
números ingresados y la suma de los mismos. Realice esta
acción hasta que el usuario ingrese la palabra FIN.
3. Se tienen 2 niños a quienes se les pide sus datos personales
como DNI, Fecha de nacimiento (considerar día, mes y año) y
género. Si los niños tienen 8 años o más se les dará Tablet. Si los

56
Ing. Darwin Sánchez
Programación

niños tienen 6 años se les dará carrito o muñeca dependiendo del


género.
Escribir el Análisis y Pseudocódigo de los Ejercicios (Usar la
herramienta PseInt.

Actividades de Auto-evaluación de la Unidad Didáctica II:


Desarrollar el siguiente ejercicio

Elaborar un algoritmo que realice Operaciones de cálculo de áreas, perímetros,


radio de un círculo, área de un pentágono, debe estar en un menú de opciones,
utilizando la estructura según, y utilizando funciones. En cada cálculo.

Actividad de Evaluación de la Unidad Didáctica II:


Realización de Actividad de Evaluación, desarrollada de forma presencial, y
tendrá una duración de 2 Horas.

57
Unidad Didáctica III
Título de la Unidad Didáctica III:
Introducción al lenguaje de programación C
Introducción de la Unidad Didáctica III:
¿Por qué escribir programas a una computadora es lo que se puede decir una
máquina? o puede decir una máquina de propósito general el uso de la
computadora es lo que puede ser que puede realizar cualquier tarea cualquier
tarea computacional, no cualquier tarea computacional que pueda realizar bien,
pero ¿cómo te comunicas con la computadora? como supongamos que si
quieres sumar dos números, entonces es no así dirás hey computadora quiero
sumar dos números cuatro y cinco así que dime cuál es la edición de cuatro y
cinco ninguna computadora no entenderá tu idioma, así que ahora lo que harás
de ahora en adelante es escribir algunas instrucciones que puedes decir
secuencia de instrucciones.
El lenguaje C++ es un lenguaje de propósito general más avanzado que el
lenguaje C por así decirlo es una colección de comando declaraciones más
adelante veremos por qué para qué se usa se usa para la creación de
programas de computación en el área de la informática.

Objetivo de la Unidad Didáctica III:


Interpretar algoritmos secuenciales de programación en lenguaje C++ mediante
la utilización de lógica de programación y la herramienta Dev C++ para
presentar soluciones de aplicaciones de mediana complejidad con
instrucciones de control.

58
Ing. Darwin Sánchez
Programación

Organizador Gráfico de la Unidad didáctica III:

Actividades de aprendizaje de la Unidad Didáctica III:


Actividad de Aprendizaje 1 de la Unidad Didáctica III:
Introducción a lenguaje C++
Es un lenguaje de programación de alto nivel diseñado a mediados de los años
80 por Bjarne Stroustrup. El propósito de su creación fue extender el exitoso
lenguaje de programación C con mecanismos que permitan la manipulación de
objetos este sentido desde el punto de vista de los lenguajes orientados a
objetos el C más más es un lenguaje de programación híbrido que se puede
manejar tanto en programación orientada a objetos y también programación
estructurada.
Estructura del lenguaje c++

Es un lenguaje de programación de tipado estricto, el cual en la cabecera inicia


colocando las librerías usadas en el programa, luego existe un espacio para
colocar las variables globales, o constantes según convenga, cada programa
debe tener una función principal llamada main.

59
Identificadores
Un identificador es el nombre que se le asigna a un elemento de las
instrucciones de un algoritmo o programa, es decir es el nombre que usará
para hacer referencia para las operaciones.

Identificadores predefinidos:

Son aquellos nombres que proporciona el programa es decir que son palabras
reservadas propias del programa las cuales no se pueden utilizar en el
desarrollo de algoritmos.

Identificadores definidos por el programador

Son aquellos nombres que el programador asigna a elementos dentro de un


programa es decir variables, nombres de funciones, nombres de arreglos,
nombres de constantes, etc.

Reglas para nombrar un Identificador


- Consta de 1 o más caracteres es decir que de puede estar conformado por
letras y números.

- el primer carácter debe ser siempre una letra o también puede estar
conformado por un guion (_) cuando se forman dos palabras la segunda
palabra inicia con la letra mayúscula y pegada al nombre, es por
convención.

- En el programa no puede haber dos identificadores con el mismo nombre en


el caso de que existan dos variables globales. En el caso de ser locales
tener en cuenta de no equivocarse porque puede darse el caso de que en

60
Ing. Darwin Sánchez
Programación

dos lugares diferentes existan variables con el mismo nombre es decir en


dos funciones o estructuras diferentes.

- Las variables no pueden llevar tilde o diéresis tampoco puede escribirse la


letra ñ dentro de las variables.

- Al momento de nombrar una variable se puede utilizar letras mayúsculas,


pero; es recomendable que sólo las variables se nombren con letras
minúsculas y las constantes con letras mayúsculas.

Formatos de identificadores

Tabla 3. Formato de identificadores


Formato de Identificadores
%c Caracter
%d Entero
%e N. científica
%E N. Científica
%f Coma flotante
%o Octal
%s Cadena
%u Sin Signo
%x Hexadecimal
%p Puntero
%Id Entero Largo
%h Short
%% Signo %

Identificadores predeterminados utilizados en el lenguaje C++

61
Actividad de Aprendizaje 2 de la Unidad Didáctica III
Variables
Es un espacio que se reserva en memoria para almacenar datos, los datos
pueden variar a lo largo del proceso de un programa

Declaración de Variables

Consiste en escribir un identificador que proporciona información sobre el


espacio asignado en memoria, lo que quiere decir es que al momento de
utilizar esos datos que se encuentran en ese espacio de memoria específico se
pueden hacer referencia con el identificador asignado y se declara de la
siguiente manera:

< tipo de dato> < nombre de variable>; int x;

< tipo de dato> < lista de variables (separadas por comas)>; float f,c,d;

< tipo de datos> < lista de variable> = valor; int c=20;

Ejemplo
Declaración Ejemplo asignación contenidos
int A; A = 123;
float A; A = - 3323.57;
char A; A = 'p';
char A; A = '1';
int salario; salario = 30500;
float salario; salario = 30500;
int A, B, suma; A = 5 + 2;
B = 32;
suma = A + B; [suma valdrá 39]
int A, B, C, D, A = 5;
E; B = 32;
C = A * B; [C toma el valor 160]
D = A + C; [D toma el valor 165]
E = D; [E toma el valor 165]
int agotamiento = 0; [Usamos un entero para simular un
agotamiento; booleano]

62
Ing. Darwin Sánchez
Programación

Actividad de Aprendizaje 3 de la Unidad Didáctica III


Constantes c++
Elementos o zonas de almacenamiento fijo es decir cuando se guarda un dato
en esa posición de memoria, este no cambia en el proceso del programa.

Se sugiere utilizar Nombres con mayúscula sostenida para


asignar un identificador a las constantes

Declaración de constantes
Se utiliza la palabra reservada const la cual indica el valor de la variable no se
puede modificar.

La sintaxis se realiza de la siguiente manera:

Const <tipo de dato> <nombre de la constante >=<valor>;

Constantes definidas
Para declarar estas se utiliza la palabra reservada #define y la sintaxis se
escribe de la siguiente manera:

#define <nombre de constante> <valor>;

Ejercicios con variables y constantes

63
Actividad de Aprendizaje 4 de la Unidad Didáctica III
Entrada de datos en c++
La entrada de datos significa que que se realizará una interacción con el
usuario es decir se capturará todos los datos que ingrese mediante teclado u
otro dispositivo hacia el computador.

La entrada y salida de datos en C más más se la puede manejar de una


manera simple.

64
Ing. Darwin Sánchez
Programación

Para realizar una lectura de datos se utilizará el comando cin>> es importante


notar el uso de los dos signos “>>”, que son usadas para controlar el flujo de
datos, sólo debemos tener en cuenta que al usar esa instrucción debemos
agregarle los dos signos >>,

Ejemplos
#include "iostream"
#include "string"
using namespace std;
int main()
{
cout << "Por favor ingrese su nombre:" << "\n";
string nombre;
cin >> nombre;
cout << "Bienvenido al sistema " << nombre;
return 0;
}

Es importante tener en cuenta que debemos colocar la


instrucción using namespace std; después de las librerías
ya que este es un acortador de nombres y me permite usar el
comando “cin”.

Instrucción getline();

Este significa que capturara el dato aunque el valor del nombre incluye
espacios no haya fallas y usa el valor completo introducido por el usuario.
Ejemplo

#include "iostream"
#include "string"
using namespace std;
int main()
{
cout << "Hola! Este es un ejemplo en C++";
string nombre;
//cin >> nombre;
getline(cin, nombre);
65
cout << "Bienvenido al sistema ";
return 0;
}

Instrucción scanf()

Su uso es similar al printf() por lo cual su uso es más primitivo y, en cierto


modo, complejo. Leer datos con scanf implica comprender un poco el concepto
de punteros y particularmente en el caso de string (que es una librería de C++)
se complica aún más, pues debemos convertir ese string en un array definido
de caracteres (char).

Ejemplo
#include "string"

using namespace std;

int main()
{
char temporal[100];
printf("Tu nombre?\n");
scanf("%100s", temporal);
string nombre = temporal;
printf("Te doy la bienvenida %s", nombre.c_str());
return 0;
}

Salida de datos en c++


Instrucción printf().
Esta instrucción se utiliza para la salida de información, tiene una particularidad
en la cual se debe colocar el formato de identificador que corresponde al tipo
de datos que se presentará o que mostrará la salida de la siguiente manera:

Ejemplo
#include "iostream"
#include "string"
using namespace std;
int main()
{
string salida1 = "Ejemplo de salida";
int numero = 2;

66
Ing. Darwin Sánchez
Programación

string salida2 = "Desde ProgramarYa.";


printf("%s %d. %s \n", salida1.c_str(), numero,
salida2.c_str());
return 0;
}

Instrucción cout

Mostrar texto por pantalla en C++ es muy simple. Para imprimir una salida de
texto en C++ se hace uso de la instrucción cout, junto con “<<”,

Ejemplo
#include "iostream"
using namespace std;
int main()
{
cout << "Hola Mundo" << " Desde ProgramarYa." << "\n";
return 0;
}

Es importante tener en cuenta que debemos colocar la


instrucción using namespace std; después de las librerías
ya que este es un acortador de nombres y me permite usar el
comando “cout”.

Actividad de Aprendizaje 5 de la Unidad Didáctica III


Inicialización y asignación de variables.
Las variables son imprescindibles al momento de programar, sería imposible
conseguir una aplicación con una funcionalidad básica sin usar variables; por
esta misma razón es necesario usarlas en el desarrollo de algoritmos.

Ejemplos
#include <iostream>
using namespace std;

int main()
{
67
char x = 'a'; // Declaramos y asignamos en la misma línea
int num; //Declaramos el entero en una línea
num = 5; //Le asignamos un valor en otra línea
int num2 = 8; //Asignacion y declaracion al tiempo
float numero; //Un numero decimal
numero = 3.5; //Le asignamos un valor al decimal
float res = numero + num2; //Sumamos dos variables
res = res + num; //Al valor actual de res le sumamos el
valor de num
//11.5 + 5 = 16.5

bool valor = false; //Variable booleana


valor = true; // Pueden ser true o false

res = res*2; //Duplicamos el valor de res 16.5*2 = 33

cout << res << endl; //Mostramos el valor de res por


pantalla

return 0;
}

Operadores Matemáticos
Los operadores matemáticos son aquellos que permiten realizar cálculos con
valores numéricos con el fin de obtener resultados. los operadores aritméticos
los más usados son los de suma resta multiplicación y división.

Operador Descripción
Operador = Asignación
Operador * Multiplicación
Operador / División
Operador Residuo de la
% división
Operador + Suma
Operador - Resta
Operador -- Restar 1
Operador Sumar 1
++

68
Ing. Darwin Sánchez
Programación

La mayoría de estos operadores ya se hacen conocidos, un


dato importante que se debe tomar en cuenta es el uso de los
paréntesis Debido a esto se puede definir la prioridad de
cálculo.

Ejemplo
#include <stdio.h>
#include <stdlib.h>
int main() {
int a = 11; int b = 3; int c = 9; int d = 5;
printf ("A vale %d, B vale %d, C vale %d, D vale %d\n", a,
b, c, d);
printf ("Operador *: doble de A vale %d\n", a*2);
printf ("Operador +: A mas B vale %d\n", a+b);
printf ("Operador -: A menos B vale %d\n", a-b);
printf ("Operador /: C entre B vale %d\n", c/b);
printf ("Operador mod: Residuo de A entre B es %d\n", a%b);
printf ("Ejecutar A entre B vale %d no es exacto \n", a/b);
//Expresiones abreviadas
a +=b; //Equivale a A=A+B
c *=d; //Equivale a C=C*D;
printf ("A vale %d, B vale %d, C vale %d, D vale %d\n", a, b, c,
d);
return 0;
}

La mayoría de los programadores utilizan expresiones


abreviadas para realizar cálculos, esto sólo se recomienda si
ya se tiene un amplio dominio del lenguaje.

Operadores lógicos
Los operadores lógicos devuelven un resultado booleano, específicamente se
debe utilizar tipos de datos booleanos para resolver expresiones con
operadores lógicos, es decir que se obtiene valores de verdadero y falso, los
operadores lógicos se manifiestan de la siguiente manera:
Operad Descripción
or
&& AND lógico Ejemplo A&&B la operación resulta verdadera solo si
ambos son verdaderos.

69
|| A | | B OR lógico la operación resulta verdadera sólo si al menos uno
de los dos valores que se evalúan es verdadero.
! Es una negación lógica, La operación resulta contraria al valor
asignado.
== Comparación
> Mayor que
< Menor Que
<= Menor o igual
>= Mayor o igual

Estructuras de control if
Una estructura de control if es una estructura que manifiesta una condición las
mismas que permiten tomar una decisión de acuerdo a nuestro algoritmo, es
decir ejecutan ciertas instrucciones cuando la prueba lógica resulta verdadera,
caso contrario sale del if y ejecuta el siguiente código.
Estos procesos en apartados anteriores se han revisado y funcionan de la
misma forma, la única diferencia es la sintaxis del código.
Sintaxis
if(condición a evaluar)
{
....
....
Bloque de Instrucciones si se cumple la condición....
....
....
}
Estructura de control if else
La estructura de control if else funciona de la misma manera que funciona la
estructura condicional if pero se le adiciona la parte del caso contrario, es decir
si la condición ejecutada en el if resulta falso entonces se ejecutará las
instrucciones que se encuentran en el else; y su sintaxis es la siguiente:

if(condición a evaluar)
{
....
Instrucciones si se cumple la condición....

70
Ing. Darwin Sánchez
Programación

....
}
else
{
....
Instrucciones si NO se cumple la condición....
....
}

Ejemplo

En el siguiente algoritmo realiza el siguiente cálculo: donde ingresa una


contraseña es decir una cadena de caracteres, y si ésta resulta igual a la clave
puesta en el condicional if, mostrará el mensaje contraseña correcta
bienvenido, caso contrario contraseña incorrecta

#include "iostream"
#include "string"
#include "stdlib.h"
using namespace std;
int main()
{
string password = "";
cout << "Ingrese la contrasenia: ";
cin >> password;
if(password == "myClave")
{
cout << "Contrasenia correcta. Bienvenido";
}
else
{
cout << "Contrasenia incorrecta.";
}
system("PAUSE");
return 0;
}
Estructuras de control Switch
La estructura de control switch es una estructura condicional de control múltiple
en el cual me permite definir múltiples casos que puedan llegar a cumplir una
condición, es decir; si la variable controlada colocada en el switch me da como
resultado un valor puesto en un caso, entonces realizará las instrucciones que
se encuentren en dicho caso; si se da la situación en que no pertenezca en

71
dato obtenido a ningún caso establecido en el switch entonces ejecutará la
instrucción por defecto, que tan bien se debe especificar. y su sintaxis es la
siguiente:

switch(opción) //donde opción es la variable a comparar


{
case valor1: //Bloque de instrucciones 1;
break;
case valor2: //Bloque de instrucciones 2;
break;
case valor3: //Bloque de instrucciones 3;
break;
default: //Bloque de instrucciones por defecto;

como dato importante se puede mencionar que esta estructura


de control es utilizada en la mayoría de los casos para la
ejecución del menú de opciones.

Ejemplo

# include "iostream"
using namespace std;
int main()
{
cout << "Ingrese la Opción a ejecutar: ";
intz op;
cin >> op;
switch(op)
{
case 1: cout << "Usted ha seleccionado la opción a";
break;
case 2: cout << "Usted ha seleccionado la opción b";
break;
case 3: cout << "Usted ha seleccionado la opción c";
break;
default: cout << "Usted ha ingresado una opción
incorrecta";
}
return 0;
}

72
Ing. Darwin Sánchez
Programación

Estructuras de control bucle For


La estructura de control For es una estructura cíclica o bucle, la cual nos ayuda
a poder repetir varias veces el mismo proceso sin que lo tengamos que volver a
escribir, la estructura de control For realiza procesa instrucciones de manera
iterativa, pero de una forma controlada, lo que quiere decir es que
establecemos un inicio y un fin al inicio del bucle; y su sintaxis es la siguiente:

for(int i = valor inicial; i <= valor final; i = i + paso)


{
....
....
Bloque de Instrucciones....
....
....
}

Ejemplo

#include "iostream"
#include "stdlib.h"

using namespace std;


int main()
{

for(int i=50;i<=100;i+=2)
{//Notemos que escribir i+=2 es similar a escribir i = i + 2
cout << i << endl;
}
system("PAUSE");
return 0;
}

Estructuras de control bucle While

Los bucles while son también estructuras cíclicas que permiten ejecutar varias
instrucciones de manera iterativa, en este caso sin necesidad de conocer un
valor inicial y un valor final es decir, que dependen directamente de una
condición dada. De este modo este tipo de instrucciones resulta más efectivas
para condiciones indeterminadas lo que significa que dentro del proceso de un

73
programa puedan existir condiciones cambiantes entonces escoger la opción
de bucle while le ayudará a solucionar el problema; y su sintaxis es la siguiente:

while(condición de finalización) //por ejemplo numero == 100


{
....
Bloque de Instrucciones....
....
}

Ejemplo

Pedir números por pantalla hasta que alguno sea mayor a 100

#include "iostream"

using namespace std;


int main()
{
int numero;
cout << "Ingrese un numero ";
cin >> numero;
while(numero <= 100)
{
cout << "Ingrese un numero ";
cin >> numero;
}
system("PAUSE");
return 0;
}

Estructuras de control Bucle do while

Los bucles de while son también estructuras cíclicas que permiten ejecutar
varias instrucciones de manera interactiva en este caso sin conocer un valor
inicial y un valor final es decir coma que dependen directamente de una
condición dada de este modo este tipo de instrucciones nos resulta muy útil
para condiciones indeterminadas; y como dato adicional el ciclo do while los
presenta cierta ventaja, ya que ejecuta el código al menos una vez y luego
pregunta en el condicional y si la respuesta es verdadera vuelve a ejecutar el

74
Ing. Darwin Sánchez
Programación

bucle caso contrario salta y sale del proceso y su sintaxis es de la siguiente


manera:

do
{
....
Bloque de Instrucciones....
....
}
while(condición de finalización);

Ejemplo
Pedir números por pantalla hasta que alguno sea mayor a 100
#include "iostream"
using namespace std;
int main()
{
int numero;
do
{
cout << "Ingrese un numero ";
cin >> numero;
}
while(numero <= 100);
system("PAUSE");
return 0;
}

Ejercicios prácticos de estructuras de control


Ejercicio 1
En la ciudad de Machala, en el terminal terrestre asigna cuota de ingreso para
automóviles y asigna costos basados en el sexo y la edad del conductor.
- Los varones menores de 25 años pagan los precios más altos, 4 dólares.
- Los hombres de 25 años a más pagan 3 dólares.
- Las mujeres de menos de 21 años ó más pagan 2 dólares.

#include<iostream>
using namespace std;
int main() {
float costo;
int edad, interruptor;
75
string sexo;
cout << "Ingrese el Sexo (H/M) : ";
cin >> sexo;
cout << "Ingrese la Edad : ";
cin >> edad;
if(sexo == "H"){
interruptor = 1;
}else{
interruptor = 2;
}
costo = 0;
switch(interruptor){
case 1:
if(edad < 25){
costo = 3;
}else{
costo = 2;
}
break;
case 2:
if(edad < 21){
costo = 1;
}
break;
}
cout << "\n EDAD : " << edad<< “ Años”;
cout << "\n SEXO : " << sexo;
cout << "\n PAGO : " << costo << “ Dolares”;

return 0;
}

Ejercicios de Taller
1. Ejercicio Porcentaje de notas de un alumno
La calificación final de un estudiante es la media ponderada de
tres notas: la nota de prácticas que cuenta un 30% del total, la
nota teórica que cuenta un 60% y la nota de participación que
cuenta el 10% restante. Escriba un programa que lea de la
entrada estándar las tres notas de un alumno y escriba en la
salida estándar su nota final.
2. Ejercicio Número mágico
Realice un programa que solicite al usuario que piense un
número entero entre el 1 y el 100. El programa debe generar un

76
Ing. Darwin Sánchez
Programación

numero aleatorio en ese mismo rango [1-100], e indicarle al


usuario si el número que dígito es menor o mayor al número
aleatorio, así hasta que lo adivine. y por último mostrarle el
número de intentos que le llevo.
Escribir el Análisis y código en C++ de los Ejercicios (Usar la
herramienta DevC++.

Actividades de Autoevaluación de la Unidad Didáctica 3:


Realizar el ejercicio propuesto
Hacer un que realice la serie Fibonacci -- 1 1 2 3 5 8 13...n
Hacer un programa que calcule la factorial de un número ingresado.
Realizar en la herramienta DevC++ y luego realizar la prueba de escritorio para
localizar errores.

Actividad de Evaluación de la Unidad Didáctica 3:


Realización de Actividad de Evaluación, desarrollada de forma presencial, y
tendrá una duración de 2 Horas.

77
Unidad Didáctica 4
Título de la Unidad Didáctica 4:
Proceso De Programación
Introducción de la Unidad Didáctica 4:
La presente unidad de trabajo presenta unidad se trata de lograr que el
estudiante conozca la forma de trabajo de las herramientas de programación.
La programación en lenguaje C++de datos es un tema muy importante que
permite al estudiante familiarizarse con las herramientas de programación
estructurada, la programación que se describe es a través de codificación de
algoritmos, que representan una funcionalidad en cada proceso de forma
secuencial.

Objetivo de la Unidad Didáctica 4:


Diseñar soluciones con programación estructurada en C++ mediante la
aplicabilidad de la lógica de programación para la creación de algoritmos que
presenten soluciones a problemas planteados.

Organizador Gráfico de la Unidad didáctica 4:

78
Ing. Darwin Sánchez
Programación

Actividades de aprendizaje de la Unidad Didáctica 4:


Actividad de Aprendizaje 1 de la Unidad Didáctica 4:
Definición de Programación Estructurada

Se trata de una programación que se refiere al control de ejecución en el cual


se basa en utilizar funciones o sub rutinas las cuales siguen una misma
secuencia y su característica se basa en:

Secuencia: que se ejecuta una instrucción seguido de otra.

Selección o condicional: se refiere a elegir una opción después de haber


seguido de un condicional y obtenido un valor de tipo booleano es decir
verdadero o falso según convenga.

Iteración: es ejecución de una instrucción o instrucciones que se rigen bajo un


bucle de operaciones ya sea matemáticas o lógicas siempre y cuando en la
condición resulte una operación booleana.

79
Comentarios en la Estructura
Se refiere a establecer secciones de código en las cuales estas no se
ejecutarán porque solo se encuentran comentadas con los símbolos //, /**/,
entonces al realizar la secuencia de instrucciones el compilador las pasará por
alto, es decir no se ejecutará ninguna instrucción que se encuentre como
comentario, y se utiliza de la siguiente manera:

// → Se utiliza para comentar una línea

/**/ → Se utiliza para comentar un bloque de instrucciones


Actividad de Aprendizaje 2 de la Unidad Didáctica 4:
Directivas en la sintaxis de un programa
Se trata de la colección de reglas que se deben seguir para que el compilador
sea capaz de ejecutar cada instrucción basándose en las instrucciones para el
lenguaje. Cada programa debe tener el siguiente formato.

//Mi primer programa como programador


# include <iostream>
using namespace std;
int main (){
cout<< "Hola Mundo";
return 0;
}
El programa anterior presenta el siguiente resultado con una frase en pantalla
es la frase: “ Hola Mundo ”

Analizando

# include <iostream>

Se trata de la llamada a una librería de c++, es decir que la librería iostream se


utilizará en el programa, de otro punto de vista significa que en la librería
iostream existen funciones, las mismas que serán utilizadas en el programa.

using namespace std;

Esta línea se trata de un elemento denominado espacio de nombres, lo cual


significa que se utilizar ese acortador de nombres para su utilización. es decir,

Sin acortador de nombres: std::cout<<;

80
Ing. Darwin Sánchez
Programación

Con acortador de nombres: cout<<;

int main()

La función principal o main, es la que se ejecuta en primera instancia cuando el


programa se ejecuta.

retrun 0

La instrucción return 0 es cuando la función termina su ejecución, además


colocarlo hace referencia a las buenas prácticas de programación, es decir que
cuando en una función se coloca un tipo de dato, significa que retorna un valor
igual al tipo de dato establecido.
Actividad de Aprendizaje 3 de la Unidad Didáctica 4:
Cabeceras en la estructura de un programa

Espacios de nombres en C++

Ayudan a solucionar problemas con identificadores, permiten la existencia de


variables o funciones con nombres iguales.

Se presenta un ejemplo de uso de namespace o espacio de nombres,


#include <iostream>
namespace uno {
int x;
namespace dos {
int x;
namespace tres {
int x;
}
}
}
using std::cout;
using std::endl;
using uno::x;
int main() {
x = 10; //
uno::dos::x = 30;
81
uno::dos::tres::x = 50;
cout << x << ", " << uno::dos::x << ", " <<
uno::dos::tres::x << endl;
return 0;
}

Actividad de Aprendizaje 4 de la Unidad Didáctica 4:


Símbolos e instrucciones necesarios en un programa.

#include <iostream> //Lugar de declaración de librerías a utilizar


// Espacio de declaración de variables globales
// Utilización de espacios de Nombres
int main () // Función principal que se ejecuta en primera instancia.
{
// Sentencias del programa

return 0; // Buenas prácticas de programación


}

Como dato importante se puede mencionar para la creación de


funciones, se las debe crear en la parte de arriba de la función
main, porque el compilador busca las funciones hacia arriba,
caso contrario si no deseamos colocar las funciones en la
parte de arriba es necesario definir las en el encabezado y así
no tener este inconveniente.

Introducción a las Funciones

Las funciones son subprogramas o subrutinas que se ejecutan de forma


secuencial cuándo estas son llamadas dentro del programa principal o de
alguna función, es decir que puede haber funciones dentro de otras funciones,
las funciones ayudan a la reutilización de código y para nombrarlas le podemos
colocar cualquier nombre lo más conveniente es utilizar de acuerdo con la
acción que realizan.

82
Ing. Darwin Sánchez
Programación

Las funciones son instrucciones más usadas dentro de la programación pues


los programadores ven una oportunidad para la reutilización y encapsulación
de código.

Tipos de funciones

Existen formas de utilizar a las funciones, de acuerdo con eso es la forma de


crearlas y se las puede clasificar en 4 grupos:

Funciones que reciben parámetros y retorna valor

Tipo_de_dato nombreFuncion(/*Parámetros que recibe*/)


{
return valor; //la variable valor debe ser del mismo tipo
de dato declarada en la función
}

Función que recibe parámetros, pero no retorna nada

void nombreFuncion(/*Parámetros que recibe*/)


{
//Cuando se encuentra la declaración void significa que no
se retorna valor alguno, por ende no se coloca.
}
Función que no recibe parámetros, pero si retorna un valor

Tipo_de_dato nombreFuncion(/*no se coloca parámetros*/)


{
return valor; //la variable valor debe ser del mismo tipo
de dato declarada en la función
}

Función que no recibe parámetros y no retorna valores.

void nombreFuncion(/*no se coloca parámetros*/)


{
//Cuando se encuentra la declaración void significa que no
se retorna valor alguno, por ende, no se coloca.
}

Actividad de Aprendizaje 4 de la Unidad Didáctica 4:


Estructura mínima de un programa en lenguaje C

Ejercicios con Funciones


83
1. Desarrollar ejercicios en los cuales se aplique un caso de
funciones, en cada caso. En total deben ser 4 ejercicios con
funciones.
Desarrollar en la herramienta DevC++

Vectores
Son espacios en memoria nombrados con un identificador el mismo que
almacena más de un dato del mismo tipo, es decir que podemos almacenar
varios datos que sean de lo mismo y su sintaxis es la siguiente:

tipo_de_dato nombre_del_vector [tamaño];

En esta parte se afine el aquí se coloca un en esta parte se coloca


tipo de datos que va a nombre del vector es el tamaño que va a
hacer uso el vector. decir un identificador tener mi vector es decir
si yo le pongo si le
coloco 9 entonces
tendrá 9 espacios para
almacenar datos del
mismo tipo

Ejemplo

int my_vector1[10];
float my_vector2[25];
string my_vector3[500];
bool my_vector4[1000];
char my_vector5[2];

En el caso que se pretenda inicializar el arreglo lo que se debe hacer es lo


siguiente.

int vector[] = {1,2,3,4,10,9,80,70,19};

84
Ing. Darwin Sánchez
Programación

Para mostrar el contenido de los arreglos o vectores es necesario que se


realice mediante un bucle para ello debe mostrar su creatividad, pero la forma
de hacerlo manualmente es la siguiente:

int vector[4];
vector[0] = 2;
vector[1] = 4;
vector[2] = 6;
vector[3] = 8;

cout<<vector[2];

Lo que se mostrará en pantalla será el 6.

Cadenas de Caracteres

Las cadenas de caracteres se manejan con una librería llamada String, este
tipo de dato por su naturaleza es cualquier carácter que se digite por teclado,
cuando se digitan números y el tipo de dato es string, éste pierde su propiedad
numérica, es decir no se puede realizar operaciones matemáticas.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string cadena1 = "Ejemplo de cadena 1";
int num = 7;
string cadena2 = "Ejemplo de cadena 2";
printf("%s %d. %s \n", cadena1.c_str(), numero,
cadena2.c_str());

return 0;
}

Recursividad
Es una opción que puede adoptar una función, al resolver un ejercicio, bajo la
modalidad de llamarse Así mismo, es decir la misma función se ejecuta una y
otra vez como un bucle o iteración, como se muestra en el siguiente ejemplo:
/* Función recursiva*/
int funcionr(int n) {
if(n < 0) return 0;
85
else if(n > 1) return n*funcionr(n-1);
return 1;
}

Analizar el ejercicio y determinar qué acción realiza mediante la


utilización de la prueba de escritorio.

Actividades de Autoevaluación de la Unidad Didáctica 4:


Realice el siguiente ejercicio:
Simular el proceso de un cajero automático:
Debe realizar lo siguiente:
- Debe tener almacenado 4 usuarios y claves,
- Debe tener un monto ya disponible
- Si al digitar la clave de manera errónea por 3 veces mencione error y
bloquear tarjeta
- En caso de que el monto a retirar supere el monto que ya tiene mostrar un
error.
- Debe aparecer bienvenido el nombre de la Usuario.

Actividad de Evaluación de la Unidad Didáctica 4:


Realización de Actividad de Evaluación, desarrollada de forma presencial, y
tendrá una duración de 2 Horas.

86
Ing. Darwin Sánchez

También podría gustarte