Programacion 2021
Programacion 2021
Programacion 2021
ÚLTIMA CLASE
18 DE MARZO 2021
INSTRUCTORA:
CABIMAS, 06/04/2021
INTRODUCCIÓN
SOFTWARE
Es el conjunto de instrucciones electrónicas que le dicen al hardware lo que debe
hacer.
Estos conjuntos de instrucciones también se conocen como programas y cada
uno de ellos se desarrolla para un propósito específico.
Actividad 1
1. Qué sistema operativo tiene su computador instalado?
2. Que software de aplicación tiene en uso en su computador y para que los utiliza?
3. Cuál es la diferencia entre el software del sistema y el software de aplicación
4. Señale dos diferencias importantes de la programación modular y la programación
estructurada
CONCEPTO DE PSEUDOCÓDIGO.
El pseudocódigo, o notación pseudocodificada, se puede definir como el lenguaje
intermedio entre el lenguaje natural y el lenguaje de programación seleccionado. Esta
notación se encuentra sujeta a unas determinadas reglas que nos permiten y facilitan el
diseño de algoritmos como fórmula de resolución a un problema.
La notación pseudocodificada surge como método para la representación de
instrucciones de control en una metodología estructurada y nació como un lenguaje similar
al inglés, que utilizaba palabras reservadas de esta idioma para la representación de
acciones concretas (start, end, stop, while, repeat, for, if, if – then – else, etc.) y que
posteriormente se fue adaptando a otros lenguajes de lengua hispana.
La notación pseudocodificada o pseudocódigo se caracteriza por:
CONCEPTO DE ALGORITMO.
Un algoritmo se puede definir como la descripción abstracta de todas las acciones u
operaciones que debe realizar un ordenador de forma clara y detallada, así como el orden en
el que éstas deberán ejecutarse junto con la descripción de todos aquellos datos que deberán
ser manipulados por dichas acciones y que nos conducen a la solución del problema,
facilitando así su posterior traducción al lenguaje de programación correspondiente.
El diseño de todo algoritmo debe reflejar las cuatro partes de un programa y que son la
entrada, el proceso o diseño del algoritmo, traducción a un lenguaje de programación
(compilación) y la salida de datos. Es importante tener en cuenta que todo algoritmo debe
ser totalmente independiente del lenguaje de programación que se utilice; es decir, que el
algoritmo diseñado deberá permitir su traducción a cualquier lenguaje de programación
con independencia del ordenador en el que se vaya a ejecutar dicho programa
habitualmente.
Debe ser conciso y detallado, es decir, debe reflejar con el máximo detalle el orden
de ejecución de cada acción u operación que vaya a realizar el ordenador. Todo
algoritmo se caracteriza por tener un comienzo y un final. Por ello se puede decir que
es finito o limitado.
Al aplicar el mismo algoritmo “n” veces con los mismos datos de entrada, se deben
obtener siempre los mismos resultados o datos de salida. Por ello se puede decir que
es exacto o preciso.
Debe ser flexible, es decir, que debe adaptarse con facilidad a cualquier lenguaje de
programación y entorno o plataforma.
Debe facilitar el entendimiento así como su traducción y las futuras modificaciones
o actualizaciones que sobre él sean necesarias realizar. Por tanto, se deberá diseñar
utilizando un estilo amigable y entendible.
Partes de un programa
Las fases o etapas constituyen el ciclo de vida del software, ayudarán en el proceso de
resolución de un problema, en este caso las fases de ejecución de un programa en C
serán:
En esta fase se requiere una clara definición del problema, para poder hacer esto es
conveniente realizar las siguientes preguntas:
Ejemplo 1
¿Es un algoritmo la siguiente instrucción?
Problema: Escribir una lista de todos los enteros positivos
Solución: Es imposible ejecutar la instrucción anterior dado que hay infinitos enteros
positivos.
Ejemplo 2
Problema: Calcular el sueldo neto de un trabajador conociendo el número de horas
trabajadas, la tarifa horaria y la tasa de impuestos.
Solución: Se debe definir el problema.
1. ¿Qué datos de entrada se requieren?
Número de horas trabajadas
Tarifa
Impuestos
2. ¿Cuál es la salida deseada?
Sueldo Neto
3. ¿Cuál es el método a usar? (Algoritmo)
Inicio
Leer Número de horas trabajadas
Leer Tarifa
Leer Impuestos
Calcular Sueldo Neto = Número de horas trabajadas * Tarifa
Calcular Impuestos = Sueldo Neto * Tasa
Calcular Sueldo Neto = Sueldo Neto – Impuestos
Visualizar Sueldo Neto
Visualizar Impuestos
Fin
Ejemplo 3
Se desea calcular la distancia recorrida) por un móvil que tiene velocidad constante
(m/s) durante un tiempo T(sg), considerar que es un MRU( Movimiento Rectilíneo
Uniforme)
Solución:
Datos
Salida: Distancia recorrida (m)
Entrada: velocidad Constante (m/s)
Tiempo (sg)
Inicio
Leer V
Leer T
D=V*T
Escribir D
Fin
Ejemplo4
Se necesita obtener el promedio simple de un estudiante a partir de sus tres notas
parciales
Solución
Datos
Salida Indicadores
Promedio P
Entrada
Nota parcial1 N1
Nota Parical2 N2
Nota parcial 3 N2
Inicio
Leer N1
Leer N2
Leer N3
P=(N1+N2+N3)
Escribir P
Ejemplo
N=15
N2=18
N3=20
P=(15+18+20)/3
P=17,6
Cuando se utilice una función propia de alguna librería, será necesario que se añada
o indique antes del main la declaración de inclusión de la librería.
Las sentencias compuestas se encierran entre llaves. Estas llaves pueden contener
otras sentencias compuestas o combinaciones de sentencias elementales (llamadas
sentencias de expresión).
Los comentarios pueden aparecer en cualquier parte del código, y han de estar encerrados
por marcas especiales:
Este bloque está formado por todas aquellas instrucciones que toman los resultados
depositados en memoria principal una vez procesados los datos de entrada,
enviándolos seguidamente a un dispositivo o periférico externo
Las dos primeras etapas conducen a un diseño detallado escrito de forma de algoritmo.
Durante la tercera etapa (Codificación) se implementa el algoritmo en un código escrito en
un lenguaje de programación reflejando las ideas desarrolladas en las fases de análisis y
diseño La Compilación, Ejecución y Verificación realiza la traducción y ejecución del
programa, se comprueba rigurosamente y se eliminan todos los errores que pueda tener. Si
existen errores es necesario modificarlo y actualízalo de manera que cumplan todas las
necesidades de cambio de sus usuarios, para ello se usan las etapas de Verificación y
Depuración.
Datos.
Un dato es un elemento de información que puede tomar un valor entre varios posibles.
Si tienes valores fijos durante todo el programa son constantes. Si pueden modificar su
valor durante la ejecución del programa son variables. Una variable puede ser considerada
como la abstracción de una posición de memoria.
Clasificación de los datos:
Simples: son los que están predefinidos en C y se pueden utilizar directamente.
Estructurados.
Los datos se caracterizan por:
Nombre o identificador: nombre con el que se hace referencia a una función o al
contenido de una zona de memoria (deberá describir su contenido o su función).
Tipo: identifica el rango posible de valores así como posibles operaciones sobre
ellos.
Valores: elementos determinados, dentro del rango indicado por el tipo y
contenido en el espacio de memoria reservado (se interpreta en función del tipo)
Los tipos de datos fundamentales en el lenguaje de programación C son los cinco que se
muestran en la siguiente tabla:
El tipo void no tiene tamaño y por tanto, no ocupa espacio en memoria. Este tipo de
datos se aplica:
Definir un puntero genérico.
Especificar que una función no retorna de forma explícita ningún valor.
Declarar que una función no utiliza parámetros.
Los principales modificadores que se pueden aplicar a los datos básicos, entendiendo
por modificador todo elemento que se utiliza para alterar el significado del tipo base de
forma que se ajuste más precisamente a las necesidades de cada momento, se encuentran
recogidos en la siguiente tabla:
Los identificadores en C son nombres constituidos por una secuencia de letras, dígitos y
el carácter subrayado que permite hacer referencia a funciones, variables, constantes y
otros elementos dentro de un programa. Las reglas que hay que seguir para la construcción
de un identificador en C son las siguientes:
Deben comenzar obligatoriamente por un carácter alfabético (a-z, A-Z) o el signo de
subrayado (_ ).
Siguiendo al primer carácter, pueden ser intercalados caracteres alfabéticos, el signo
de subrayado y caracteres numéricos (0-9).
El número de caracteres utilizado en la construcción del identificador va en función
del compilador utilizado.
No está permitido el uso de blancos intermedios.
Las letras mayúsculas y minúsculas son interpretadas como caracteres diferentes.
Constantes.
Las constantes en C se refieren a valores fijos que no pueden ser modificados por el
programa. Pueden ser de cualquier tipo de dato básico. La forma en que se representa cada
constante depende de su tipo, así:
Las constantes de carácter van encerradas en comillas simples.
Las constantes enteras se especifican como números sin parte fraccionaria.
Existen dos tipos en coma flotante: float y double, de los cuales existen distintas
variaciones dependiendo de los modificadores vistos en apartados anteriores.
Las constantes de cadenas de carácter van encerradas entre comillas dobles.
Las constantes simbólicas tienen un identificador y se definen mediante la palabra
clave const.
Las constantes de tipo enumeración, son aquellos valores que puede tomar un tipo
enumerado.
Otro tipo de constantes son:
Constantes hexadecimales y octales.
A veces es más cómodo utilizar un número en base 8 o en base 16, denominándose a
estos sistemas de numeración sistema octal y hexadecimal respectivamente. C
permite especificar constantes enteras en hexadecimal o en octal en lugar de decimal.
Una constante hexadecimal consiste en Ox seguido de la constante en forma
hexadecimal. Una constante octal comienza por O. Algunos ejemplos:
Operadores.
Los operadores son signos, símbolos o palabras que permiten redactar operaciones
matemáticas o de cadenas sobre los datos que se utilicen en el diagrama de flujo. El
lenguaje C tiene cuatro clases de operadores: aritméticos, relacionales, lógicos y a nivel de
bits, además de otros operadores especiales para determinadas tareas. Hay 5 tipos de
operadores disponibles en RAPTOR, los cuales son:
Sin embargo, existe una diferencia entre la forma prefija y la postfija cuando se
utilizan estos operadores en una expresión. Cuando el operador de incremento o de
decremento precede a su operando, C lleva a cabo la operación del incremento o de
decremento antes de utilizar el valor del operando. Si el operador sigue al operando,
C utiliza su valor antes de incrementarlo o de decrementarlo. Ejemplo
x=10
x=10;
2. Manejo de cadenas: operador (+) para concatenar o unir 2 o más cadenas iniciales
en una cadena final.
3. Operadores relacionales: son utilizados para establecer comparaciones entre
operandos o expresiones. Son básicamente seis: mayor que ( > ), menor que ( < ),
mayor o igual que ( >= ), menor o igual que ( <= ), igual que ( = ) y, por último, es
distinto de ( != ).
4. Operadores lógicos: se utilizan para operar de forma lógica valores de verdad
(verdadero y falso). Los operadores lógicos son básicamente tres: or, and y not.
5. Matemáticos de agrupación: con parejas de paréntesis ( ). Para alterar el orden
estándar de resolución de los operadores matemáticos y lógicos en el cálculo de una
formula.
Variables
• Las variables son posiciones de memoria que almacenan el valor de un Dato dentro
del diagrama de flujo y puede cambiar durante su ejecución.
• Las variables no existen al iniciar el diagrama. Estas se crean de manera automática
cuando se usan en una sentencia por primera vez, gracias al uso de un nombre
(identificador).
Entorno de RAPTOR
Entorno de RAPTOR
A B C
2. Ahora sin soltar coloque entre el icono de Start y End , el simbolo seleccionado. En
este caso seleccionamos Cuadrado ( asignación de variable), inserte ( suelte ) y debe
aparecer
Se repite el
mismo
procedimiento
3. Descripción de los símbolos utilizados en el flujograma
Se utiliza para realizar un cálculo (ecuación) con valores y/o variables y después
almacenar el resultado en una variable. Para definir una asignación, se agrega el
símbolo Assignment al diagrama de flujo y da doble clic sobre el mismo.
En el parámetro Set: puede definir:
a) Un valor fijo. Por ejemplo se realiza la creación de una variable llamada Edad y le
asigna un valor inicial de 38.
b) Una expresión/ecuación. Por ejemplo se modifica el valor de una variable
llamada RESTA gracias a la evaluación de una ecuación, que usa a otras variables (A
y B).
Este error también se desencadena si cambia las letras que definen los identificadores
de variables al usarlas en el diagrama de flujo. Por ejemplo asigna un valor inicial a
una variable llamada Total, pero luego, la utiliza bajo el nombre total dentro de una
ecuación para asignar el resultado a otra variable.
Sentencia de Entrada
Permite que el usuario de un programa ingrese
un valor (dato) a una variable durante la
ejecución del diagrama de flujo. Al dar doble
clic sobre el símbolo Input, primero se define
un mensaje que explicara a usuario el dato que
ingresara al ejecutarse el diagrama de flujo y
luego, se define el nombre/identificador de la
variable que almacenara el dato ingresado.
Entre comillas se escribe la cadena de caracteres: Ingrese nombre de la chica”
Ejemplo
Los operadores son símbolos o palabras que permiten redactar operaciones matemáticas o
de cadenas sobre los datos que se utilicen en el diagrama de flujo. Hay 5 tipos de
operadores disponibles en RAPTOR, los cuales son:
a. Matemáticos: suma ( + ), resta ( - ), multiplicación ( * asterisco), división ( / ), módulo o
residuo de una división entre 2 números enteros (palabras mod o rem ) y la potencia 𝑎𝑛(
** o también ^ ) .
b. Manejo de cadenas: operador (+) para concatenar o unir 2 o más cadenas iniciales en
una cadena final.
c. Operadores relacionales: son utilizados para establecer comparaciones entre operandos
o expresiones. Son básicamente seis: mayor que ( > ), menor que ( < ), mayor o igual que (
>= ), menor o igual que ( <= ), igual que ( = ) y, por último, es distinto de ( != ).
d. Operadores lógicos: se utilizan para operar de forma lógica valores de verdad
(verdadero y falso). Los operadores lógicos son básicamente tres: or, and y not.
e. Matemáticos de agrupación: con parejas de paréntesis ( ). Para alterar el orden estándar
de resolución de los operadores matemáticos y lógicos en el cálculo de una formula.
Muy importante:
Cuando se trate de un Paso/Símbolo de una estructura de control (una toma de decisiones,
un ciclo, etc), la modificación afecta también a su respectivo contenido que depende del
mismo.
Condicionales
ELEMENTOS
Contador: es una variable cuyo valor se incrementa o
decrementa en una cantidad fija de acuerdo a las condiciones
iniciales
Mientras (while):
INSTRUCCIONES REPETITIVAS Esta estructura ejecuta un
bloque de acciones « mientras»
que una condición dada se
cumpla
EJERCICIO 1
Determinar el costo total invertido en la compra de una determinada cantidad de juguetes
Desarrollo
a. Los pasos del pseudocódigo del algoritmo para solucionar este ejercicio se detallan
en el siguiente cuadro:
#paso Descripción
1 Inicio
2 Declarar unidades < 0, preciounitario <0
3 Declarar valorcompra <0
4 Imprimir "Algoritmo para determinar valor por compra de juguetes"
5 Imprimir "Cuantas juguetes va a comprar?”
6 Leer unidades
7 Imprimir "Cuánto cuesta cada juguete? (Bs.F) "
8 Leer preciounitario
9 Asignar valorcompra < unidades * preciounitario
10 Imprimir "Valor por la compra de juguetes sera de Bs.F "+valorcompra
11 Fin
b. Inicie el programa RAPTOR. Se le muestra un diagrama de flujo vacío, es decir,
con solamente 2 pasos: Start y End.
d.
Se realiza similar
procedimiento para la
siguiente variable
denominada preciounitario
(recordar no pueden haber
espacios en blanco o se
escribe precio_unitario)
Paso 7: Imprimir "Cuánto cuesta cada juguete? (Bs.F) ". Es un dato de entrada por lo tanto
seleccionamos el símbolo INPUT y la variable creada es preciounitario
Paso 9: Asignar valor compra < unidades * preciounitario
Para la asignación de este paso se selecciona el símbolo Assignment ( es un proceso) y
haga doble clic sobre el mismo
Paso 10: Imprimir "Valor por la compra de juguetes sera de Bs.F "+valorcompra
CORRIDA DEL PROGRAMA
Para continuar, se procederá a ejecuta el flujograma paso por paso. Para ello, en la barra
inferior del Menú, localice y de clic en botón Step to Next Shape o sino, presione la tecla
F10.
Los resultados de los pasos Output se mostraran en la ventana MasterConsole.
Borre contenido de la ventana MasterConsole.
Ejecute una prueba completa del pseudocódigo, presionando una vez a la tecla F5 o RUN
.
Guarde los cambios en el pseudocódigo y cierre a la aplicación RAPTOR.
Ejercicio 2
Realizar la suma de 2 números
Se desarrolla el algoritmo
Declarar variable valor1
Declarar variable valor
Declara variable resultado
Pedir Valor1
Pedir valor2
Resultado= Valor1+valor2
Mostrar resultado
SINO
FIN
Ejemplo:
SINO
FIN
Ejercicio 3
Realizar un programa que contenga las siguientes sentencias
Se escribe 1 si es suma
Se escribe 2 si es resta
Se escribe 3 si es multiplicación
Se escribe 4 si es división
Nota: recuerde salvar o guardar el programa
ACTIVIDAD
AGREGAR LA MULTIPLICACION Y DIVISION
Ejercicio 4
En la empresa PanVino, la administración desea determinar el pago de sueldos de sus
empleados. Considerando que mensualmente deben laborar 160 horas, y al excederse de
este tope, cada hora extra debe cancelarse al doble de su pago base, y al excederse de las
180 horas se les pagara al triple.
Datos de entrada
Horas trabajadas de cada persona
Sueldo base de cada persona
Condiciones
Horas normales de trabajo =160 horas
H trabajadas >160 se paga el doble
Horas trabajadas > 180 se paga al triple
Inicialmente abrimos raptor y la primera acción será seleccionar el símbolo de Input, para
introducir datos, en este caso Horas trabajadas de cada persona. Recuerde es un mensaje,
es decir una cadena de caracteres, por lo tanto ira entre comillas, si no se declara así el
programa lo reconocerá como una variable.
Luego esta información se guardara en una variable a la cual se le llamara Horas y esta se
declara en el espacio asignado Enter Variable Here
Se realiza similar procedimiento para el ingreso de la segunda variable Sueldo Basico
Nota: recuerde que la declaración de variables no puede tener espacios, en este caso se
escribe pegado
Ahora preguntaremos si se cumplen más de 160 horas o 180 horas, por lo cual se tendrá que
adicionar un nuevo símbolo de Selection en el cual se realizara la pregunta horas < o >
180
Se pregunta si es < 180 entonces el proceso será: el (Sueldobasico*160)+
((horas*160)*2*Sueldofinal) y el resultado se guardara en la variable llamada Sueldofinal
Ahora nos preguntaremos si es mayor a 180, entonces nuevamente abriremos un proceso
que será (160*Sueldobasico)+( 20 …ojo es que el máximo de horas que se pueden pagar al
doble , por lo tanto se multiplicara por dos y luego por el Sueldo_basico ; ahora se
considera el pago al triple, luego se sumara (( horas-180)*3 y multiplicara por el
sueldobasico y finalmente se guardara en la variable Sueldofinal
Se requiere mostrar el sueldo final, se selecciona el símbolo OUPUT y se escribe entre
comillas “El Sueldofinal fue de: ”, y ahora colocamos la variable Sueldofinal por lo tanto
se concatena con el signo +
Corremos el programa haciendo clic en Run
Ejercicio5
Calcular el área de un círculo
Datos de entrada: radio
Proceso: formula a= 2* r^2
Condición: asegurar que no se presenten radios negativos
Ejercicio 6
Realizar el diseño de un programa que contenga las tablas de multiplicar y cuando el
usuario introduzca la tabla, esta se muestre en pantalla
Aquí pide guardar
ahora seleccionamos el símbolo Loop para realizar un ciclo repetitivo
Aquí nos interesa, mostrar toda la
tabla completa, luego escribiremos
“ “ sin nada dentro…espacio
reservado para lo que desee
mostrar
Ejercicio 7
Realizar un reloj que muestre las horas, Minutos y segundos. Debe simular el
funcionamiento continuo y alternado de un reloj tipo hora militar
Condiciones Iniciales
Debe tenerse presente
Como son temporizaciones (contador de minutos, contador de segundos, contador de horas)
que se hacen repetitivas se trabajara con estructuras anidadas dentro de un lazo o bucle
principal que encerrara los minutos y segundos.
Al comenzar el conteo de segundos se llegara al tope máximo (59), pasara a minutos y al
llegar al tope máximo (59) se incrementara el contador de horas
Luego se tendrá:
3 registros de memoria para almacenar las variables
horas
Minutos y
Segundos
El conteo tanto de segundos y minutos será hasta 59
Se implementaran 3 Loop condition para horas, minutos y segundos
Desarrollo
Vamos Inicialmente a crear las variables horas, minutos y segundos
Recuerden son 3 contadores por lo tanto se insertan 3 loop condition, en este caso uno
para las horas, uno para los minutos y otro para los segundos. Cada Loop se conecta en la
toma de decisión (no) para que cada contador se incremente segundo los segundos,
minutos y horas
Declaramos el condicional del contador de segundos
Mostramos los segundos
Ahora se declara el contador(acumulador) de segundos
Declaramos el condicional del contador de minutos
declaramos el contador de minutos
Dentro de este 2do lazo, debemos hacer que el contador de segundos llegue a 0, por lo tanto
seleccionamos el símbolo de Asignenment y declaramos nuevamente la variable
Declaramos el condicional de horas
Insertamos el contador de horas
Ahora en este caso, insertamos el símbolo de Asignement (proceso) para volver el
contador de minutos a 0
Se correrá el programa
Para ver en la pantalla el tiempo actual
Para ello, aplicamos una subrutina utilizando el símbolo Call (llamado a subrutina), en este
caso, cada vez que muestre borrara (Clear) , como es un comando, no puede dejarse espacio
se utiliza piso y se escribe la acción ( Console), borrando el dato anterior. EsteConso
símbolo se colocara antes de mostrar en pantalla la hora
Corremos
Ahora queremos la visualización más lenta, para ello aplicamos una subrutina de
tiempo de 1seg, esta ira antes de la subrutina de borrado
Corremos