Programación I
Bachillerato # 12
Presentación
José de Jesús Olivera Camacho
José de Jesús Olivera Camacho
 Licenciado en informática
 Maestro Certificado por la SEP en formación por
competencias para la Educación Media Superior.
 Experiencia en la impartición de cursos
 Actualmente me desempeño como generador de
contenidos digitales en el área de comunicación de la
Coordinación de Extensión en la Universidad de
Colima.
A sus órdenes en:
Correo electrónico:
jesus_olivera@ucol.mx
Reglas del curso
1. Mantenerse informado acerca de las lecturas, actividades y tareas del curso asistiendo
cada sábado.
2. Cumplir dentro la plataforma de classroom con todas las tareas y actividades detalladas
por el programa académico y el maestro, en el tiempo y forma establecidos. El
incumplimiento de las tareas en tiempo y forma llevarán a una no-aprobación del curso.
3. Realizar el seguimiento evaluativo personal dentro de la plataforma de classroom, en
donde se consignan los resultados de las evaluaciones parciales y finales.
4. Notificar al maestro por escrito, con copia a la coordinación académica, si, por alguna
razón excepcional, se encontrara en una circunstancia especial que le impidiera continuar
con el curso y recibir así indicaciones de cómo proceder a partir de ese momento.
Los alumnos NO DEBEN
1. Subir archivos, anunciar, o transmitir cualquier contenido ilegal, , amenazador, abusivo,
malicioso, agraviante, difamatorio, vulgar, obsceno, pornográfico, invasivo de la privacidad,
odioso ,racial o étnicamente inaceptable y/o cualquier otros que generen responsabilidades
civiles o penales.
2. Suplantar la identidad de una persona o Institución o falsear o falsear su registración con
una persona o entidad.
3. Subir archivos, anunciar, o transmitir cualquier contenido que infringe cualquier ley,
acuerdo de confidencialidad, patente, marca de fábrica, secreto de comercio, derechos de
propiedad literaria u otros derechos de propiedad.
4. Subir archivos, anunciar, o transmitir cualquier publicidad no solicitada, materiales de
promoción, "correo basura", "spam", "cadenas," o cualquier otra forma de petición u
ofrecimiento.
5. Subir archivos, anunciar, o transmitir cualquier material que contenga virus o cualquier otro
código, archivos o programas diseñados para interrumpir, destruir o limitar la funcionalidad
de cualquier software, hardware o equipo de computación y telecomunicaciones
6. Acechar acosar a otro.
7. Coleccionar o guardar datos personales sobre otros usuarios.
Objetivo general
La materia de Programación I tiene por objetivo permitir al
alumno adquirir las competencias necesarias para resolver
problemas haciendo uso de la computadora mediante el
diseño de algoritmos y su codificación en lenguaje java
usando una metodología de programación estructurada.
Contenido temático
El programa está organizado en tres unidades de aprendizaje.
Unidad I. Resuelve problemas que requieren una solución
algorítmica exclusivamente secuencial.
Unidad II. Resuelve problemas que requieren una solución
algorítmica que involucre estructuras de control selectivas.
Unidad III. Resuelve problemas que requieren una solución
algorítmica que involucre estructuras de control repetitivas.
Here comes your footer  Page 8
Evaluación
Evidencias Porcentaje
Prácticas 70
Proyecto integrador -
Examen parcial (práctico) 30
Total 100
Extra (Desarrollo personal) 10
Here comes your footer  Page 9
Portafolio de evidencias
Práctica 1: Algoritmos usando estructura de Control lineal en pseudocódigo.
Práctica 2: Diagramas de flujo en DFD utilizando estructuras selectivas simples.
Práctica 3: Programas en PseInt usando estructuras selectivas simples y múltiples
Here comes your footer  Page 10
Proyecto integrador 1ra
parcial
Carrera (Domingo 25 de septiembre)
• Participación en la carrera
Encuesta de egresados ( 23 de agosto al 13 de septiembre)
• Conformación de equipos (4-4 y 2-3)
• Aplicación de encuestas(2 por equipo)
1.- 1980 a 1990
2.- 1991 a 2000
3.- 2001 a 2010
4.- 2011 a 2020
Here comes your footer  Page 11
¿Qué es un problema?
Un problema se define como una situación, con un grado de dificultad
variable, que debe aclararse o resolverse y que puede tener un
número determinado o indefinido de soluciones.
La resolución de un problema exige el diseño de un algoritmo
que resuelva el mismo.
Metodología para resolver problemas
Identificar el
problema y
delimitarlo;
especificar cuál
es la situación.
Analizar el
problema y
plantear
alternativas de
solución.
Elegir
alternativa de
solución para
comenzar a
diseñar el
algoritmo.
Desarrollar la
solución.
Evaluar la
solución;
realizar prueba
de escritorio o
emplear
lenguaje de
programación.
1
2
3
4
5
Algoritmo
Es un conjunto finito de instrucciones, claras y detalladas, que
especifican una secuencia de operaciones a realizar en orden para
resolver un problema específico.
“En otras palabras, un algoritmo es un método para la solución de
problemas.”
Los algoritmos se clasifican en dos tipos:
• Cuantitativos
Son aquellos que intervienen cálculos numéricos se relacionan con los
operadores aritméticos y de relación.
• Cualitativos
Son aquellos que describen los pasos utilizando palabras.
Características de los algoritmos
Un algoritmo requiere cumplir con cinco condiciones importantes:
1. Preciso: Debe indicar el orden de realización de cada paso.
2. Sencillo: Si una acción no puede ejecutarse de forma simple,
debe ser descompuesta.
3. Finito: El algoritmo debe terminar en algún momento; o sea,
debe tener un número finito de pasos.
4. Legible: Debe expresarse en un lenguaje estandarizado, dos o
más personas que entienden el lenguaje estandarizado, deben
interpretar el algoritmo de la misma forma.
5. Definido: El resultado que produce al ser ejecutado debe ser
previsible. Si se ejecuta el algoritmo dos o más veces, se debe
obtener el mismo resultado cada vez.
Partes de un algoritmo
Cualquier algoritmo debe definir tres elementos:
1. Entrada: Información o datos que se requieren para ejecutar
el Proceso.
2. Proceso: Conjunto de acciones que deben ejecutarse para
convertir la información o datos de entrada en la Salida, y
3. Salida: Lo que resulta de la ejecución del Proceso
Here comes your footer  Page 16
Entrada Proceso Salida
Algoritmo para cambiar una
llanta
1. Inicio
2. Fin
LENGUAJES PARA LA
REPRESENTACIÓN DE ALGORITMOS
• Diagramas de flujo: Un diagrama de flujo representa
gráficamente a un algoritmo y éste muestra la solución de un
problema y se puede trasladar a un lenguaje de programación.
• Pseudocódigo: Es un lenguaje para la representación de
algoritmos que utiliza palabras claves muy parecidas a las
instrucciones o sentencias de un lenguaje de programación
Here comes your footer  Page 18
Descripción del formato
Here comes your footer  Page 19
Tipo de Instrucciones Instrucción a utilizar
Inicio Proceso nombre_del_proceso
Fin FinProceso
Entrada Leer Lista_de_variables;
Salida Escribir Lista_de_variables;
Escribir “textos”;
Asignación A ← C;
A ← B + C;
Operadores +, -, *, /, mod (cálculo de residuo), Raiz(raíz
cuadrada), ^ (cálculo de potencias)
Pseudocódigo
Operadores: Es un símbolo que permite manipular los valores de
variables y/o constantes
Jerarquía de los operadores matemáticos
1. Signos de agrupación ( ),[ ], { }, etc.
2. Potencias o raíces ^ o Sqrt
3. Multiplicaciones o divisiones *, /
4. Sumas o restas +, -
• Los operadores con igual nivel de prioridad se evalúan de izquierda
a derecha
Definición
Una variable en programación es un dato que se aloja en la memoria
de la computadora. El nombre de identificación que le asignamos está
asociado a la dirección dentro de la memoria y el valor que
guardamos es la información que contiene la variable.
Ejemplo:
• Calf1
• Valor_1
• Num_hrs
Expresión
prom=(calf1+calf2+calf3)/3
Las reglas para nombrar
variables son las siguientes:
1. Pueden estar compuestos de caracteres alfabéticos, numéricos y el
carácter guion bajo, es decir no acepta acentos, ni símbolos como:*,
/, #, entre otros).
2. Deben comenzar con un carácter alfabético. Es decir no puede
comenzar con un número, o un carácter.
3. Se hace distinción entre mayúsculas y minúsculas. Por ejemplo
Mesa es diferente a mesa.
Here comes your footer  Page 22
IDENTIFICADORES VÁLIDOS
Nombre
Cadena
Edad_Maxima
X_Y_Z
Etiqueta2
IDENTIFICADORES NO VÁLIDOS
Num&Dias : carácter & no válido
X nombre: Contiene un blanco
eje@s : carácter @ no válido
3mes: inicia con un número
Operadores relacionales
1. Mayor que >
2. Menor que <
3. Mayor igual que >=
4. Menor igual que <=
5. Igual =
6. Diferencia < >
• Son empleados para comparar dos o más valores.
• Su resultado produce valores como verdadero y falso.
• Tienen el mismo nivel de prioridad.
Tipos de datos
Además de identificadores, los datos deben tener asignado algún
tipo que indique el espacio de memoria en que se almacenarán y
que al mismo tiempo evita el error de tratar de guardar un dato en
un espacio insuficiente de memoria.
Los datos pueden ser de tipo:
• Numérico: Almacena datos reales o enteros. (Edad,
Calificación…)
• Lógicos: Son del tipo booleano solo tiene dos valores
verdadero o falso. (Edad>=18,N1>N2…)
• Texto: Son los que almacenan un carácter o una palabra.
(Nombre=“María”, Mensaje=“Aprobado”…)
Here comes your footer  Page 24
Consolide lo aprendido.
Ejemplo Acción Resultado
x = 6 / 2
x = 8 + 2 * 3
6+3>=2+2
-5< >5
Here comes your footer  Page 25
Consolide lo aprendido.
Número Identificador Valido
No
Valido Justificación
1 var.nueva
2 Entero
3 Precio compra
4 Calificación
5 Calif1
6 Int _variable
7 5nombre
8 Cant_en-bases
9 Año
10 Coches>30CV
Here comes your footer  Page 26
Consolide lo aprendido
Here comes your footer  Page 27
Conteste en su cuaderno de notas las siguientes preguntas:
1. ¿Qué es una variable en programación?
2. ¿Cuáles son las reglas para nombrar las variables en
programación?
3. ¿Cuáles son los tipos de datos en programación?
4. ¿Cuáles son los tipos de operadores utilizados en
programación?
Elabore un flujograma que muestre el proceso
para sumar dos números cualesquiera.
Problemario
Algoritmo para calcular el área de un
hexágono
Problemario
Elabora un algoritmo que halle el área y el perímetro de un
terreno rectangular que comprará en Altozano. Considere
que el m2 tiene un valor de $6,700 para hallar el valor del
terreno
Entrada
Proceso
Salida
Algoritmo
Inicio
Fin
Problemario
Diagrama de flujo para calcular el precio al que se va a
vender un producto una vez que se sabe cuál es el costo y
que desea obtener una ganancia o utilidad del 50%
Entrada
Proceso
Salida
Algoritmo
Inicio
Fin
Problemario
HERRAMIENTA PARA LA ESCRITURA Y EDICIÓN DE
ALGORITMOS EN PSEUDOCÓDIGO Y EN DIAGRAMAS DE
FLUJO PSeInt
• Es un software libre de licencia GPL y gratuito
• Permite la escritura de los algoritmos se puede hacer
directamente como sentencias en pseudocódigo, o utilizando
elementos de la ventana de comandos que representan las
sentencias usando símbolos del lenguaje de diagramas de flujo.
• Permite generar y editar el diagrama de flujo a partir del
pseudocódigo, con la opción de grabarlo como archivo de
imagen.
• Puede interpretar (ejecutar) los algoritmos escritos
• Permite convertir el algoritmo de pseudocódigo a código en
variados lenguajes de programación tales como: C, C++, C#,
Java, JavaScript, MatLab, Pascal, PHP, Python 2, Python 3,
QBasic Visual Basic.
Here comes your footer  Page 32
Descarga PSeInt
• El software puede ser descargado desde
http://pseint.sourceforge.net/
Here comes your footer  Page 33
Entorno de la pantalla
Here comes your footer  Page 34
Diagramas de flujo
Un diagrama de flujo representa gráficamente a un algoritmo y
éste muestra la solución de un problema y se puede trasladar a
un lenguaje de programación.
Simbología empleada para
diagramas de flujo
Diagrama de flujo que calcule la edad de una persona
Problemario
Diagrama de flujo que permita calcular el precio de
venta de un producto del cual se desea tener una
ganancia del 50%
Problemario
Un maestro desea saber que porcentaje de hombres y
que porcentaje de mujeres hay en un grupo de
estudiantes.
Problemario
Diagrama de flujo que determine si una persona es
mayor de edad o no, dependiendo de su edad.
Problemario
Consolida lo aprendido.
Conteste en su cuaderno de notas las siguientes preguntas:
• ¿Qué son los diagramas de flujo de datos DFD?
• ¿Para que sirven los DFD?
• Simbología empleada para representar los DFD
Here comes your footer  Page 41
Algoritmos de estructura
Selectiva
Se utilizan para tomar decisiones lógicas, por lo que también se les
llama estructuras de decisión o alternativas.
El proceso que no es secuencial o la parte del proceso que no lo es,
es controlada por una condición lógica.
Por tanto, se evalúan una condición y en función del resultado de
esta se realiza una opción u otra. Las condiciones se especifican
usando expresiones lógicas.
Se dividen en dos
• Simples
• Dobles.
Here comes your footer  Page 42
Algoritmos de estructura
Selectiva Simple
• Están compuesta por una condición lógica, la que al ser
verdadera, continuará con la ejecución de una o más acciones,
si por el contrario, la condición es falsa no hará nada.
Here comes your footer  Page 43
Ejemplo
Diseñe un algoritmo representándolo en DF y Pseudocódigo
para mostrar un mensaje si un
cierto valor es positivo.
Here comes your footer  Page 44
Problemario
Ejemplo
Diseñe un algoritmo representándolo en DF y
Pseudocódigo para calcular y mostrar la suma de
dos números cualquiera, solo si estos son distintos.
Here comes your footer  Page 45
Problemario
Algoritmos de estructura
Selectiva Doble
Están compuesta por una condición lógica, la que sí es
verdadera ejecutara una acción o acciones, pero si es falsa,
ejecutará una acción o acciones diferentes.
Here comes your footer  Page 46
Ejemplo
Diagrama de flujo que solicite 3 calificaciones y
determine si el promedio es APROBATORIO o
REPROBATORIO, teniendo en cuenta que la calificación
mínima es 8.
Problemario
Problemario
El objetivo de este problemario es desarrollar en los alumnos la
habilidad de comprender los pseudocódigos presentados,
analizarlos y verificarlos con prueba de escritorio, para después
codificarlos en PSEINT y corroborar resultados mediante la
ejecución del código.
Here comes your footer  Page 48
Algoritmos de estructura Selectiva
compuestas
En la solución de problemas encontramos numerosos casos en
los que luego de tomar una decisión y marcar el camino
correspondiente a seguir, es necesario tomar otra decisión.
Dicho proceso puede repetirse numerosas veces.
En aquellos problemas en donde un bloque condicional incluye
otro bloque condicional se dice que un bloque está anidado
dentro del otro.
A este tipo de estructuras se les conoce también como
estructuras selectivas anidadas
Here comes your footer  Page 49
Estructura selectiva compuesta
Si condición Entonces
Si condición Entonces
operación 2;
SiNo
operación 1;
FinSi
FinSi
Here comes your footer  Page 50
Ejemplo
1.-Diseñe un algoritmo representándolo en DF y Pseudocódigo
para mostrar un mensaje si un cierto valor es positivo, negativo o
cero.
2.-Algoritmo para definir el mayor de tres números dados.
Here comes your footer  Page 51
Problemario
Expresiones lógicas
Here comes your footer  Page 52
Sirven para plantear condiciones o comparaciones y dan como
resultado un valor booleano verdadero o falso, es decir, se
cumple o no se cumple la condición. Se pueden clasificar en
simples y complejas.
OPERADOR REPRESENTACIÓN EN PSEINT REPRESENTACIÓN EN C
AND Y &&
OR O ||
NOT NO !
Tablas de verdad
Y
Entradas Salida
V V V
V F F
F V F
F F F
Here comes your footer  Page 53
O
Entradas Salida
V V V
V F V
F V V
F F F
NO
Entrada Salida
V F
F V
Estructura selectiva compuesta,
con expresiones lógicas
Here comes your footer  Page 54
Ejemplo
3.-Una escuela aplica dos exámenes a sus aspirantes, por lo
que cada uno de ellos obtiene dos calificaciones de notadas
como C1 y C2. El aspirante que obtenga calificaciones mayores
que 80 en ambos exámenes es aceptado; en caso contrario es
rechazado.
Here comes your footer  Page 55
Problemario
Consolida lo aprendido.
• ¿Qué son las estructuras selectivas?
• ¿Cómo se clasifican las estructuras selectivas?
• ¿Cuándo se utilizan los operadores lógicos en los algoritmos?
Here comes your footer  Page 56
Estructuras selectivas múltiples
• Con frecuencia es necesario que existan más de dos elecciones
posibles. Este problema se podría resolver por estructuras selectivas
simples o dobles, anidadas o en cascada, pero si el número de
alternativas es grande puede plantear serios problemas de escritura y
de legibilidad.
• Usando la estructura de decisión múltiple se evaluará una expresión
que podrá tomar n valores distintos, 1, 2 , 3, ...., n y según que elija
uno de estos valores en la condición, se realizará una de las n
acciones o lo que es igual, el flujo del algoritmo seguirá sólo un
determinado camino entre los n posibles.
• Esta estructura se representa por un selector el cual si toma el valor 1
ejecutará la acción 1, si toma el valor 2 ejecutará la acción 2, si toma
el valor N realizará la acción N.
Here comes your footer  Page 57
Estructura repetitiva Según
Here comes your footer  Page 58
Estructura switch
switch( n )
{
case 1 :
printf(“uno”);
break;
case 2:
printf(“dos”);
break;
case 3:
printf(“tres”);
break;
default :
break;
}
Here comes your footer  Page 59
Ejemplo
• Se desea realizar un algoritmo que permita obtener el nombre
del mes a partir de un número entero introducido por teclado (1
para enero, 2 para el febrero, 3 para el marzo, etc.)
Here comes your footer  Page 60
Problemario
Algoritmos de estructuras
repetitiva
También conocidas como Ciclos o Bucles, las estructuras repetitivas
son aquellas que permiten la ejecución de un conjunto de acciones o
instrucciones varias veces dentro de un algoritmo. El número de veces
que dichas acciones o instrucciones se llevan a cabo, se pueden
especificar a través de una condición lógica que, al ser evaluada,
establece si se continúa con la repetición o finaliza.
Las estructuras repetitivas están compuestas por tres partes:
• La condición lógica,
• Las acciones o instrucciones que se repiten, y
• La salida de la repetición
Existen tres tipos de estructuras repetitivas:
• Mientras
• Repetir hasta
• Para
Here comes your footer  Page 61
Contadores
Un contador es una variable cuyo valor se incrementa o
decrementa en una cantidad fija en cada iteración. Se utilizan
en los siguientes casos:
• Para contabilizar el número de veces que es necesario repetir una
acción (variable de control de un ciclo)
• Para contar un suceso particular solicitado por el enunciado del
problema (asociado a un ciclo independiente)
• Representa la variable de control del ciclo.
• Toma un valor inicial (generalmente 0 ó 1) y se incrementa en la
mayoría de los casos.
• Toma un valor inicial y se compara con el valor final.
Here comes your footer  Page 62
Contadores
• Se define una variable de tipo entero, para el contador.
• La inicialización consiste en asignarle al contador un valor. Se
situará antes y fuera del ciclo.
Ejemplo: i = i + 1 (incremento)
i = i – 1 (decremento)
Here comes your footer  Page 63
Estructura ciclo Mientras
Here comes your footer  Page 64
Ejemplo
• Hacer un algoritmo para determinar la media de una lista
indefinida de números positivos, el programa seguirá pidiendo
números mientras estos sean diferentes de cero (0), cuando
esto suceda deberá imprimir el promedio.
Here comes your footer  Page 65
Problemario
Ciclo While
Here comes your footer  Page 66
while(condición){
<listas de instrucciones condición=true>;
<actualización de la condición>;
}
Estructura ciclo
Repetir hasta
Here comes your footer  Page 67
Ejemplo
• Crea un programa que genere dos números al azar entre el 0 y
el 100, y pida al usuario que calcule e introduzca su suma. Si la
respuesta no es correcta, deberá volver a pedirla tantas veces
como sea necesario hasta que el usuario acierte. Pista: para
generar un número al azar del 0 al 100 puedes hacer numero
<- AZAR(100)
Here comes your footer  Page 68
Problemario
Ciclo do while
Here comes your footer  Page 69
do
{
<listas de instrucciones condición=true>;
<actualización de la condición>;
} while ( <expresión_lógica> );
http://solucioningenieril.com/programacion_en_c/
numeros_aleatorios
Estructura ciclo Para
• La estructura repetitiva (PARA) es aquella en la que el número
de iteraciones se conoce por anticipado, y por ello no se
precisa poner ninguna condición de salida para detener el
bucle. En su lugar un contador cuenta el número de iteraciones
fijas y se termina cuando llega al valor final previamente
definido.
• Quiere decir que esta estructura se usa frecuentemente
cuando se conoce de antemano el número de veces que se
ejecutarán las acciones de un bucle. Esta es una de sus
características.
Here comes your footer  Page 70
Estructura
Here comes your footer  Page 71
Ejemplo
• Diseñe un algoritmo representándolo en DF y Pseudocódigo
que muestre las raíces cuadradas de todos los números entre
11 y 30. raiz(n); en C sqrt(n)
Here comes your footer  Page 72
Problemario
Ciclo For en C
for(inicio;mientras;incremento)
{
//CODIGO A EJECUTAR
}
Here comes your footer  Page 73
Consolida lo aprendido.
• ¿Cuando se utilizan los ciclos?
• ¿Cuáles son los elementos de un ciclo para?
• ¿Diferencia entre los ciclos, Mientras, Repetir y Para?
Here comes your footer  Page 74
Estructuras de Datos: Arreglos
• Los arreglos son estructuras de datos homogéneas (todos sus
datos son del mismo tipo) que permiten almacenar un
determinado número de datos bajo un mismo identificador,
para luego referirse a los mismo utilizando uno o más
subíndices. Los arreglos pueden pensarse como vectores,
matrices, etc.
• Para poder utilizar un arreglo, primero es obligatorio su
dimensionamiento; es decir, definirlo declarando los rangos de
sus subíndices, lo cual determina cuantos elementos se
almacenarán y como se accederá a los mismos.
Here comes your footer  Page 75
Dimensionamiento (Arreglos-
Arrays)
El anterior ejemplo nos muestra un vector unidimensional de 10
posiciones para almacenar información y la variable se llama
datos. Para declarar un vector en PSeINT de utiliza la palabra
reservada Dimension
Ejemplo:
Dimension Datos(10);
La instrucción Dimensión permite definir un arreglo, indicando
sus dimensiones.
Here comes your footer  Page 76
Escribir en los Arreglos
Para almacenar la información en el arreglo o vector debemos
dar el nombre de la variable y la posición en que queremos
guardar la información.
Here comes your footer  Page 77
Proceso Arreglos
Definir Datos Como Entero;
Dimension Datos(10);
Escribir "Escribe un número para ser
guardado en el vector";
Leer Datos(8);
FinProceso
Escribir en los Arreglos
Para poder almacenar datos en un vector se requiere de la
sentencia de ciclos PARA. Vemos que el vector es de tres (10)
posiciones lo que quiere decir que se necesita un ciclo que inicie
en 0 y termine en 9, así
Para i=0 Hasta 9 Con Paso 1 Hacer
Escribir "Escribe un número para ser guardado en el vector";
Leer Datos(i);
Fin Para
Here comes your footer  Page 78
Imprimir un Arreglos
imprimir el contenido de la información que tiene el vector de
manera inversa a como fue ingresada, se debe tener en cuenta
el siguiente procedimiento:
Para i=0 Hasta 9 Con Paso 1 Hacer
Escribir “El valor guardado para en la posición ", i, " es: ", Datos(i);
Fin Para
Here comes your footer  Page 79
Ejemplo
Desarrollar un algoritmo que permita almacenar el número de
cuenta y el nombre de 10 estudiantes.
Here comes your footer  Page 80
Ejemplo
El usuario puede ingresar un numero de cuenta a buscar en el
vector y el algoritmo debe mostrar el nombre que corresponde al
número de ingresado, siempre y cuando haya sido almacenado
previamente, de lo contrario mostrar un mensaje “Alumno no
encontrado”
Here comes your footer  Page 81
Array en C
Definición
int A[4];
char nombre[50];
Guardar valor en el vector
Int i;
A[i]=i;
nombre[1]=“Juan”;
Here comes your footer  Page 82
Ejercicio 2: Ordenar vector
Manual de prácticas
• Realiza un programa en PSeInt que permita llenar un vector de
N posiciones y lo ordene de mayor a menor e imprima el vector
desordenado y el vector ordenado.
Here comes your footer  Page 83
• Algoritmo detarea
• Definir a,x,temp,vector Como Entero;
• Dimension vector[10];
• para x = 1 Hasta 3 Con Paso 1 Hacer
• Escribir "Ingresa un numero";
• leer vector(x);
• FinPara
• //Utilizamos el metodo de la Burbuja
• Escribir "Vector original:";
• para x = 1 Hasta 3 Con Paso 1 Hacer
• Escribir vector(x);
• FinPara
• Escribir "Vector Orden Descendente:";
• para x = 1 hasta 3 hacer
• para a = 1 hasta 3 Hacer
• si vector(a) < vector(a+1)
• temp = vector(a);
• vector(a) = vector(a+1);
• vector(a+1) = temp;
• FinSi
• FinPara
• FinPara
•
• para x = 1 Hasta 3 Con Paso 1 Hacer
• Escribir vector(x);
• FinPara
• FinAlgoritmo
Here comes your footer  Page 84
Matriz
• Un arreglo (matriz) es una colección ordenada de datos. Se
emplean para almacenar múltiples valores en una sola
variable.
• Cada elemento del arreglo (matriz) tiene un número al que está
asociado, llamado "índice numérico" (indice), que permite
acceder a él.
Here comes your footer  Page 85
Ejemplo
• Realiza un programa en PSeInt que permita llenar una mattriz
de 3x3 e imprima al final los valores de la matriz
Here comes your footer  Page 86
Actividad 3: Tabla pitagórica
Crea un array o arreglo multidimensional que contenga la tabla
de multiplicar del 1 al 9 (10 filas y 10 columnas). La primera fila y
la columna debe contener estos números. Algo así:
Here comes your footer  Page 87
Funciones
Una función es un conjunto de instrucciones que se ejecutan
cada vez que son llamadas en el cuerpo central de nuestro
programa.
Las funciones en PSeInt pueden dividirse en dos categorías
principales: funciones que devuelven valor y funciones que no
devuelven valor
Here comes your footer  Page 88
Funciones que NO devuelven
valor
Proceso sin_titulo
mensaje();
FinProceso
funcion mensaje()
Escribir "Hola Mundo";
FinFuncion
Here comes your footer  Page 89
Funciones que SI devuelven valor
Proceso sin_titulo
Escribir "El resultado de la suma es: ", Suma();
FinProceso
funcion r=Suma()
definir r, a, b Como Entero;
r=5+20;
FinFuncion
Here comes your footer  Page 90
Ejemplo
• Desarrollar un seudocódigo con asignación y función que
calcula el área de un triángulo conociendo la base y la altura
Here comes your footer  Page 91
Actividad
• Escribe una función en pseudocódigo llamada
ConversionMoneda (…) que permita convertir una cantidad de
dinero dada en dolares, libras o yenes a Euros. Estas son las
equivalencias aproximadas:
• 1 libra=1,22 euros
• 1 dolar=0,75 euros
• 1 yen=0.009 euros
Here comes your footer  Page 92
Funciones de cadenas de texto
• longitud(cadena): Devuelve la cantidad de caracteres de la cadena.
• mayusculas(cadena): Devuelve una copia de la cadena con todos sus caracteres en
mayúsculas.
• minusculas(cadena): Devuelve una copia de la cadena con todos sus caracteres en
minúsculas.
• subcadena(cadena,pos_ini,pos_fin): Devuelve una nueva cadena que consiste en la parte de
la cadena que va desde la posición pos_ini hasta la posición pos_fin.
• concatenar(cadena1,cadena2): Devuelve una nueva cadena resulta de unir las cadenas
cadena1 y cadena2
• .
• convertirANumero(cadena): Recibe una cadena de caracteres que contiene un número
(caracteres numéricos) y devuelve una variable numérica con el mismo.
• convertirATexto(numero): Recibe un numero y devuelve una variable cadena de caracteres
de dicho real.
Here comes your footer  Page 93
Proyecto final
No Proyecto Contenido
1 Punto de venta Registro de producto, Facturación, Inventario,
Buscar producto, Salir
2 Librería Clientes, Reg.Libros, Reg. Préstamo, Reporte de
préstamo, Salir
3 Control escolar Alumnos, grupos, Maestros, Lista de asistencia,
Salir
4 Programa bancario Abrir cuenta, Depósito, Retiro, Estado de cuenta,
Salir
5 Juego Jugadores, Preguntas Respuestas, Puntaje,
Reglas, Salir
Here comes your footer  Page 94
INCLUIR UN MANUAL DE USUARIO EN PDF
¿Qué es Java
• Lenguaje de programación orientado a objetos,
multiplataforma.
Here comes your footer  Page 95
Here comes your footer  Page 96
¿Qué necesitamos para programar en
Java?
• Descargar el Java Development Kit (JDK)
• https://jdk.java.net/
• Una PC o laptop con recursos mínimos
• Descargar Netbeans
• https://netbeans.apache.org/
• Configurar Path
Here comes your footer  Page 97
Proceso para configurar Java
1. Copiar la carpeta de Java al disco C:
2. Abrir Configuración del Sistema
1. Panel de control/Sistema/Configuración avanzada del sistema/
variables de entorno
2. Dar clic en Nuevo
• Nombre: Java_Home
• Valor de la variable: RUTA de la carpeta de Java: C:jdk-18.0.2
3. Agregar la carpeta bin a la ruta de la variable PATH
1. Edita la variable path
2. Agregar una nueva variable
3. Pega la RUTA bin de Java C:jdk-18.0.2 bin
Here comes your footer  Page 98
La codificación de
programas Java
Programación I
Estructura de un programa Java
/**
* * @author Olivera
* Este programa escribe el texto "Hola mundo" en la consola
* utilizando el método System.out.println()
*/
public class Hola_mundo {
public static void main(String[] args) {
System.out.println("Hola mundo");
}
}
Here comes your footer  Page 100
Comentario
Clase
Sentencia
Método
Tipos de variables
Here comes your footer  Page 101
Identificadores
Here comes your footer  Page 102
Perímetro de una circunferencia
Here comes your footer  Page 103
Contadores y sumadores
Here comes your footer  Page 104
Estructuras de control selectivas
• Simple (If)
• Múltiple (Case)
Here comes your footer  Page 105
Estructuras de control
repetitivas
• While
• Do
• For
Here comes your footer  Page 106
Vectores
Here comes your footer  Page 107
• import java.util.Scanner;
• public class Hola_mundo {
• public static void main(String[] args) {
• int num;
• //Leemos los valores
• Scanner Entrada = new Scanner(System.in);
•
• System.out.println("Escribe un numero:");
• num = Entrada.nextInt();
• System.out.println("El Valor es: " + num);
•
• // TODO code application logic here
• }
•
• }
Here comes your footer  Page 108
Ejercicios propuestos
1. Realiza un programa en PSeInt que permita ingresar dos
números y con ellos realice las operaciones básicas de suma,
resta, división y multiplicación e imprima los resultados
2. Calcular el salario de un trabajador, ingresando las horas
trabajadas y el valor por hora, se debe mostrar el nombre del
trabajador.
3. Ingresar por teclado 2 números enteros y mostrar el menor
de los números ingresados y la suma de dichos números.
4. A un trabajador le pagan según sus horas trabajadas por una
tarifa de pago por hora. si la cantidad de horas trabajadas es
mayor a 40 horas. la tarifa se incrementa en un 50% para las
horas extras. calcular el salario del trabajador dadas las horas
trabajadas y la tarifa.
Here comes your footer  Page 109
Ejercicios propuestos
• Hacer un algoritmo en Pseint para una heladería se tienen 4
tipos de empleados ordenados de la siguiente forma con su
número identificador y salario diario correspondiente:
Here comes your footer  Page 110
# TIPO DE EMPLEADO SUELDO DIARIO
1 Cajero $56
2 Mostrador $64
3 Preparador de Helado $80
4 Mantenimiento $48
Introducción a C++
Here comes your footer  Page 111
Función main
int main (){
}
Here comes your footer  Page 112
Función main
Here comes your footer  Page 113
Archivo de cabecera
#include <iostream>
int main(void)
{
//Se muestra un mensaje por pantalla.
std::cout <<"Hola mundo";
return 0;
}
Here comes your footer  Page 114
Introducción a C++
Here comes your footer  Page 115
Simplificación
Here comes your footer  Page 116
using namespace std;
#include <iostream>
using namespace std;
int main(void)
{
//Se muestra un mensaje por pantalla.
cout <<"Hola mundo"<<endl;
cout <<"amigo";
return 0;
}
Here comes your footer  Page 117
Leer datos por teclado
#include <iostream>
using namespace std;
char name[200];
int main(void)
{
//Se muestra un mensaje por pantalla.
cout <<"Programa para imprimir una variable con un valor asignado por el
usuario"<<endl;
cout <<"Escribe tu nombre"<<endl;
cin>> name;
cout <<"Hola "<<name;
return 0;
}
Here comes your footer  Page 118
Principales tipos de datos en C++
Here comes your footer Page
 119
Función POW()
• Devuelve un número elevado a la potencia de un exponente.
POW(number, exponente)
Ejemplo
POW(5,2)
Devuelve 25.
Here comes your footer  Page 120
Here comes your footer  Page 121
pow, powf, po
wl

Manual Programación I nivel medio superior.pptx

  • 1.
  • 2.
  • 3.
    José de JesúsOlivera Camacho  Licenciado en informática  Maestro Certificado por la SEP en formación por competencias para la Educación Media Superior.  Experiencia en la impartición de cursos  Actualmente me desempeño como generador de contenidos digitales en el área de comunicación de la Coordinación de Extensión en la Universidad de Colima.
  • 4.
    A sus órdenesen: Correo electrónico: jesus_olivera@ucol.mx
  • 5.
    Reglas del curso 1.Mantenerse informado acerca de las lecturas, actividades y tareas del curso asistiendo cada sábado. 2. Cumplir dentro la plataforma de classroom con todas las tareas y actividades detalladas por el programa académico y el maestro, en el tiempo y forma establecidos. El incumplimiento de las tareas en tiempo y forma llevarán a una no-aprobación del curso. 3. Realizar el seguimiento evaluativo personal dentro de la plataforma de classroom, en donde se consignan los resultados de las evaluaciones parciales y finales. 4. Notificar al maestro por escrito, con copia a la coordinación académica, si, por alguna razón excepcional, se encontrara en una circunstancia especial que le impidiera continuar con el curso y recibir así indicaciones de cómo proceder a partir de ese momento.
  • 6.
    Los alumnos NODEBEN 1. Subir archivos, anunciar, o transmitir cualquier contenido ilegal, , amenazador, abusivo, malicioso, agraviante, difamatorio, vulgar, obsceno, pornográfico, invasivo de la privacidad, odioso ,racial o étnicamente inaceptable y/o cualquier otros que generen responsabilidades civiles o penales. 2. Suplantar la identidad de una persona o Institución o falsear o falsear su registración con una persona o entidad. 3. Subir archivos, anunciar, o transmitir cualquier contenido que infringe cualquier ley, acuerdo de confidencialidad, patente, marca de fábrica, secreto de comercio, derechos de propiedad literaria u otros derechos de propiedad. 4. Subir archivos, anunciar, o transmitir cualquier publicidad no solicitada, materiales de promoción, "correo basura", "spam", "cadenas," o cualquier otra forma de petición u ofrecimiento. 5. Subir archivos, anunciar, o transmitir cualquier material que contenga virus o cualquier otro código, archivos o programas diseñados para interrumpir, destruir o limitar la funcionalidad de cualquier software, hardware o equipo de computación y telecomunicaciones 6. Acechar acosar a otro. 7. Coleccionar o guardar datos personales sobre otros usuarios.
  • 7.
    Objetivo general La materiade Programación I tiene por objetivo permitir al alumno adquirir las competencias necesarias para resolver problemas haciendo uso de la computadora mediante el diseño de algoritmos y su codificación en lenguaje java usando una metodología de programación estructurada.
  • 8.
    Contenido temático El programaestá organizado en tres unidades de aprendizaje. Unidad I. Resuelve problemas que requieren una solución algorítmica exclusivamente secuencial. Unidad II. Resuelve problemas que requieren una solución algorítmica que involucre estructuras de control selectivas. Unidad III. Resuelve problemas que requieren una solución algorítmica que involucre estructuras de control repetitivas. Here comes your footer  Page 8
  • 9.
    Evaluación Evidencias Porcentaje Prácticas 70 Proyectointegrador - Examen parcial (práctico) 30 Total 100 Extra (Desarrollo personal) 10 Here comes your footer  Page 9
  • 10.
    Portafolio de evidencias Práctica1: Algoritmos usando estructura de Control lineal en pseudocódigo. Práctica 2: Diagramas de flujo en DFD utilizando estructuras selectivas simples. Práctica 3: Programas en PseInt usando estructuras selectivas simples y múltiples Here comes your footer  Page 10
  • 11.
    Proyecto integrador 1ra parcial Carrera(Domingo 25 de septiembre) • Participación en la carrera Encuesta de egresados ( 23 de agosto al 13 de septiembre) • Conformación de equipos (4-4 y 2-3) • Aplicación de encuestas(2 por equipo) 1.- 1980 a 1990 2.- 1991 a 2000 3.- 2001 a 2010 4.- 2011 a 2020 Here comes your footer  Page 11
  • 12.
    ¿Qué es unproblema? Un problema se define como una situación, con un grado de dificultad variable, que debe aclararse o resolverse y que puede tener un número determinado o indefinido de soluciones. La resolución de un problema exige el diseño de un algoritmo que resuelva el mismo.
  • 13.
    Metodología para resolverproblemas Identificar el problema y delimitarlo; especificar cuál es la situación. Analizar el problema y plantear alternativas de solución. Elegir alternativa de solución para comenzar a diseñar el algoritmo. Desarrollar la solución. Evaluar la solución; realizar prueba de escritorio o emplear lenguaje de programación. 1 2 3 4 5
  • 14.
    Algoritmo Es un conjuntofinito de instrucciones, claras y detalladas, que especifican una secuencia de operaciones a realizar en orden para resolver un problema específico. “En otras palabras, un algoritmo es un método para la solución de problemas.” Los algoritmos se clasifican en dos tipos: • Cuantitativos Son aquellos que intervienen cálculos numéricos se relacionan con los operadores aritméticos y de relación. • Cualitativos Son aquellos que describen los pasos utilizando palabras.
  • 15.
    Características de losalgoritmos Un algoritmo requiere cumplir con cinco condiciones importantes: 1. Preciso: Debe indicar el orden de realización de cada paso. 2. Sencillo: Si una acción no puede ejecutarse de forma simple, debe ser descompuesta. 3. Finito: El algoritmo debe terminar en algún momento; o sea, debe tener un número finito de pasos. 4. Legible: Debe expresarse en un lenguaje estandarizado, dos o más personas que entienden el lenguaje estandarizado, deben interpretar el algoritmo de la misma forma. 5. Definido: El resultado que produce al ser ejecutado debe ser previsible. Si se ejecuta el algoritmo dos o más veces, se debe obtener el mismo resultado cada vez.
  • 16.
    Partes de unalgoritmo Cualquier algoritmo debe definir tres elementos: 1. Entrada: Información o datos que se requieren para ejecutar el Proceso. 2. Proceso: Conjunto de acciones que deben ejecutarse para convertir la información o datos de entrada en la Salida, y 3. Salida: Lo que resulta de la ejecución del Proceso Here comes your footer  Page 16 Entrada Proceso Salida
  • 17.
    Algoritmo para cambiaruna llanta 1. Inicio 2. Fin
  • 18.
    LENGUAJES PARA LA REPRESENTACIÓNDE ALGORITMOS • Diagramas de flujo: Un diagrama de flujo representa gráficamente a un algoritmo y éste muestra la solución de un problema y se puede trasladar a un lenguaje de programación. • Pseudocódigo: Es un lenguaje para la representación de algoritmos que utiliza palabras claves muy parecidas a las instrucciones o sentencias de un lenguaje de programación Here comes your footer  Page 18
  • 19.
    Descripción del formato Herecomes your footer  Page 19 Tipo de Instrucciones Instrucción a utilizar Inicio Proceso nombre_del_proceso Fin FinProceso Entrada Leer Lista_de_variables; Salida Escribir Lista_de_variables; Escribir “textos”; Asignación A ← C; A ← B + C; Operadores +, -, *, /, mod (cálculo de residuo), Raiz(raíz cuadrada), ^ (cálculo de potencias) Pseudocódigo
  • 20.
    Operadores: Es unsímbolo que permite manipular los valores de variables y/o constantes Jerarquía de los operadores matemáticos 1. Signos de agrupación ( ),[ ], { }, etc. 2. Potencias o raíces ^ o Sqrt 3. Multiplicaciones o divisiones *, / 4. Sumas o restas +, - • Los operadores con igual nivel de prioridad se evalúan de izquierda a derecha
  • 21.
    Definición Una variable enprogramación es un dato que se aloja en la memoria de la computadora. El nombre de identificación que le asignamos está asociado a la dirección dentro de la memoria y el valor que guardamos es la información que contiene la variable. Ejemplo: • Calf1 • Valor_1 • Num_hrs Expresión prom=(calf1+calf2+calf3)/3
  • 22.
    Las reglas paranombrar variables son las siguientes: 1. Pueden estar compuestos de caracteres alfabéticos, numéricos y el carácter guion bajo, es decir no acepta acentos, ni símbolos como:*, /, #, entre otros). 2. Deben comenzar con un carácter alfabético. Es decir no puede comenzar con un número, o un carácter. 3. Se hace distinción entre mayúsculas y minúsculas. Por ejemplo Mesa es diferente a mesa. Here comes your footer  Page 22 IDENTIFICADORES VÁLIDOS Nombre Cadena Edad_Maxima X_Y_Z Etiqueta2 IDENTIFICADORES NO VÁLIDOS Num&Dias : carácter & no válido X nombre: Contiene un blanco eje@s : carácter @ no válido 3mes: inicia con un número
  • 23.
    Operadores relacionales 1. Mayorque > 2. Menor que < 3. Mayor igual que >= 4. Menor igual que <= 5. Igual = 6. Diferencia < > • Son empleados para comparar dos o más valores. • Su resultado produce valores como verdadero y falso. • Tienen el mismo nivel de prioridad.
  • 24.
    Tipos de datos Ademásde identificadores, los datos deben tener asignado algún tipo que indique el espacio de memoria en que se almacenarán y que al mismo tiempo evita el error de tratar de guardar un dato en un espacio insuficiente de memoria. Los datos pueden ser de tipo: • Numérico: Almacena datos reales o enteros. (Edad, Calificación…) • Lógicos: Son del tipo booleano solo tiene dos valores verdadero o falso. (Edad>=18,N1>N2…) • Texto: Son los que almacenan un carácter o una palabra. (Nombre=“María”, Mensaje=“Aprobado”…) Here comes your footer  Page 24
  • 25.
    Consolide lo aprendido. EjemploAcción Resultado x = 6 / 2 x = 8 + 2 * 3 6+3>=2+2 -5< >5 Here comes your footer  Page 25
  • 26.
    Consolide lo aprendido. NúmeroIdentificador Valido No Valido Justificación 1 var.nueva 2 Entero 3 Precio compra 4 Calificación 5 Calif1 6 Int _variable 7 5nombre 8 Cant_en-bases 9 Año 10 Coches>30CV Here comes your footer  Page 26
  • 27.
    Consolide lo aprendido Herecomes your footer  Page 27 Conteste en su cuaderno de notas las siguientes preguntas: 1. ¿Qué es una variable en programación? 2. ¿Cuáles son las reglas para nombrar las variables en programación? 3. ¿Cuáles son los tipos de datos en programación? 4. ¿Cuáles son los tipos de operadores utilizados en programación?
  • 28.
    Elabore un flujogramaque muestre el proceso para sumar dos números cualesquiera. Problemario
  • 29.
    Algoritmo para calcularel área de un hexágono Problemario
  • 30.
    Elabora un algoritmoque halle el área y el perímetro de un terreno rectangular que comprará en Altozano. Considere que el m2 tiene un valor de $6,700 para hallar el valor del terreno Entrada Proceso Salida Algoritmo Inicio Fin Problemario
  • 31.
    Diagrama de flujopara calcular el precio al que se va a vender un producto una vez que se sabe cuál es el costo y que desea obtener una ganancia o utilidad del 50% Entrada Proceso Salida Algoritmo Inicio Fin Problemario
  • 32.
    HERRAMIENTA PARA LAESCRITURA Y EDICIÓN DE ALGORITMOS EN PSEUDOCÓDIGO Y EN DIAGRAMAS DE FLUJO PSeInt • Es un software libre de licencia GPL y gratuito • Permite la escritura de los algoritmos se puede hacer directamente como sentencias en pseudocódigo, o utilizando elementos de la ventana de comandos que representan las sentencias usando símbolos del lenguaje de diagramas de flujo. • Permite generar y editar el diagrama de flujo a partir del pseudocódigo, con la opción de grabarlo como archivo de imagen. • Puede interpretar (ejecutar) los algoritmos escritos • Permite convertir el algoritmo de pseudocódigo a código en variados lenguajes de programación tales como: C, C++, C#, Java, JavaScript, MatLab, Pascal, PHP, Python 2, Python 3, QBasic Visual Basic. Here comes your footer  Page 32
  • 33.
    Descarga PSeInt • Elsoftware puede ser descargado desde http://pseint.sourceforge.net/ Here comes your footer  Page 33
  • 34.
    Entorno de lapantalla Here comes your footer  Page 34
  • 35.
    Diagramas de flujo Undiagrama de flujo representa gráficamente a un algoritmo y éste muestra la solución de un problema y se puede trasladar a un lenguaje de programación.
  • 36.
  • 37.
    Diagrama de flujoque calcule la edad de una persona Problemario
  • 38.
    Diagrama de flujoque permita calcular el precio de venta de un producto del cual se desea tener una ganancia del 50% Problemario
  • 39.
    Un maestro deseasaber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. Problemario
  • 40.
    Diagrama de flujoque determine si una persona es mayor de edad o no, dependiendo de su edad. Problemario
  • 41.
    Consolida lo aprendido. Contesteen su cuaderno de notas las siguientes preguntas: • ¿Qué son los diagramas de flujo de datos DFD? • ¿Para que sirven los DFD? • Simbología empleada para representar los DFD Here comes your footer  Page 41
  • 42.
    Algoritmos de estructura Selectiva Seutilizan para tomar decisiones lógicas, por lo que también se les llama estructuras de decisión o alternativas. El proceso que no es secuencial o la parte del proceso que no lo es, es controlada por una condición lógica. Por tanto, se evalúan una condición y en función del resultado de esta se realiza una opción u otra. Las condiciones se especifican usando expresiones lógicas. Se dividen en dos • Simples • Dobles. Here comes your footer  Page 42
  • 43.
    Algoritmos de estructura SelectivaSimple • Están compuesta por una condición lógica, la que al ser verdadera, continuará con la ejecución de una o más acciones, si por el contrario, la condición es falsa no hará nada. Here comes your footer  Page 43
  • 44.
    Ejemplo Diseñe un algoritmorepresentándolo en DF y Pseudocódigo para mostrar un mensaje si un cierto valor es positivo. Here comes your footer  Page 44 Problemario
  • 45.
    Ejemplo Diseñe un algoritmorepresentándolo en DF y Pseudocódigo para calcular y mostrar la suma de dos números cualquiera, solo si estos son distintos. Here comes your footer  Page 45 Problemario
  • 46.
    Algoritmos de estructura SelectivaDoble Están compuesta por una condición lógica, la que sí es verdadera ejecutara una acción o acciones, pero si es falsa, ejecutará una acción o acciones diferentes. Here comes your footer  Page 46
  • 47.
    Ejemplo Diagrama de flujoque solicite 3 calificaciones y determine si el promedio es APROBATORIO o REPROBATORIO, teniendo en cuenta que la calificación mínima es 8. Problemario
  • 48.
    Problemario El objetivo deeste problemario es desarrollar en los alumnos la habilidad de comprender los pseudocódigos presentados, analizarlos y verificarlos con prueba de escritorio, para después codificarlos en PSEINT y corroborar resultados mediante la ejecución del código. Here comes your footer  Page 48
  • 49.
    Algoritmos de estructuraSelectiva compuestas En la solución de problemas encontramos numerosos casos en los que luego de tomar una decisión y marcar el camino correspondiente a seguir, es necesario tomar otra decisión. Dicho proceso puede repetirse numerosas veces. En aquellos problemas en donde un bloque condicional incluye otro bloque condicional se dice que un bloque está anidado dentro del otro. A este tipo de estructuras se les conoce también como estructuras selectivas anidadas Here comes your footer  Page 49
  • 50.
    Estructura selectiva compuesta Sicondición Entonces Si condición Entonces operación 2; SiNo operación 1; FinSi FinSi Here comes your footer  Page 50
  • 51.
    Ejemplo 1.-Diseñe un algoritmorepresentándolo en DF y Pseudocódigo para mostrar un mensaje si un cierto valor es positivo, negativo o cero. 2.-Algoritmo para definir el mayor de tres números dados. Here comes your footer  Page 51 Problemario
  • 52.
    Expresiones lógicas Here comesyour footer  Page 52 Sirven para plantear condiciones o comparaciones y dan como resultado un valor booleano verdadero o falso, es decir, se cumple o no se cumple la condición. Se pueden clasificar en simples y complejas. OPERADOR REPRESENTACIÓN EN PSEINT REPRESENTACIÓN EN C AND Y && OR O || NOT NO !
  • 53.
    Tablas de verdad Y EntradasSalida V V V V F F F V F F F F Here comes your footer  Page 53 O Entradas Salida V V V V F V F V V F F F NO Entrada Salida V F F V
  • 54.
    Estructura selectiva compuesta, conexpresiones lógicas Here comes your footer  Page 54
  • 55.
    Ejemplo 3.-Una escuela aplicados exámenes a sus aspirantes, por lo que cada uno de ellos obtiene dos calificaciones de notadas como C1 y C2. El aspirante que obtenga calificaciones mayores que 80 en ambos exámenes es aceptado; en caso contrario es rechazado. Here comes your footer  Page 55 Problemario
  • 56.
    Consolida lo aprendido. •¿Qué son las estructuras selectivas? • ¿Cómo se clasifican las estructuras selectivas? • ¿Cuándo se utilizan los operadores lógicos en los algoritmos? Here comes your footer  Page 56
  • 57.
    Estructuras selectivas múltiples •Con frecuencia es necesario que existan más de dos elecciones posibles. Este problema se podría resolver por estructuras selectivas simples o dobles, anidadas o en cascada, pero si el número de alternativas es grande puede plantear serios problemas de escritura y de legibilidad. • Usando la estructura de decisión múltiple se evaluará una expresión que podrá tomar n valores distintos, 1, 2 , 3, ...., n y según que elija uno de estos valores en la condición, se realizará una de las n acciones o lo que es igual, el flujo del algoritmo seguirá sólo un determinado camino entre los n posibles. • Esta estructura se representa por un selector el cual si toma el valor 1 ejecutará la acción 1, si toma el valor 2 ejecutará la acción 2, si toma el valor N realizará la acción N. Here comes your footer  Page 57
  • 58.
    Estructura repetitiva Según Herecomes your footer  Page 58
  • 59.
    Estructura switch switch( n) { case 1 : printf(“uno”); break; case 2: printf(“dos”); break; case 3: printf(“tres”); break; default : break; } Here comes your footer  Page 59
  • 60.
    Ejemplo • Se desearealizar un algoritmo que permita obtener el nombre del mes a partir de un número entero introducido por teclado (1 para enero, 2 para el febrero, 3 para el marzo, etc.) Here comes your footer  Page 60 Problemario
  • 61.
    Algoritmos de estructuras repetitiva Tambiénconocidas como Ciclos o Bucles, las estructuras repetitivas son aquellas que permiten la ejecución de un conjunto de acciones o instrucciones varias veces dentro de un algoritmo. El número de veces que dichas acciones o instrucciones se llevan a cabo, se pueden especificar a través de una condición lógica que, al ser evaluada, establece si se continúa con la repetición o finaliza. Las estructuras repetitivas están compuestas por tres partes: • La condición lógica, • Las acciones o instrucciones que se repiten, y • La salida de la repetición Existen tres tipos de estructuras repetitivas: • Mientras • Repetir hasta • Para Here comes your footer  Page 61
  • 62.
    Contadores Un contador esuna variable cuyo valor se incrementa o decrementa en una cantidad fija en cada iteración. Se utilizan en los siguientes casos: • Para contabilizar el número de veces que es necesario repetir una acción (variable de control de un ciclo) • Para contar un suceso particular solicitado por el enunciado del problema (asociado a un ciclo independiente) • Representa la variable de control del ciclo. • Toma un valor inicial (generalmente 0 ó 1) y se incrementa en la mayoría de los casos. • Toma un valor inicial y se compara con el valor final. Here comes your footer  Page 62
  • 63.
    Contadores • Se defineuna variable de tipo entero, para el contador. • La inicialización consiste en asignarle al contador un valor. Se situará antes y fuera del ciclo. Ejemplo: i = i + 1 (incremento) i = i – 1 (decremento) Here comes your footer  Page 63
  • 64.
    Estructura ciclo Mientras Herecomes your footer  Page 64
  • 65.
    Ejemplo • Hacer unalgoritmo para determinar la media de una lista indefinida de números positivos, el programa seguirá pidiendo números mientras estos sean diferentes de cero (0), cuando esto suceda deberá imprimir el promedio. Here comes your footer  Page 65 Problemario
  • 66.
    Ciclo While Here comesyour footer  Page 66 while(condición){ <listas de instrucciones condición=true>; <actualización de la condición>; }
  • 67.
    Estructura ciclo Repetir hasta Herecomes your footer  Page 67
  • 68.
    Ejemplo • Crea unprograma que genere dos números al azar entre el 0 y el 100, y pida al usuario que calcule e introduzca su suma. Si la respuesta no es correcta, deberá volver a pedirla tantas veces como sea necesario hasta que el usuario acierte. Pista: para generar un número al azar del 0 al 100 puedes hacer numero <- AZAR(100) Here comes your footer  Page 68 Problemario
  • 69.
    Ciclo do while Herecomes your footer  Page 69 do { <listas de instrucciones condición=true>; <actualización de la condición>; } while ( <expresión_lógica> ); http://solucioningenieril.com/programacion_en_c/ numeros_aleatorios
  • 70.
    Estructura ciclo Para •La estructura repetitiva (PARA) es aquella en la que el número de iteraciones se conoce por anticipado, y por ello no se precisa poner ninguna condición de salida para detener el bucle. En su lugar un contador cuenta el número de iteraciones fijas y se termina cuando llega al valor final previamente definido. • Quiere decir que esta estructura se usa frecuentemente cuando se conoce de antemano el número de veces que se ejecutarán las acciones de un bucle. Esta es una de sus características. Here comes your footer  Page 70
  • 71.
    Estructura Here comes yourfooter  Page 71
  • 72.
    Ejemplo • Diseñe unalgoritmo representándolo en DF y Pseudocódigo que muestre las raíces cuadradas de todos los números entre 11 y 30. raiz(n); en C sqrt(n) Here comes your footer  Page 72 Problemario
  • 73.
    Ciclo For enC for(inicio;mientras;incremento) { //CODIGO A EJECUTAR } Here comes your footer  Page 73
  • 74.
    Consolida lo aprendido. •¿Cuando se utilizan los ciclos? • ¿Cuáles son los elementos de un ciclo para? • ¿Diferencia entre los ciclos, Mientras, Repetir y Para? Here comes your footer  Page 74
  • 75.
    Estructuras de Datos:Arreglos • Los arreglos son estructuras de datos homogéneas (todos sus datos son del mismo tipo) que permiten almacenar un determinado número de datos bajo un mismo identificador, para luego referirse a los mismo utilizando uno o más subíndices. Los arreglos pueden pensarse como vectores, matrices, etc. • Para poder utilizar un arreglo, primero es obligatorio su dimensionamiento; es decir, definirlo declarando los rangos de sus subíndices, lo cual determina cuantos elementos se almacenarán y como se accederá a los mismos. Here comes your footer  Page 75
  • 76.
    Dimensionamiento (Arreglos- Arrays) El anteriorejemplo nos muestra un vector unidimensional de 10 posiciones para almacenar información y la variable se llama datos. Para declarar un vector en PSeINT de utiliza la palabra reservada Dimension Ejemplo: Dimension Datos(10); La instrucción Dimensión permite definir un arreglo, indicando sus dimensiones. Here comes your footer  Page 76
  • 77.
    Escribir en losArreglos Para almacenar la información en el arreglo o vector debemos dar el nombre de la variable y la posición en que queremos guardar la información. Here comes your footer  Page 77 Proceso Arreglos Definir Datos Como Entero; Dimension Datos(10); Escribir "Escribe un número para ser guardado en el vector"; Leer Datos(8); FinProceso
  • 78.
    Escribir en losArreglos Para poder almacenar datos en un vector se requiere de la sentencia de ciclos PARA. Vemos que el vector es de tres (10) posiciones lo que quiere decir que se necesita un ciclo que inicie en 0 y termine en 9, así Para i=0 Hasta 9 Con Paso 1 Hacer Escribir "Escribe un número para ser guardado en el vector"; Leer Datos(i); Fin Para Here comes your footer  Page 78
  • 79.
    Imprimir un Arreglos imprimirel contenido de la información que tiene el vector de manera inversa a como fue ingresada, se debe tener en cuenta el siguiente procedimiento: Para i=0 Hasta 9 Con Paso 1 Hacer Escribir “El valor guardado para en la posición ", i, " es: ", Datos(i); Fin Para Here comes your footer  Page 79
  • 80.
    Ejemplo Desarrollar un algoritmoque permita almacenar el número de cuenta y el nombre de 10 estudiantes. Here comes your footer  Page 80
  • 81.
    Ejemplo El usuario puedeingresar un numero de cuenta a buscar en el vector y el algoritmo debe mostrar el nombre que corresponde al número de ingresado, siempre y cuando haya sido almacenado previamente, de lo contrario mostrar un mensaje “Alumno no encontrado” Here comes your footer  Page 81
  • 82.
    Array en C Definición intA[4]; char nombre[50]; Guardar valor en el vector Int i; A[i]=i; nombre[1]=“Juan”; Here comes your footer  Page 82
  • 83.
    Ejercicio 2: Ordenarvector Manual de prácticas • Realiza un programa en PSeInt que permita llenar un vector de N posiciones y lo ordene de mayor a menor e imprima el vector desordenado y el vector ordenado. Here comes your footer  Page 83
  • 84.
    • Algoritmo detarea •Definir a,x,temp,vector Como Entero; • Dimension vector[10]; • para x = 1 Hasta 3 Con Paso 1 Hacer • Escribir "Ingresa un numero"; • leer vector(x); • FinPara • //Utilizamos el metodo de la Burbuja • Escribir "Vector original:"; • para x = 1 Hasta 3 Con Paso 1 Hacer • Escribir vector(x); • FinPara • Escribir "Vector Orden Descendente:"; • para x = 1 hasta 3 hacer • para a = 1 hasta 3 Hacer • si vector(a) < vector(a+1) • temp = vector(a); • vector(a) = vector(a+1); • vector(a+1) = temp; • FinSi • FinPara • FinPara • • para x = 1 Hasta 3 Con Paso 1 Hacer • Escribir vector(x); • FinPara • FinAlgoritmo Here comes your footer  Page 84
  • 85.
    Matriz • Un arreglo(matriz) es una colección ordenada de datos. Se emplean para almacenar múltiples valores en una sola variable. • Cada elemento del arreglo (matriz) tiene un número al que está asociado, llamado "índice numérico" (indice), que permite acceder a él. Here comes your footer  Page 85
  • 86.
    Ejemplo • Realiza unprograma en PSeInt que permita llenar una mattriz de 3x3 e imprima al final los valores de la matriz Here comes your footer  Page 86
  • 87.
    Actividad 3: Tablapitagórica Crea un array o arreglo multidimensional que contenga la tabla de multiplicar del 1 al 9 (10 filas y 10 columnas). La primera fila y la columna debe contener estos números. Algo así: Here comes your footer  Page 87
  • 88.
    Funciones Una función esun conjunto de instrucciones que se ejecutan cada vez que son llamadas en el cuerpo central de nuestro programa. Las funciones en PSeInt pueden dividirse en dos categorías principales: funciones que devuelven valor y funciones que no devuelven valor Here comes your footer  Page 88
  • 89.
    Funciones que NOdevuelven valor Proceso sin_titulo mensaje(); FinProceso funcion mensaje() Escribir "Hola Mundo"; FinFuncion Here comes your footer  Page 89
  • 90.
    Funciones que SIdevuelven valor Proceso sin_titulo Escribir "El resultado de la suma es: ", Suma(); FinProceso funcion r=Suma() definir r, a, b Como Entero; r=5+20; FinFuncion Here comes your footer  Page 90
  • 91.
    Ejemplo • Desarrollar unseudocódigo con asignación y función que calcula el área de un triángulo conociendo la base y la altura Here comes your footer  Page 91
  • 92.
    Actividad • Escribe unafunción en pseudocódigo llamada ConversionMoneda (…) que permita convertir una cantidad de dinero dada en dolares, libras o yenes a Euros. Estas son las equivalencias aproximadas: • 1 libra=1,22 euros • 1 dolar=0,75 euros • 1 yen=0.009 euros Here comes your footer  Page 92
  • 93.
    Funciones de cadenasde texto • longitud(cadena): Devuelve la cantidad de caracteres de la cadena. • mayusculas(cadena): Devuelve una copia de la cadena con todos sus caracteres en mayúsculas. • minusculas(cadena): Devuelve una copia de la cadena con todos sus caracteres en minúsculas. • subcadena(cadena,pos_ini,pos_fin): Devuelve una nueva cadena que consiste en la parte de la cadena que va desde la posición pos_ini hasta la posición pos_fin. • concatenar(cadena1,cadena2): Devuelve una nueva cadena resulta de unir las cadenas cadena1 y cadena2 • . • convertirANumero(cadena): Recibe una cadena de caracteres que contiene un número (caracteres numéricos) y devuelve una variable numérica con el mismo. • convertirATexto(numero): Recibe un numero y devuelve una variable cadena de caracteres de dicho real. Here comes your footer  Page 93
  • 94.
    Proyecto final No ProyectoContenido 1 Punto de venta Registro de producto, Facturación, Inventario, Buscar producto, Salir 2 Librería Clientes, Reg.Libros, Reg. Préstamo, Reporte de préstamo, Salir 3 Control escolar Alumnos, grupos, Maestros, Lista de asistencia, Salir 4 Programa bancario Abrir cuenta, Depósito, Retiro, Estado de cuenta, Salir 5 Juego Jugadores, Preguntas Respuestas, Puntaje, Reglas, Salir Here comes your footer  Page 94 INCLUIR UN MANUAL DE USUARIO EN PDF
  • 95.
    ¿Qué es Java •Lenguaje de programación orientado a objetos, multiplataforma. Here comes your footer  Page 95
  • 96.
    Here comes yourfooter  Page 96
  • 97.
    ¿Qué necesitamos paraprogramar en Java? • Descargar el Java Development Kit (JDK) • https://jdk.java.net/ • Una PC o laptop con recursos mínimos • Descargar Netbeans • https://netbeans.apache.org/ • Configurar Path Here comes your footer  Page 97
  • 98.
    Proceso para configurarJava 1. Copiar la carpeta de Java al disco C: 2. Abrir Configuración del Sistema 1. Panel de control/Sistema/Configuración avanzada del sistema/ variables de entorno 2. Dar clic en Nuevo • Nombre: Java_Home • Valor de la variable: RUTA de la carpeta de Java: C:jdk-18.0.2 3. Agregar la carpeta bin a la ruta de la variable PATH 1. Edita la variable path 2. Agregar una nueva variable 3. Pega la RUTA bin de Java C:jdk-18.0.2 bin Here comes your footer  Page 98
  • 99.
    La codificación de programasJava Programación I
  • 100.
    Estructura de unprograma Java /** * * @author Olivera * Este programa escribe el texto "Hola mundo" en la consola * utilizando el método System.out.println() */ public class Hola_mundo { public static void main(String[] args) { System.out.println("Hola mundo"); } } Here comes your footer  Page 100 Comentario Clase Sentencia Método
  • 101.
    Tipos de variables Herecomes your footer  Page 101
  • 102.
  • 103.
    Perímetro de unacircunferencia Here comes your footer  Page 103
  • 104.
    Contadores y sumadores Herecomes your footer  Page 104
  • 105.
    Estructuras de controlselectivas • Simple (If) • Múltiple (Case) Here comes your footer  Page 105
  • 106.
    Estructuras de control repetitivas •While • Do • For Here comes your footer  Page 106
  • 107.
    Vectores Here comes yourfooter  Page 107
  • 108.
    • import java.util.Scanner; •public class Hola_mundo { • public static void main(String[] args) { • int num; • //Leemos los valores • Scanner Entrada = new Scanner(System.in); • • System.out.println("Escribe un numero:"); • num = Entrada.nextInt(); • System.out.println("El Valor es: " + num); • • // TODO code application logic here • } • • } Here comes your footer  Page 108
  • 109.
    Ejercicios propuestos 1. Realizaun programa en PSeInt que permita ingresar dos números y con ellos realice las operaciones básicas de suma, resta, división y multiplicación e imprima los resultados 2. Calcular el salario de un trabajador, ingresando las horas trabajadas y el valor por hora, se debe mostrar el nombre del trabajador. 3. Ingresar por teclado 2 números enteros y mostrar el menor de los números ingresados y la suma de dichos números. 4. A un trabajador le pagan según sus horas trabajadas por una tarifa de pago por hora. si la cantidad de horas trabajadas es mayor a 40 horas. la tarifa se incrementa en un 50% para las horas extras. calcular el salario del trabajador dadas las horas trabajadas y la tarifa. Here comes your footer  Page 109
  • 110.
    Ejercicios propuestos • Hacerun algoritmo en Pseint para una heladería se tienen 4 tipos de empleados ordenados de la siguiente forma con su número identificador y salario diario correspondiente: Here comes your footer  Page 110 # TIPO DE EMPLEADO SUELDO DIARIO 1 Cajero $56 2 Mostrador $64 3 Preparador de Helado $80 4 Mantenimiento $48
  • 111.
    Introducción a C++ Herecomes your footer  Page 111
  • 112.
    Función main int main(){ } Here comes your footer  Page 112
  • 113.
    Función main Here comesyour footer  Page 113
  • 114.
    Archivo de cabecera #include<iostream> int main(void) { //Se muestra un mensaje por pantalla. std::cout <<"Hola mundo"; return 0; } Here comes your footer  Page 114
  • 115.
    Introducción a C++ Herecomes your footer  Page 115
  • 116.
  • 117.
    using namespace std; #include<iostream> using namespace std; int main(void) { //Se muestra un mensaje por pantalla. cout <<"Hola mundo"<<endl; cout <<"amigo"; return 0; } Here comes your footer  Page 117
  • 118.
    Leer datos porteclado #include <iostream> using namespace std; char name[200]; int main(void) { //Se muestra un mensaje por pantalla. cout <<"Programa para imprimir una variable con un valor asignado por el usuario"<<endl; cout <<"Escribe tu nombre"<<endl; cin>> name; cout <<"Hola "<<name; return 0; } Here comes your footer  Page 118
  • 119.
    Principales tipos dedatos en C++ Here comes your footer Page  119
  • 120.
    Función POW() • Devuelveun número elevado a la potencia de un exponente. POW(number, exponente) Ejemplo POW(5,2) Devuelve 25. Here comes your footer  Page 120
  • 121.
    Here comes yourfooter  Page 121 pow, powf, po wl