Programacion 2021

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 108

REPÚBLICA BOLIVARIANA DE VENEZUELA,

UNIVERSIDAD POLITÉCNICA TERRITORIAL DEL ZULIA


VICE-RECTORADO ACÁDEMICO
DIRECCIÓN DE POSTGRADO
PROGRAMA NACIONAL DE FORMACIÓN AVANZADA
EN INGENIERIA BIOMEDICA

ÚLTIMA CLASE

TALLER DE PROGRAMACIÓN BÁSICA

FECHA DE ENTREGA DE ACTIVIDADES

18 DE MARZO 2021

INSTRUCTORA:

MSc. YDITH ONTIVEROS

CABIMAS, 06/04/2021
INTRODUCCIÓN

Desde el nacimiento de la informática, el hombre ha buscado y desarrollado métodos y


herramientas para facilitar, agilizar y mejorar el trabajo de analistas y programadores,
ofreciendo nuevas vías o caminos para la búsqueda de soluciones a determinados
problemas mediante el diseño de algoritmos.
Por ello, los estudios realizados en este campo dieron origen a la denominada
programación estructurada y modular, con la que se llega a demostrar que cualquier
módulo de programa se puede construir utilizando tres tipos de estructuras básicas:
 Estructura secuencial.
 Estructura alternativa o condicional.
 Estructura repetitiva.
Al hablar de programación estructurada, se hace referencia a un conjunto de
técnicas que incorporan:
 Se le conoce como diseño descendente (top – down).
 Posibilidad de descomponer una acción compuesta en términos de acciones más
simples.
 El uso de estructuras básicas de control (secuencial, alternativa y repetitiva).
 Los programas quedan mejor documentados internamente y son más fáciles de
entender.

Por otro lado, al hablar de programación modular, se hace referencia a la división o


subdivisión de un programa en módulos, de manera que cada uno de ellos tenga
encomendada la ejecución de una única tarea o actividad. Cada módulo se caracteriza por
ser programado y depurado individualmente, lo que lo hace totalmente independiente.
De todo ello se deducen tres importantes características:
 Se minimiza la complejidad del problema y por tanto, se reducen errores en la fase
de codificación.
 Aumenta considerablemente la productividad.
 Facilita la depuración y puesta a punto de los programas.
 Disminuye la complejidad de los algoritmos
 Ahorra el tiempo de programación porque promueve la reusabilidad de código
 También utiliza la técnica del diseño descendente “Divide y vencerás”
Ejemplo
Un profesor quiere crear un programa para gestionar las notas de sus estudiantes. Quiere
que dicho programa le permita realizar tareas tales como asignar notas, cambiar notas, ver
las notas, etc.

EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS.

Un sistema operativo es un programa que actúa como interface entre máquina y


usuario, ofreciendo el entorno necesario para que el usuario pueda ejecutar programas. Por
lo tanto, el sistema operativo tiene dos objetivos:
 Facilitar el uso del sistema.
 Emplear eficientemente el hardware del ordenador.
La evolución de los sistemas operativos fue:
Open – Shop:
Reserva del tiempo de utilización.
Interacción “a mano”, mediante cableado e interruptores.
Surgen ayudas de hardware (lectores de tarjeta, impresoras,...) y de software (lenguajes
de programación de alto nivel,...).
Operador de preparación:
Desaparición de la interacción manual.
 Persona especifica encargada de la preparación del computador.
Procesamiento por lotes:
Ejecución de trabajos de requerimiento similares seguidamente.
Pérdida del contacto con el computador por parte del usuario.
Monitor residente.
Programa almacenado en memoria que realiza el secuenciamiento automático de
trabajos.
 Operaciones Off – Line.
Buffering.
Sistemas de almacenamiento para mantener ocupados simultáneamente al CPU y a los
periféricos.
 Acceso secuencial.
Spooling.
 Sistemas de almacenamiento similares a los buffers pero con acceso aleatorio.
Multiprogramación:
 Varios trabajos activos a la vez.

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.

Clasificación del Software


De acuerdo con el propósito para el que fueron desarrollados, los programas se clasifican
en dos categorías:
 Software de sistema
Le dice al ordenador cómo usar sus propios componentes. A esta categoría
pertenecen todos los programas que se denominan Sistemas Operativos

¿Qué es un sistema operativo?


Es el programa de control maestro del ordenador. Es el software más importante,
puesto que proporciona la plataforma lógica sobre la cual se pueden ejecutar los otros
programas. Sin él, no se puede trabajar el computador.

¿Cuáles son sus funciones?


 Posibilita la comunicación entre el usuario y el ordenador.
Su uso se basa en:
La metáfora de un escritorio, donde se muestran objetos gráficos para
representar los recursos disponibles.
El ratón como dispositivo de entrada.
Un grupo de herramientas gráficas especiales: Ventanas, íconos y menús

 Carga en memoria RAM otros programas para su ejecución.


 Coordina el trabajo entre el hardware y el resto del software.
 Administra el almacenamiento de información
 Software de aplicación
Le dice al ordenador cómo realizar tareas específicas para el usuario.

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

EVOLUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN.


Un lenguaje de programación es un lenguaje definido mediante un conjunto de símbolos
y reglas determinadas que permiten construir una serie de instrucciones con un significado
y función concreta.

Definición del concepto de programa desde dos puntos de vista:


 El del usuario: es un fichero que realiza una función determinada.
 El del programador: conjunto de instrucciones escritas en un lenguaje de
programación y que conducen a la resolución de un problema concreto.

La evolución de los lenguajes de programación ha sido:


a. Lenguaje máquina (lenguaje binario):
 Instrucciones en 0 y 1.
 Dependen del hardware.
 Directamente interpretables por la CPU.
b. Lenguajes ensambladores:
 Instrucciones en notación simbólica.
 Utilización de ensambladores o traductores.
c. Lenguajes de alto nivel:
 Independientes de la máquina.
 Muchas instrucciones.
 Traducción mediante interprete (traducción línea por línea) o compilador
(traducción del programa completo).
Tipos de lenguaje
 Tres tipos: estructurados (Pascal, C,...), funcionales, lógicos.

Las fases en el desarrollo de un programa se componen de:


1. Análisis: determinación del problema concreto a resolver.
2. Algoritmo: programa en lenguaje matemático – lógico.
3. Codificación: programa en lenguaje de programación correspondiente.
4. Prueba y depuración y 5. Mantenimiento.

ALGORITMOS Y PROGRAMAS. ESTRUCTURA DE UN PROGRAMA.

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:

 No puede ser ejecutado directamente por un ordenador, por lo que tampoco es


considerado como un lenguaje de programación propiamente dicho.
 Permite el diseño y desarrollo de algoritmos totalmente independientes del
lenguaje de programación posteriormente utilizado en la fase de codificación, pues no
está sujeto a las reglas sintácticas de ningún lenguaje excepto las del suyo propio.
 Es extremadamente sencillo de aprender y utilizar.
 Facilita al programador enormemente el paso del algoritmo al correspondiente
lenguaje de programación.
 Esta forma de representación permite una gran flexibilidad en el diseño del
algoritmo a la hora de expresar acciones concretas.
 Permite con cierta facilidad la realización de futuras correcciones o actualizaciones
gracias a que no es un sistema de representación rígido.
 La escritura o diseño de un algoritmo mediante el uso de esta herramienta, exige la
“identación” o “sangría” del texto en el margen izquierdo de las diferentes líneas.
 Permite obtener soluciones mediante aproximaciones sucesivas, es decir, lo que se
conoce comúnmente como diseño descendente o top down y que consiste en la
descomposición sucesiva del problema en niveles o subproblemas más pequeños, lo
que nos permite la simplificación del problema general.

Toda notación pseudocodificada debe permitir la descripción de:

 Instrucciones primitivas (entrada, salida, y asignación).


 Instrucciones de proceso o cálculo.
 Instrucciones de control.
 Instrucciones compuestas.
 La descripción de todos aquellos elementos de trabajo y estructuras de datos que
se vayan a manipular en el programa (variables, constantes, tablas, registros, ficheros,
etc.)-

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.

Características que debe cumplir todo algoritmo:

 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

Todo programa está constituido por un conjunto de órdenes o instrucciones capaces de


manipular un conjunto de datos. Estas órdenes o instrucciones pueden ser divididas en
cuatro grandes bloques claramente diferenciados, correspondientes cada uno de ellos a una
parte del diseño de un programa. Por lo tanto, el esquema a seguir a la hora de diseñar un
programa será:
Entrada de datos.

En este bloque se engloban todas aquellas instrucciones que toman datos de un


dispositivo o periférico externo, depositándolos posteriormente en la memoria central o
principal para su tratamiento.

Diseño del algoritmo.

Engloba todas aquellas instrucciones encargadas de procesar la información o aquellos


datos pendientes de elaborar y que previamente habían sido depositados en memoria
principal para su posterior tratamiento. Finalmente, todos los resultados obtenidos en el
tratamiento de dicha información son depositados nuevamente en la memoria principal,
quedando de esta manera disponibles.

Todo algoritmo representado en notación pseudocodificada deberá reflejar las siguientes


partes:

 Cabecera: es el área o bloque informativo donde quedará reflejado el nombre del


algoritmo y el nombre del programa al que pertenece dicho diseño, debiéndose
especificar el primero en el apartado denominado Módulo y el segundo en el apartado
denominado Programa.
 Cuerpo: se denomina así al resto del diseño, el cual queda dividido en otros dos
bloques denominados Bloque de datos y Bloque de acciones o instrucciones.

Traducción a un lenguaje de programación (compilación)


Lo primero es destacar que un intérprete no es lo mismo que un compilador, ya que un
intérprete lee y ejecuta línea a línea del programa, mientras que el compilador lee
completamente el programa y posteriormente lo ejecuta, por lo tanto, la ejecución del
programa con un compilador es mucho más rápida que con un intérprete.

Fases de Ejecución 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:

1. Análisis del problema

En esta fase se requiere una clara definición del problema, para poder hacer esto es
conveniente realizar las siguientes preguntas:

 ¿Qué entradas se requieren? (tipo y cantidad)


 ¿Cuál es la salida deseada? (tipo y cantidad)
 ¿Qué método produce la salida deseada?

Con dichas preguntas se determina qué necesita el programa para resolver el


problema. La solución puede llevarse a cabo mediante varios algoritmos .Un
algoritmo dado correctamente resuelve un problema definido y determinado.

El algoritmo debe cumplir diferentes propiedades:

 Especificación precisa de la entrada. Se debe dejar claro el número y tipo de


valores de entrada y las condiciones iniciales que deben cumplir dichos valores.
 Especificación precisa de cada instrucción. No debe haber ambigüedad sobre las
acciones que se deben ejecutar en cada momento.
 Exactitud, corrección. Si debe mostrar que el algoritmo resuelva el problema.
 Etapas bien definidas y concretas. Concreto quiere decir que la acción descrita
por esa etapa está totalmente comprendida por la persona o máquina que debe
ejecutar el algoritmo. Cada etapa debe ser ejecutable en una cantidad finita de
tiempo.
 Número finito de pasos. Un algoritmo se debe componer de un número finito de
pasos.
 Un algoritmo debe terminar. En otras palabras, no debe entrar en un ciclo
infinito.
 Descripción del resultado o efecto. Debe estar claro cuál es la tarea que el
algoritmo debe ejecutar. La mayoría de las veces, esta condición se expresa con la
producción de un valor como resultado que tenga ciertas propiedades.

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

2. Diseño del algoritmo

En esta fase, como se ha mencionado anteriormente, se determina cómo hace el


programa la tarea solicitada. Los métodos más eficaces para el proceso de diseño se
basan en el conocido divide y vencerás, esto es dividiendo el problema en
subproblemas y a continuación dividir estos subproblemas en otros de nivel más bajo
hasta que pueda ser implementada la solución. Existen diferentes herramientas de
programación, las más utilizadas para diseñar algoritmos son:

 Diagramas de flujo: Es una representación gráfica de un algoritmo. Los


símbolos normalizados por el Instituto Norteamericano de Normalización (ANSI)
y los más frecuentes empleados se muestran a continuación.
3. Codificación (escritura del programa fuente con un editor, como puede ser el que
tiene turbo C o el de Borland C ++ y almacenamiento del mismo en el disco.

Desarrollo de un Pseudocódigo: Es una herramienta de programación en la que las


instrucciones se escriben en palabras similares en inglés o español, que facilitan tanto
la escritura como la lectura de programas. Todo programa en C consta de una o más
funciones, una de las cuales es “main”.

El programa siempre comenzará por la ejecución de la función main. Las definiciones


de las funciones adicionales pueden preceder o seguir a main.

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.

Cada función debe contener:

 Una cabecera de la función (nombre más argumentos / parámetros).


 Una lista de declaraciones de los argumentos de la cabecera.
 Una sentencia compuesta que contiene el resto de la función.

Las sentencias compuestas se encierran entre llaves. Estas llaves pueden contener
otras sentencias compuestas o combinaciones de sentencias elementales (llamadas
sentencias de expresión).

Sentencia de expresión termina con punto y coma (;).

Los comentarios pueden aparecer en cualquier parte del código, y han de estar encerrados
por marcas especiales:

/* Comentarios*/ // Comentarios (hasta el final de línea)


Ejemplo

4. Introducir el programa fuente en memoria.


5. Compilar y ejecución.
6. Verificar y corregir errores de compilación.
7. Obtención del programa objeto.
8. Obtención del programa ejecutable mediante el enlazador.
9. Ejecución del mismo (Salida de datos o resultados).

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.

Tipos elementales de datos.

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)

Tipos fundamentales de datos. Palabras reservadas en C.

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:

Tipo Tamaño(Bits) Rango Mínimo


Char 8 -127 a 127
Unsigned char 8 0 a 255
Signed char 8 -127 a 127
Int 16 -32.767 a 32.767
Unsigned Int 16 0 a 65.535
Signed int 16 Igual que int
Short int 16 Igual que int
Unsigned Short int 16 0 a 65.535
Signed Short int 16 Igual que Short int
Long int 32 -2.147.483.647 a
2.147.483.647
Signed Long int 32 Igual que Long int
Unsigned long int 32 0 a 4.294.967.295
Float 32 Seis dígitos de precisión
Double 64 Diez dígitos de precisión
Long double 64 Diez dígitos de precisión

Las palabras reservadas son las que encontramos en la siguiente lista:


Auto volatile Break while case char const continue
default do double else enum extern
float for goto if int long
register return short signed sizeof static
struct switch typedef union unsigned void
Identificadores.

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:

int hex = Ox80 /*128 en decimal*/


int oct = O12 /*10 en decimal*/

Constantes de carácter con barra invertida.


El incluir entre comillas simples las constantes de carácter es suficiente para la mayoría de
los caracteres imprimibles. Pero unos pocos, como el retorno de carro, son imposibles de
introducir por el teclado. Por esta razón, C incluye las constantes especiales de carácter con
barra invertida.
Ejemplo

El siguiente programa manda al dispositivo de salida un salto de línea y una tabulación y


luego imprime esto es una prueba:
# Include <stadio.h>
void main(void)
{
printf (“\n\t Esto es una prueba”);
}

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:

1. Operadores aritméticos: pueden ser 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 ^ ) . Los principales
operadores aritméticos se presentan en la siguiente tabla:

En C el operador % de módulo actúa igual que en otros lenguajes, obteniendo el resto de


una división entera. Por ello, % no puede aplicarse a los tipos de coma flotante. El operador
++ añade 1 a su operando y -- le resta 1, es decir:
x=x+1 /* es equivalente o igual a ++x*/

x=x-1 /* es equivalente o igual a –x*/


Los operadores del incremento y de decremento pueden proceder (prefija) o seguir
(postfija) al operando.

Por ejemplo: ++x o x++

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

y=++x; /* pone y a 11*/

x=10;

y= x++; /* y toma el valor de 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).

• El identificador de una variable se compone solamente de letras, dígitos y guiones


bajos. Debe comenzar con un letra.

• Las variables pueden ser de 3 tipos: "numero"(valores enteros o decimales) ,


“lógicos” (llamados también booleanos) y "string" (cadena de texto).

• Su valor se puede obtener a través de una sentencia de entrada o también, al


calcular una ecuación en una sentencia de asignación
Raptor

Es una herramienta OpenSource diseñada específicamente para desarrollar la lógica de


los estudiantes que se introducen en el área de programación de computadoras. Creada por
Martin C. Carlisle, Terry Wilson, Jeff Humphries y Jason Moore. El software se encuentra
alojado y mantenido por el profesor Martin Carlisle de la Academia Aérea de los Estados
Unidos. Presenta un entorno de desarrollo de la programación visual basado en diagramas
de flujo .Su objetivo es enseñar como diseñar y ejecutar algoritmo

Entorno de RAPTOR

Los diagramas de flujo se crean y ejecutan en entorno gráfico. Luego, el estudiante


puede rastrear gráficamente la ejecución de cada paso de su solución, para determinar si la
lógica implementada es la adecuada. Además, se puede traducir los flujogramas redactados
a código fuente de varios lenguajes de programación, entre ellos C++ o C#.

Entorno de RAPTOR

La aplicación RAPTOR al abrir presenta 2 ventanas: la ventana principal (Raptor),


para el diseño de los diagramas de flujo y la ventana (MasterConsole), para la
presentación de resultados de la ejecución de los diagramas.
Conjunto de símbolos disponibles para elaborar diagramas de flujo

Símbolos (sentencias) para crear un flujograma


Los símbolos a utilizar para elaborar los flujogramas en RAPTOR se muestran y
describen a continuación
DESCARGAR RAPTOR

Escribe en el buscador de google: descargar raptor

Es portátil…NO OCUPA MUCHA MEMORIA


Ya descargado se descomprime

Los archivos bajo RAPTOR tendrán la extensión (.rap)


Al cargar la aplicación RAPTOR, se define previamente un flujograma por defecto, que
consta de solamente 2 pasos: Start (inicio) y End (fin), conectados por una flecha. Los
nuevos pasos del diagrama de flujo a diseñar, se agregan sobre esta flecha, expresadas en
forma gráfica con Símbolos.
Desarrollo de un flujograma en RAPTOR
Para agregar un símbolo/comando al diagrama de flujo debe hacer lo siguiente:
1. Elija un símbolo (haga clic sobre el símbolo) de la lista de comandos ( Cuadrante A)
mostrados en la figura .

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 debe guardar el proyecto,


damos clic en aceptar
Inmediatamente el símbolo seleccionado cambia de color, y se procede a crear una carpeta
donde guardaremos los programas desarrollados en raptor

Al darle nombre al programa y guarda debe aparecer insertado el símbolo seleccionado

Se repite el
mismo
procedimiento
3. Descripción de los símbolos utilizados en el flujograma

Sentencia (Símbolo) de Asignación)

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).

Nota recordatoria: Al asignar el resultado de una expresión, previamente las


variables que componen la ecuación (en este caso A y B) deben declararse con un
valor entero asignado. De lo contrario, por cada variable sin valor previo utilizada en
la expresión, se generara el error “Variable no encontrada”.

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”

En el siguiente cuadrante: María


Inmediatamente se hace clic en done y se genera el mensaje dentro del símbolo
Sentencia de Salida
Se mostrara un valor o mensaje en la ventana MasterConsole de RAPTOR. Este puede
ser:
a) El valor actual de una variable
b) Un mensaje de texto dirigido al usuario que ejecuta el diagrama de flujo
c) Un mensaje de texto compuesto que integra en su interior a valores almacenados en
variables.

Ejemplo

De acuerdo a la condición genera el


mensaje en la consola
Se puede observar que al cargar el mensaje con la cadena de caracteres, esta va entre
comillas, seguida de signo + (otro mensaje en este caso el nombre de la variable)+
otro mensaje entre comillas y la variable de cierre
Operadores y Funciones en Raptor

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.

Ejemplos de cómo se utilizan algunos de los operadores:

OPERADOR VALOR FINAL DESCRIPCION


8+10 18 Suma los números 8 y 10
3.87 *8 30.96 Multiplica el número “real” 3.87 con el numero “entero”
8
6/3 2 Devuelve la división de los enteros 6 entre 3
8 mod 2 Hace la división “entera” entre 8 y 2 , que da 4, pero
O 0 devuelve el residuo de ese calculo
8 rem 2
4^3
O 48 Eleve número 4 a la potencia 3
4**3
“Gabriela”+”Victoria” “GabrielaVictoria” Une en una sola cadena a las dos cadenas originales por
medio del operador + ( usado para concatenar cadenas)

Valores Constantes en Raptor


RAPTOR cuenta con un conjunto

Constante Valor de identificadores predefinidos

Pi 3,1415926 cuyos valores se mantienen


siempre fijos, que solo podrán ser
E(Numero de Euler) 2,7182817
utilizados, nunca modificados.
True(Verdadero) (Yes, Si) 1
Las constantes disponibles son
False ( falso) No 0
las siguientes:

Funciones matemática en Raptor


Una función se utiliza dentro de una expresión, para que realice un tipo de cálculo
específico y devuelva un resultado necesario para el cálculo del resto de la expresión. En
RAPTOR, las funciones se identifican por el uso obligatorio de los paréntesis. Algunas de
las funciones del área de matemática son las siguientes:

Modificación de la secuencia de pasos del flujograma


Raptor permite alterar la secuencia de pasos existente en un flujograma. Para ello, de clic
secundario sobre el paso que modificara, luego, puede elegir cortar (Cut), copiar (Copy) y
borrar (Delete).
Para mover un paso existente a otra posición en su flujograma, de clic secundario, se elige
la opción Cut y luego, se ubica el ratón sobre la línea de la posición hacia donde moverá el
paso, de clic secundario y elija Paste (pegar).

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

Como su nombre lo indica, es una


condición para discernir entre una opción
u otra, y en el proceso mental
normalmente se manifiesta con un “Si”;
por ejemplo:
Si f>10, muestra la suma
<10, Muestra la resta
Bucle o ciclo (loop)
Es una secuencia que ejecuta
repetidas veces un trozo de
código, hasta que la condición
asignada a dicho bucle deja de
cumplirse. Los tres bucles más
utilizados en programación son
el bucle while, el bucle for y
el bucle do-while.

Estructura básica de un ciclo

Bucle: Conjunto de instrucciones que se repiten

Interacción: cada una de las veces que ejecuta o repite el bucle

ELEMENTOS
Contador: es una variable cuyo valor se incrementa o
decrementa en una cantidad fija de acuerdo a las condiciones
iniciales

Acumulador: es quien se encarga de almacenar en una


variable el resultado de una o varias operaciones matemáticas
que se encuentran dentro de una sentencia repetitiva
Desde o para (for):
Esta estructura ejecuta las
acciones del cuerpo del bucle
un número específico de veces

Mientras (while):
INSTRUCCIONES REPETITIVAS Esta estructura ejecuta un
bloque de acciones « mientras»
que una condición dada se
cumpla

Repetir hasta ( do while)


Esta estructura cumple la
misma función que la
estructura mientras

Pruebas y depuración de su flujograma

Una vez ha traducido su algoritmo a un flujograma en RAPTOR, este le permite ejecutarlo


para así probar su efectividad en la resolución del problema; además analiza si tiene errores
al ingresar los datos para los pasos del mismo. Para ejecutar su flujograma lo puede hacer
de dos maneras:
1. Desde la opción del Menú Run
2. En la barra de botones, cuenta con un grupo dedicado al control de ejecución de
pasos del flujograma:
Cuando RAPTOR ejecuta el flujograma, éste comienza a evaluar secuencialmente cada
paso, comenzando por Inicio hasta llegar al paso Fin, mostrando en ventana MasterConsole
a los resultados de salidas y al finalizar la ejecución, el mensaje ----Run complete
La ejecución mostrará ventanas extras cuando haya pasos de Lectura de datos.

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.

c. Ahora desarrollamos el paso 2 del punto a; declaramos la variable Unidades,


selección el símbolo Assignment y lo colocamos entre Start y End. Inmediatamente
aparece el cuadro de dialogo Save your work( salvar tu trabajo)
Hacemos doble
clic en el cuadro

El campo llamado Set (colocar)….a esta


variable llamaremos Unidades y como es
entera, se le asignara el símbolo 0

Luego hacemos clic en Done

d.
Se realiza similar
procedimiento para la
siguiente variable
denominada preciounitario
(recordar no pueden haber
espacios en blanco o se
escribe precio_unitario)

e. Desarrollamos el paso 3: declaramos la variable valorcompra

Paso 4: Imprimir "Algoritmo para determinar valor por compra de juguetes"


Para continuar, como es un mensaje a mostrar se selecciona el símbolo Output y se escribe
entre comillas, recordar que es una cadena de caracteres.

1 Paso 5: Imprimir "Cuantas juguetes va a comprar?”…Como es una información


solicitada (es entrada). Se selecciona el símbolo Input y en el primer campo (Enter Prompt
Here), digite el texto a imprimir
Y en el 2do campo (Enter Variable Here), escriba el nombre de la variable unidades.
Los juguetes se denominaron Unidades

La palabra get asigna una


propiedad o un indicador que
devuelve el valor de la propiedad o
el elemento del indicador

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

Realizamos el diagrama de flujo


Se declara la segunda variable “Valor2” y la tercera variable “Resultado”
Uso de la Instrucción CONDICIONAL

Se emplea cuando es necesario representar una decisión, en base a la cual se realizan


acciones excluyentes entre si

Esta es la instrucción verdadera (v)

SI <expresión condicional (lógica booleana) > ENTONCES

SINO

Esta es la instrucción falsa (f)

FIN

Las acciones se representan como instrucciones V (cuando es verdadera, instrucción F


(cuando es falsa), después que las acciones se realizan, el algoritmo continua su secuencia,
pues la condición ha terminado (FIN)

Ejemplo:

Se consideran que Ay B son números diferentes


Si (A>B) Entonces

Escribir «El Mayor es A»

SINO

Escribir «El mayor es B»

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 vamos con el condicional


SI el sueldo base no es mayor que 160 horas, se considera el sueldo base (se seleccionara el
símbolo Assignment (cuadro de procesos). Allí escribiremos en el cuadro de procesos (to)
horas*Sueldobasico y se guardara en una variable (Set) que llamaremos Sueldofinal

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

Considerando que no se quieren radios negativos, utilizamos el símbolo Selection y


decimos si r<0 no procede
Corremos el programa

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

Creada la variable hora


variable minutos variable 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

El reloj al llegar a 24 horas.., no seguirá por lo cual realizaremos la siguiente


operación
Seleccionamos todos los loops, y los copiamos y luego eliminamos
Eliminamos lo que esta en rojo con el comando del teclado (Supr)

ahora seleccionamos un loop` y colocamos antes de end y luego pegamos ( lo que


copiamos en el terminal no de la toma de decisión del primer loop
Aquí se inicializara el reloj en 0, por lo tanto se preguntar si es distinto de 0
En programación se hace uso de los 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 ( != ).
para escribirlo dentro del cuadro presionamos alt +33 ( código ASCII)

Declaramos el contador de horas nuevamente a cero

También podría gustarte