Manual de Logica de Programacion

March 23, 2019 | Author: nestor1294 | Category: Array Data Structure, Data Type, Algorithms, Programming Language, Variable (Computer Science)
Share Embed Donate


Short Description

Download Manual de Logica de Programacion...

Description

MANUAL DE LOGICA PARA

PROGRAMACION DE

COMPUTADORES

POR

JORGE IVAN ARIAS TOBON DOCENTE ALGORITMOS

Febrero 14 de 1994

Lógica :

Jorge Iván Arias Tobón

Introducción Los últimos años los he dedicado no solo a la enseñanza de la Lógica de Programación sino al análisis de la enseñanza de la misma debido precisamente a que me he encontrado con que muchas personas confunden la Programación con la Lógica de Programación, la primera involucra el conocimiento de técnicas e instrucciones de un determinado lenguaje a través de los cuales se nos hace sencillo lograr que el computador obtenga unos resultados mucho mas rápido que nosotros. La segunda involucra, de una manera técnica y organizada, los conceptos que nos permiten diseñar en términos generales la solución a problemas que pueden llegar a ser implementados a través de un computador. El estudio de la Lógica de Programación no exige ningún conocimiento previo de computadores ni de tecnología en general, tampoco exige la presencia de algún lenguaje de programación específico. Puedo garantizarle que si usted lee este manual hoja por hoja y desarrolla los ejercicios aquí planteados, al llegar al final del mismo podrá (y se lo garantizo) entender que programar no es más que buscar soluciones muy lógicas utilizando unos conceptos muy sencillos. Espero pues que este manual cumpla el objetivo planteado pues pensando en usted fue como se concibió. No se vaya a afanar por leerlo de una sola vez, tómese su tiempo para razonar y asimilar los conceptos que aquí se plantean. El Autor

1

Lógica :

Jorge Iván Arias Tobón

ALGORITMOS Qué es un Algoritmo...? Es un conjunto de pasos secuenciales y ordenados que permiten lograr un objetivo. Que sean pasos secuenciales significa que deben ser ejecutados uno después de otro y que sean pasos ordenados quiere decir que deben llevar un orden quasi-obligatorio (u obligatorio en la mayoría de los casos). Como puede notar el algoritmo permite lograr lograr un objetivo. O sea que éste es el camino que necesitamos para lograrlo. Operadores Los operadores son signos que nos permiten expresar relaciones entre variables y/o constantes, relaciones de las cuales normalmente se desprende un resultado. Ya hemos manejado dos operadores que son el de la suma (+) y el de la resta (-) pero no son los únicos. En un algoritmo computacional también se pueden utilizar los siguientes operadores ^ Para expresar la potenciación * Para expresar la multiplicación  / Para expresar la división Debo anotar que la notación para potenciación que vamos a utilizar en este manual no es standard para todos los lenguajes de programación y en algunos casos el mismo signo tiene otro significado. Por tal motivo sugiero que cuando vaya a utilizar utilizar este operador en un programa determinado donde necesite realizar realizar operaciones de potenciación consulte primero el manual del Lenguaje en el cual esté trabajando. Variable Informalmente algo variable es algo que puede cambiar de un momento a otro. Técnicamente una variable es un campo de memoria al que se le puede cambiar su contenido cuantas veces sea necesario. Primera aclaración, un campo de memoria es un pedacito de la memoria principal principal del computador en donde podemos guardar un dato. Segunda aclaración, a pesar de que en la memoria es donde se guarda la información exactamente ésta se almacena en variables. Esto le ha de representar a usted que es a través de variables como se puede utilizar la memoria del computador. Para poder utilizar variables en el desarrollo de un programa de computador se debe primero decir qué tipo de datos va a almacenar pues las variables son campos de diferentes tamaños y por tal motivo se deben declarar previamente para que el computador las dimensione de acuerdo a las necesidades. Cuáles son los tipos de datos que pueden ser almacenados en una variable. A pesar del avance de la tecnología, los tipos de datos de las variables pueden ser : Un dato de tipo entero que es un número que no tiene punto decimal, por lo tanto en sus operaciones jamás va a generar decimales. Por ejemplo 25, -96 y 0. El

2

Lógica :

Jorge Iván Arias Tobón

hecho de que los datos de tipo entero no generen decimales significa que operan con un juego de reglas llamado Aritmética Entera. Una variable que se declare de tipo entero podrá almacenar solamente datos datos de tipo entero. Tipo Real: Un dato de tipo real es un número que tiene punto decimal, por lo tanto en sus operaciones puede generar decimales. Por ejemplo 12.3, -78.56 o 45.0. El hecho de que los datos de tipo real generen decimales significa que operan con un juego de reglas llamado Aritmética Aritmética Real. Una Una variable variable que se declare de tipo tipo real podrá almacenar solamente datos reales. Tipo Carácter Dado que los caracteres son símbolos, las operaciones directas que se pueden realizar con sus campos son: asignación , operaciones lógicas relacionales y ordenes de entrada y salida de información „A‟

„%‟

„B‟

„@‟

Es de hacer notar al alumno, que un dígito que representa a un carácter, no es lo mismo que el valor que representa el mismo dígito. En este sentido, por ejemplo, el carácter „4‟ es diferente al número 4. EL TIPO CADENA DE CARACTERES ( STRING) El tipo carácter permite la manipulación de dígitos por separado, en cambio el tipo de datos de cadena de caracteres, permite la manipulación conjunta de una secuencia de dígitos. dígitos. Un ejemplo de cadena de caracteres caracteres es : “ María Alejandra Arias Bedoya ” “ Cra 93A No 77-65”

Nota : Las cadenas de caracteres se encierran entre dobles comillas

3

Lógica :

Jorge Iván Arias Tobón

Cómo se asignan los datos a las variables. .?, o sea, Cómo se “cargan” las variables..? Pues a través de un signo muy conocido por usted y es el signo  o el signo igual también. Este signo denota que lo que está a la derecha lo va a almacenar en la variable que se encuentre a la izquierda . De manera que ya usted puede ver claramente en esta definición que a la izquierda del igual solo puede haber una variable y al lado derecho del mismo puede haber una constante, una variable ó una expresión. De manera que cualquiera de los siguientes esquemas son válidos a  8 Le indica al computador que guarde la constante 8 en la variable a b = a Le indica al computador que guarde en la variable b el contenido de la variable a c = a + b Le indica al computador que guarde en la variable c el resultado de sumar el contenido de la variable a con el contenido de la variable b. Como la variable a tenía el contenido 8 y la variable b también tenía el contenido 8 entonces el computador sumara 8+8 y ese 16 de resultado lo almacenará en la variable c Puede notarse en este ejemplo que en la variable a se ha almacenado una constante, en la variable b se ha almacenado el contenido de otra variable y en la variable c se ha almacenado el resultado de una expresión. Y qué pasará si luego de tener estas tres instrucciones adicionamos la siguiente: b = 9 Pues, muy sencillo, el anterior contenido de la variable b que era 8 va a ser reemplazado por el nuevo contenido de la variable b que es 9. Ello significa que cada que se asigna un nuevo valor (proveniente de una constante, una variable o como resultado de una expresión) el valor anterior de la misma variable se reemplaza. Así si se quisieran escribir los contenidos de las variables a, b y c el computador nos reportaría para a el contenido 8, para b el contenido 9 y para c el contenido 16. Todo lo que debe tener en cuenta con la asignación de las variables es lo siguiente: a. Al lado izquierdo del igual solo puede haber una variable b. Al lado derecho del igual puede haber una constante, una variable o una expresión c. El computador siempre resuelve lo de la derecha de la flecha o del signo igual y su resultado lo almacena en la variable que esté a la izquierda . Ejercicios de Aplicación 1. a = 19 b = 37 c = 12 a = a + 65

4

Lógica :

Jorge Iván Arias Tobón

b = b + 4 – a c=a+b+c a=a+c b=4 c=c+3-b+2 Qué valores quedan almacenados en las variables a, b y c ? 2. a=5 b = 18 c = 15 d = 25 a = a + 10 b = b + 5 – c c=c+4+b d=d+b+a a=a+1 b=b+c c=b+c d=b+b Qué valores quedan almacenados en las variables a, b, c y d ? 3. a=9 b=6 a=a+4 b=b+2 a = a + 10 b = b – 25 a = a – 20 b=b+5 a=a+4 b=b+2 a = a + 10 b = b – 10 Qué valores quedan almacenados en las variables a y b ? 4. a = 18 b = 18 c = 18

5

Lógica :

Jorge Iván Arias Tobón

d = 18 a=a+b b=a-b c=a+b d=a-b a=a-b b=a+b c=a-b d=a+b Qué valores quedan almacenados en las variables a, b, c y d ? 5. a = 10 b=5 a=a-5 b=b+6 a = a + 18 b = b – 23 a = a – 21 b=b-5 a=a-4 b=b-2 a = a + 10 b = b + 10 Qué valores quedan almacenados en las variables a y b ? 6. a=8 b=7 c=5 d=8 a = a + b – c + d b = a + b – c + d c = a + b – c + d d = a + b – c + d a = a + b – c + d b = a + b – c + d c = a + b – c + d d = a + b – c + d Qué valores quedan almacenados en las variables a, b c y d ?

6

Lógica :

Jorge Iván Arias Tobón

Para evitar confundir el tipo de datos carácter con otro tipo de dato, o algún otro elemento, se acostumbra encerrar los caracteres con comillas simples ( “ ” ) así se permite diferenciar el número 4 del carácter „4‟ ( el primero es un número y el segundo es un carácter ). El tipo de dato carácter sirve para definir un tipo de dato mucho más poderoso y flexible. Cuáles son las características fundamentales de una variable? Básicamente las variables tienen dos características : La primera es que deben tener un nombre que las identifique y que facilite su uso y la segunda es que deben tener un tipo que es el que caracteriza el dato que pueden almacenar. Variable A : entero; “ C” :

carácter ;

TIPO DE VARIABLES Al igual que los datos tienen asociado un tipo. El tipo de una variable está directamente relacionado con el tipo de datos que almacena, así existen variables de tipo entero, que sólo pueden almacenar números de tipo entero, variables de tipo real que almacenan números reales ; variables de tipo carácter que almacenan caracteres ; variables de tipo cadena o de caracteres, que almacenan secuencias de caracteres ; variables de tipo lógico o booleano, que sólo almacenan un dato falso o verdadero. Como ejemplo de este tipo de datos, podemos citar: “Perdió o gano la prueba” “Es hombre o es mujer ”

ASIGNACIÓN

7

Lógica :

Jorge Iván Arias Tobón

Operación que permite especificar el valor que va a contener una variable y se denota con el símbolo



o también con el signo = Así por ejemplo:

Base



7

Base = 7 Almacena el número siete en la variable Base. El proceso mediante el cual se almacena información en una variable, recibe el nombre de asignación. Y ésta puede hacerse de dos maneras: Dentro del diagrama ( asignación interna ) o desde afuera del diagrama ( asignación externa ), por medio del teclado. ASIGNACIÓN INTERNA Es aquella en la cual se asigna un valor a una variable dentro del mismo diagrama o algoritmo, es decir, se declaran e inicializan las variables a partir del inicio . Se simboliza por medio de una flecha con sentido de derecha a izquierda o mediante el signo igual, lo que se interpreta como que lo que hay a la derecha se va almacenar o a guardar temporalmente en la variable definida a la izquierda. ASIGNACIÓN EXTERNA Es aquella que se realiza cuando la información se asigna a la variable desde afuera del diagrama por medio de el teclado, Para hacer esta asignación se requiere de una instrucción de lectura o de lea o leer. Un ejemplo de asignación externa es: Muestre “ digite el nombre y cédula del usuario ” Lea nombre, cédula

8

Lógica :

Jorge Iván Arias Tobón

EXPRESIONES : Los lenguajes de programación disponen de ellas para permitir la combinación de varios valores, para obtener un resultado. Una expresión no es más que una fórmula la cual se utiliza para efectuar un cálculo. Una expresión se compone de valores y símbolos llamados operadores. Ejemplo en la siguiente expresión 8 + 9, el operador es el signo + que indica que los números 8 y 9 deben ser sumados. OPERADOR +

EXPLICACIÓN Suma

-

Resta

*

Multiplicación

/

División

DIV MOD

Devuelve el cociente Devuelve el residuo

PRIORIDAD Para evitar ambigüedades se han establecido las siguientes prioridades para la ejecución de los problemas. OPERADOR

+ -

PRIORIDAD

3 3

9

Lógica :

Jorge Iván Arias Tobón

*

1

/

1

DIV

2

MOD

2

Si en una expresión hay varios operadores con una misma prioridad, éstos se procesan de izquierda a derecha así: 2+9*8 Se ejecuta la multiplicación primero y por último la suma. NOTA: Si deseamos variar el orden en la ejecución de la expresión, podemos valernos de los paréntesis para hacerlo así: (2+9)*8 Se ejecuta primero la suma y por último la multiplicación, haciendo notar aquí que el paréntesis tiene mayor prioridad sobre cualquier operador.

OPERADORES DE RELACIÓN OPERADOR

NOTACIÓN

Mayor que

>

Menor que

<

Mayor o igual que

>=

10

Lógica :

Jorge Iván Arias Tobón

Menor o igual que

800.000 ) Entonces.

16

Lógica :

Jorge Iván Arias Tobón

Muestre “

Felicitaciones ”

Comisión =( ventas * 0.20.) Muestre “

la comisión es :”, comisión

Fin Si Fin_inicio Condición en dos direcciones Existen situaciones en que la condición bien sea cierta o falsa, nos lleva al cumplimiento de un grupo distinto de tareas o sea la condición en dos direcciones. Estructura Si ( condición ) Entonces Grupo de tareas1 Si no Grupo de tareas2 Fin si Ejercicio Diseñe un algoritmo que lea dos números los compare y los imprima si son iguales o no.

17

Lógica :

Jorge Iván Arias Tobón

Inicio Muestre “

digite los dos números que se van a comparar ”

Lea Nro1,Nro2 Si ( Nro1=Nro2 ) Entonces Imprima “ Si son iguales los números comparados”

Si no Imprima “

No son iguales los dos números comparados”

Fin si Fin Condiciones anidadas Se trata de aquellas que hacen parte de otras supongamos que el programa pregunta al alumno quien fue el autor de la obra “ cien años de soledad” y que la respuesta no sea acertada, entonces el programa le dará un mensaje de error y termina pero si la respuesta es acertada, es decir, “ García Márquez”, entonces se le hará una nueva pregunta ( 2da condición ) Si responde Colombiano, se le da un mensaje de felicitación y termina el programa . Si se equivoca ( condición falsa) se le da un mensaje que diga “ No acertó, repase su lección” y termina el programa. Inicio Muestre “

Dígite el nombre del autor y la nacionalidad ”

Lea Autor, nacionalidad

18

Lógica :

Jorge Iván Arias Tobón

Si ( Autor = “García Marquez” ) Entonces Si ( Nacionalidad = “Colombiano”) Entonces Muestre “ Felicitaciones ha acertado” Si no Muestre “

No acertó repase su lección”

Fin si Fin si Fin

La Estructura Caso o Selección Múltiple Esta estructura permite seleccionar una, dentro de un conjunto de alternativas con base en el valor almacenado en un campo variable denominado selector o campo controlador de la estructura. Es una estructura selectiva múltiple, donde de acuerdo con el valor que tenga el controlador, se realiza una determinada tarea una sola vez, es decir, no repite la ejecución de la misma o secuencia. De acuerdo con el valor que tenga el controlador, el control de ejecución del programa pasa a uno de varios puntos del mismo, evitando así una serie de preguntas. REPRESENTACIÓN CASOS DE CASO 1: CASO 2:

19

Lógica :

Jorge Iván Arias Tobón

CASO N: FIN_CASOS

Algoritmos de aplicación Ejemplo: Leer desde el teclado el nombre de algún personaje histórico. Si es Bolívar escríbase Libertador. Si es madre Teresa el mensaje será “Servicio a los mas pobres”. Si fuese Gandhi, el programa escribirá “Libertad a la india”, pero si es cualquier otro personaje, el programa escribirá el mensaje “No identificado”. Veamos cómo lo realizamos: inicio Muestre “digite escriba el nombre del personaje” Lea Per Si (Per = „Bolívar‟ ) Entonces Muestre „Libertador‟ Si ( Per = „Madre teresa‟ ) Entonces Muestre „Servicio a los mas pobres „ Si (Per = „Gandhi‟) Entonces Muestre „Libertad a la india „

20

Lógica :

Jorge Iván Arias Tobón

Si no Muestre „no identificado‟ Fin si Fin si Fin si Fin_inicio Diseñe un programa que pregunte por el volumen de ventas medido en pesos de un vendedor de la firma SIGA LTDA. De acuerdo con su respuesta, se le asignará la bonificación. Observe la tabla adjunta. Volumen de ventas

Bonificación

Menos de 200000

10000

Entre 10000 y 150000

9500

Entre 70000 y 100000

7500

Más de 200000

15000

Diseñe un algoritmo que permita leer el valor por hora laborada, número de horas laboradas, para un empleado ; calcular el salario bruto por mes. Calcular el salario neto mensual restando el 7% al salario bruto por seguro social y agregamos un subsidio de 15000 pesos si el salario neto es menor del mínimo vigente , imprimir el mensaje “ gana menos del mínimo”, s i

no

es así muestre el salario neto. Contador

21

Lógica :

Jorge Iván Arias Tobón

Se define una variable contador como aquella que se actualiza en ella misma más un valor constante que usualmente es 1. Acumulador Una variable acumuladora se utiliza dentro de procesos cíclicos para efectuar sumas acumuladas (suma de edades, suma de salarios, suma de notas...) , se actualiza en ella misma más el contenido de una variable X debe de estar inicializada generalmente en cero antes y por fuera del ciclo. Los acumuladores y contadores se usan para cálculos de promedios y porcentajes, debe tenerse en cuenta que el acumulador y el contador van dentro del ciclo y el cálculo del promedio o del porcentaje van por fuera del mismo, en general podemos decir que: Promedio = Acumulador / Contador Porcentaje = Contador * 100 / ( Nro total de iteraciones o el valor de otro contador ). Por ejemplo: Si de 468 estudiantes sabemos cuantos estudian sistemas, el porcentaje de estudiantes de sistemas sería: Porc = Número de estudiantes de sistemas * 100 / 468 en este caso 468 es el número total de iteraciones, pero si además sabemos cuantas hombres estudian sistemas y cuantos de los 468 alumnos estudian sistemas, el porcentaje de hombres que estudian sistemas sería: Porc1 = Número de hombres que estudian sistemas * 100 / Número total de estudiantes de sistemas. Donde Porc1 = porcentaje de hombres que estudian sistemas

22

Lógica :

Jorge Iván Arias Tobón

Ciclo mientras que Son estructuras repetitivas que se utilizan cuando no se conoce el número de iteraciones a ejecutar por ejemplo cundo se hace una encuesta. estos ciclos tienen las siguientes características : 

El encabezamiento está formado por la frase mientras que seguida de un proposición lógica simple o compuesta encerrada entre paréntesis.



El ciclo se ejecuta, si y sólo si, la proposición lógica es verdadera, cuando se vuelva falsa, se sale automáticamente del ciclo.



El control de las iteraciones lo tiene el usuario, es decir, el usuario determina cuando quieren interrumpir la ejecución del ciclo puesto que bastará dar un valor tal que la expresión lógica se vuelva falsa.



La proposición lógica se puede formar de dos maneras :



Usando una variable adicional a las variables del diagrama la cual puede ser un switche o una variable llamada control.



Usando una de las variables que contienen la información a procesar ( nombre, edad, sexo, estado civil, y demás ). En este caso se dice que el ciclo esta controlado por un campo centinela.

En ambos casos ( usando un control, un switche o un centinela) se debe hacer lo siguiente : 

Leer antes del encabezamiento del ciclo el campo control, el switche o el campo centinela teniendo en cuenta que el valor asignado sea tal que vuelva verdadera la proposición lógica si se quiere entrar al ciclo.

23

Lógica :

Jorge Iván Arias Tobón

FORMATO O SINTAXIS 1

Mq ( Condición ) Haga Tareas -1 FIN Mq

2

CONTADOR

1

Mq ( Contador < = 30 ) Haga Tareas - 1 CONTADOR = CONTADOR + 1 FIN Mq

En el esquema anterior, el ciclo repetirá el conjunto de instrucciones se repetirá 30 veces ( 30 iteraciones ) . Es el programador en este caso quien conoce el número de iteraciones. J

1

Muestre ( “ DIGITE EL NUMERO DE ESTUDIANTES “ )

Lea ( Numero) Mq ( J < = Numero ) Haga J

J+1

24

Lógica :

Jorge Iván Arias Tobón

FIN Mq En este caso es el usuario quien determina el número de iteraciones. Ejercicios de aplicación Realizar un programa que permita leer 10 números e imprima sólo los números pares digitados por el usuario. Realizar un algoritmo que permita al usuario leer 50 números y que muestre por pantalla cuántos son múltiplos de 3. Desarrolle un algoritmo que genere y muestre la suma de los números enteros del 1 al 70 y además que muestre el promedio de dichos números. Desarrolle un programa que permita al usuario leer 100 números y que muestre por pantalla cual fue el mayor número que el usuario digitó.

Desarrolle un algoritmo que permita al usuario leer una cantidad indeterminada de números y el programa debe mostrar cuantos números digitados por el usuario son mayores a su promedio. Realizar un algoritmo que permita leer la edad y el sexo de una cantidad indeterminada de personas. El programa debe imprimir cuantas personas son mayores de 18 años y cuantas son menorer de edad ; además cuantas son mujeres y cuantos son hombres. Desarrolle un programa que genere y sume comprendidos entre 10000 y 20000.

los números pares

Ciclo para

25

Lógica :

Jorge Iván Arias Tobón

La instrucción para se utiliza con el propósito de repetir una instrucción o un grupo de éstas, un número determinado de veces. Este tipo de ciclo se usa sólo cuando se conoce el número de iteraciones. Se construye diseñando el proceso para una sola iteración y generalizándolo luego usando una variable de iteración con las siguientes características. 

Debe estar inicializada antes y por fuera del ciclo generalmente en 1. Esto también se conoce como el límite inferior del ciclo.



Debe estar incrementada o decrementada en 1.



El contenido de la variable de iteración debe estar controlada, esto es comparada en cada iteración; con un valor constante o con el contenido de un campo variable, el cual indica el número total de iteraciones. Esto también se conoce como el límite superior del ciclo.



Dentro de los procesos iterativos ocurre que se requiere efectuar procesos de sumas y conteos con el fin de efectuar cálculos posteriores de porcentajes y /o promedios. Las sumas y conteos se pueden llevar acabo con unas variables llamadas acumuladores y contadores. Ejercicios de aplicación



Elaborar un algoritmo que lea 50 números, calcule y muestre cuantos son positivos y cuantos negativos.



Elabore un diagrama que lea la edad de 120 personas, calcule e imprima: el promedio de edad de las personas mayores de edad, el porcentaje de personas mayores de edad, el promedio de edad de las personas menores de edad y el porcentaje de personas menores de edad.

26

Lógica :



Jorge Iván Arias Tobón

Elaborar un algoritmo que lea el salario neto para 50 trabajadores y calcule e imprima: El promedio de salarios y el porcentaje de aquellos trabajadores que ganen más del salario mínimo vigente, el promedio de salarios y el porcentaje de aquellos trabajadores que ganen menos de salario mínimo vigente. Bandera o switche

Es un campo variable que sólo puede tomar uno de los valores posibles dentro de un diagrama. Los valores que puede tomar una bandera los determina el programador y es él quien decide en que momento se le cambia el valor. Los valores mas usuales para una bandera, aunque se pueden usar cualquier otros dos valores, son :  y 1, 1 y 2, “ SI” y “NO”

Las banderas o switches son de mucha utilidad en la programación y se utilizan en muchos procesos, veamos un ejemplo de utilización: Switche para alternar procesos : En este caso se tienen dos procesos los cuales se deben realizar alternadamente, para esto se inicializará el switch o variable sw en un valor, luego mediante un decisión lógica, se le ordena realizar un grupo de instrucciones; al final de éstas, se le cambia el valor a el switch o variable sw de manera que cuando se vuelva a evaluar la expresión lógica, se ejecutará el otro grupo de intrucciones, y al final de estas se le asigna a la bandera el valor original, de forma que al evaluarse nuevamente la expresión lógica se

27

Lógica :

Jorge Iván Arias Tobón

ejecutará nuevamente el grupo de instrucciones que la primera vez y así sucesivamente. El switche es llamado sw y los valores que se le asignarán son 1 y 0. Sw

1

Si sw = 1 Entonces Tareas_1 Sw

0

Sino Tareas_2 Sw

0

Fin_si NOTA : La estructura anterior siempre debe ir dentro del grupo de instrucciones pertenecientes a un ciclo.

Ejercicios de aplicación : Escribe un algoritmo apropiado para cada ejercicio : 1) Leer desde el teclado el nombre de una persona y escribirlo 20 veces utilizando el Mientras que. 2) Utilizando el ciclo Para , escribir la suma de x cantidad de números que se leerá por teclado.

28

Lógica :

Jorge Iván Arias Tobón

NOTA : Debes preguntar cuantos números se van a leer.

3) Hallar la suma de los números enteros del 1000 al 1050. 4) Utilizar cualquier método de repetición para leer un numero entero positivo y calcular su factorial.

5) Escribir algoritmo que calcule y escriba las tablas de multiplicar desde el 1 hasta el 10. Arreglos se definen como una colección finita, homogénea y ordenada de elementos.  Finita : Porque todo arreglo tiene un límite o sea un número máximo de

elementos que pueden formar el arreglo.  Homogénea : Todos los elementos de un arreglo son del mismo tipo (

Todos enteros, todos Booleanos, pero nunca una combinación de ambos tipos ). Ordenada : Porque se puede determinar cual es el primer elemento, segundo, tercero, etc. Hasta el momento hemos seguido el proceso convencional de procesamiento de datos, que consiste en leer unos datos, procesarlos y luego dar un resultado. No siempre es tan simple dicho proceso. En ocasiones - y con bastante frecuencia, por cierto, se requiere procesar un conjunto grande de datos que deben mantenerse en la memoria de trabajo del computador. En casos como este, es ideal manejar arreglos. Existen arreglos de dos clases : El arreglo en una dimensión , llamado también

29

Lógica :

Jorge Iván Arias Tobón

vector, y el arreglo en dos dimensiones, conocido como matriz. continuación veremos en que consiste el primero.

A

Supongamos que tenemos la lista con las calificaciones finales de sistemas para 15 alumnos del primer semestre de ingeniería de sistemas y queremos trabajar con dicha lista. Supongamos que las notas evaluadas sobre 5 son las siguientes : 5, 4.8, 3,9, 4.4 , 4.3, 3.9 , 3.5, 3.8, 4.5 Puesto que se trata de las notas de sistemas de química denominemos con dicho nombre el arreglo. El arreglo consiste en una tabla formada por celdillas en cada una de las cuales ubicamos una de calificaciones. Para el caso, el arreglo tendrá diez celdas así : Química 1 2 3 4 5 6 7 8 9 10 Es claro que el arreglo Química posee diez posiciones diferentes. Para distinguir cada una de estas posiciones, utilizaremos números subíndices, así : Química ( 1 ) = 56

Química ( 2 ) = 78

Química (10 ) = 45

Ejercicios de Aplicación Realizar un programa que permita leer 80 números y el algoritmo debe calcular y mostrar cuántos negativos y cuántos positivos fueron leídos. Diseñe un algoritmo que permita al usuario dígitar los coeficientes de una ecuación cuadrática a, b, c y el algoritmo debe mostrar por pantalla sus raíces x1 y x2. VECTORES

30

Lógica :

Jorge Iván Arias Tobón

También se conoce como arreglo y éste es una estructura lineal que permite almacenar un conjunto de datos del mismo tipo en memoria RAM. Representación gráfica de un vector Números 2 1

9 12 8 2 3 4

15 11 34 56 23 78 5 6

7

8 9

10

Características de un vector a. Nombre del vector : Todo vector tiene un nombre definido por el programador.

b. Tipo de vector : En la mayoría de lenguajes de programación los Vectores solamente pueden almacenar datos de un mismo tipo, por ejemplo se puede tener un vector de enteros, un Vector de cadenas de caracteres, un Vector de datos lógicos (Booleanos) etc. El tipo del Vector también es definido por programador.

c. Tamaño del vector : Es el número de datos que el Vector puede llegar a almacenar. Este tamaño también es definido por el programador.

d. Indice : Es un dato entero que identifica cada elemento del Vector. En la gráfica anterior el Vector se llama NUMEROS, es de tipo entero y de tamaño 10. Almacenamiento de datos en un vector

31

Lógica :

Jorge Iván Arias Tobón

Al igual que las variables, los valores almacenados en un vector pueden ser dados por asignación interna así: Nombres 1 

“Alejandra”

Edades  5 

20

Cédulas  Y 

“43567432”

Por asignación externa así: Muestre “ Digite el salario del empleado”

Lea Salarios[ 4] En el anterior ejemplo, el usuario está almacenando desde el teclado un salario determinado y luego el programa almacena el contenido en el Vector llamado Salarios posición 4.

Pasos Para Crear un vector: 

Se lee el tamaño del vector que es de N elementos



Se aplica un para desde 1 hasta N valor o tamaño



Se define un nombre para el vector llamado Vect de tamaño N y la variable J sirve para indicar las posiciones del vector.

Nótese que cuando J = 1 se tiene Vect ( 1 ), cuando J = 2 entonces Vect ( 2 ) y así sucesivamente se van asignando datos o información en cada posición del vector.

32

Lógica :

Jorge Iván Arias Tobón

Método de la burbuja para ordenar vectores En toda comparación efectuada, el subíndice del término izquierdo ( I ) inicia en 1 y va hasta el penúltimo elemento (N -1) del tamaño total del vector, mientras que el subíndice del término derecho ( J ) empieza siempre en una posición más que el anterior ( J = I + 1 ) y va hasta el último elemento ( N ). Los ciclos son anidados porque el subíndice del término derecho ( J ) cambia más rápidamente que el subíndice del término izquierdo ( I ). Partiendo del supuesto de que el vector llamado Num ya está lleno, ordenar por el método de la burbuja su contenido. Num 25 1

21 2

3

4

15

3

4

5

Inicio Lea N Para I = 1, N – 1, 1 Para J = I + 1, N, 1 Si ( Num[ I ] > Num[ J ] ) entonces Aux

Num[ J ]

Num[ J ]

Num[ I ]

Num[ I ]

Aux

33

Lógica :

Jorge Iván Arias Tobón

Sino Fin-si Fin-para Fin-para Fin_Inicio

Donde Aux es una variable auxiliar para intercambiar los elementos de un vector. El vector ordenado quedará así: Num 3

4

1

2

21 15 3

4

25 5

El alumno deberá efectuar la prueba de escritorio para el ejercicio anterior.

Procedimiento para insertar un elemento Para insertar un elemento en un vector, es necesario que éste se encuentre comprendido dentro de los elementos del vector. Partiendo del supuesto de

34

Lógica :

Jorge Iván Arias Tobón

que el vector A ya fue lleno con antelación, se desea insertar el elemento 40 para lo cual se procede así: 1. Creamos la variable auxiliar llamada Aux 2. Creamos la variable llamada Element Aux

Element

45

40

45

60

N= 5

A 0 1

15 34 2

3

45 4

5

Inicio Lea N, Element Para I = 1, N, 1 Si ( A[ I ] < Element ) entonces Sino Aux

A[ I ]

A[ I ]

Element

Element

Aux

35

Lógica :

Jorge Iván Arias Tobón

Fin-si Fin-para Fin

Una vez insertado el elemento, el vector A quedaría así:

0

15 1

25 2

3

40 4

45

60 5

6

N=5

EJERCICIOS DE APLICACIÓN 



Elabore un algoritmo que lea un número y obtenga su cuadrado y su cubo. Elabore un algoritmo que lea las variables A y B y pase el valor de A a B y de B a A , sin utilizar más variables.



Un empleado trabaja 48 horas semanales a razón de $8.000 hora: El porcentaje de retención en la fuente es de el 7% del salario bruto. Se desea saber cual es el salario bruto, la retefuente, y el salario neto del empleado.



Dado el radio de un círculo, haga un programa que obtenga su área y la longitud de la circunferencia.



Elabore un diagrama que lea un número positivo y muestre el número y el negativo del mismo.



Dado el valor de un lado del triángulo equilátero, haga un diagrama que obtenga y muestre por pantalla su área, altura, y perímetro.

36

Lógica :

Jorge Iván Arias Tobón



Escriba un algoritmo que dados dos valores A y B, encuentre :



A – B / 2



(A + B) * 7



A *B



(A / B) + 12



Dados los catetos de un triángulo rectángulo, diiseñe un algoritmo que calcule su hipotenusa y la imprima.



Elabore algoritmo que lea :Su nombre, apellidos, número de cédula y los imprima.



El área de un triángulo es 32, la altura 16, desarrolle algoritmo que calcule su base y la muestre por pantalla.



Elabore un algoritmo que calcule el área de un cuadrado que tiene de lado 8 cmts e imprima ésta.



Se tiene la siguiente información de un empleado estatal:



Nombre y apellido.



Número de cédula



Número de horas trabajadas al mes.



Valor hora trabajada.



Retefuente.



Elabore algoritmo que muestre: Nombres, apellido, salario bruto y salario neto.



Se desea conocer cuantos meses han transcurrido entre Enero de 1957 y Enero de 2003.



Al papá de Alejandra Arias le preguntan su edad, y contesta: Tengo 3 hijos, pregúntele a Iván su edad. Astrid tiene 2/3 de la edad de Iván,

37

Lógica :

Jorge Iván Arias Tobón

Alejandra tiene 4 / 3 de la edad de Iván y mi edad es la suma de las tres. Elabore un algoritmo que imprima la edad de los cuatro. 

Elabore un algoritmo que dados dos valores numéricos A y B, escriba un mensaje que diga si A es mayor, menor o igual a B.



Elabore algoritmo que lea tres números enteros y los imprima en orden inverso a su lectura.



Desarrolle un algoritmo que lea cualquier número e imprima tanto el número como su valor absoluto y un mensaje aclarando cual es cual.



Elabore un algoritmo que informe si cierto número es positivo ( es decir, mayor o igual a cero ) o negativo ( caso contrario).



Elabore un algoritmo que lea de un alumno su carné, nombre , número de créditos y valor por crédito . Imprima su carné, nombre y su valor de matrícula, si ésta es mayor o igual a $1.500.000; de lo contrario imprima solamente el carné, su nombre y un mensaje que diga “ Alumno matriculado en menos de seis materias “.



Elabore un algoritmo que lea el nombre y la edad de un grupo de X personas e imprima el promedio de las edades de las personas mayores de edad.



Elabore un algoritmo que lea un número y lo imprima sólo si es positivo.



Elabore un programa que lea N números y establezca el número mayor y el promedio.



Elabore un programa que lea N números y establezca el número menor.



Elabore un algoritmo para determinar si en la variable a, existe un número múltiplo de 5. En caso afirmativo asigne a b el número 1, de lo contrario asigne a b el número 0.



Suponga que en la variable a existe un número entre 0 y 9, elabore un algoritmo que almacene en la variable c el carácter numérico que corresponde al dígito almacenado en a. Por ejemplo si en la variable a existe el número 8, en la variable c debe almacenarse el carácter “ 8 “.



Elaborar algoritmo que permita crear la factura correspondiente a una compra de un artículo determinado del que se adquieren una o varias

38

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF