LENGUAJES DE PROGRAMACION
CURSO
CUARTO AÑO
PERIODO DE ELABORACION
PROFESORA
NELI CABULLAN
Laboratorio de Programación – 4° Año
Profesora: Neli Cabullan
CONCEPTOS BÁSICOS DE
ALGORÍTMIA
Definición de Algoritmo
Un algoritmo es una secuencia precisa de operaciones (pasos) que resuelven un
problema en un tiempo finito.
Los algoritmos son independientes del lenguaje de programación y del ordenador que
los ejecuta. Se pueden expresar en multitud de lenguajes y ejecutarse en ordenadores
distintos.
¿Qué es un programa?
Un programa es la expresión (transcripción) de un algoritmo en un lenguaje de
programación, capaz de ser procesado por un ordenador tras su compilación y linkado
y que controla el funcionamiento de un ordenador a la hora de resolver un problema.
1
Laboratorio de Programación – 4° Año
Profesora: Neli Cabullan
• Fase de Pruebas: No basta que el programa esté terminado Hay que comprobar
que el programa NO falla y funciona perfectamente en todos los casos posibles que se
puedan presentar.
TODAS ESTAS FASES HAY QUE REALIZARLAS CON SUMO CUIDADO, PUESTO QUE UN
ERROR EN UNA DE ELLAS, PUEDE LLEVAR LA VUELTA ATRÁS EN TODO EL PROCESO.
Resumen:
2
Laboratorio de Programación – 4° Año
Profesora: Neli Cabullan
(conviene que sea parecido al pseudocódigo).
El pseudocódigo
El pseudocódigo es la representación narrativa (no hay reglas sintácticas estrictas) de
un algoritmo, escrita en lenguaje natural utilizando las estructuras de control típicas
de algún Lenguaje de Programación y algunos símbolos algebraicos.
La utilización de pseudocódigo presenta las ventajas de ser más compacto que un
organigrama, ser más fácil de escribir y ser más fácil de transcribir a un lenguaje de
programación.
Las estructuras de control deciden qué camino hay que seguir en función de una
condición. Son las siguientes:
1. Estructura secuencial: consiste en colocar una instrucción tras otra, de
manera que se van ejecutando de arriba abajo.
3
Laboratorio de Programación – 4° Año
Profesora: Neli Cabullan
Estructura secuencial
Pseudocódigo de un algoritmo que calcule la media de tres números:
4
Laboratorio de Programación – 4° Año
Profesora: Neli Cabullan
Además del operador y también existe el operador o el cual permite ejecutar una acción
determinada si se verifica una de las condiciones.
Es decir, solo trabajan los que tengan 16 o más años y menos de 65.
5
Laboratorio de Programación – 4° Año
Profesora: Neli Cabullan
Ej: algoritmo que lee por teclado unos números (hasta que introduzcamos un número
negativo) y calcula su media.
3) Estructura para
Permite realizar una acción un número determinado de veces. El formato de esta
6
Laboratorio de Programación – 4° Año
Profesora: Neli Cabullan
estructura es el siguiente:
En cada iteración del bucle variable va tomando distintos valores comprendidos entre
inicio y fin. En la primera iteración toma el valor inicio, en la segunda inicio+1, y así
sucesivamente hasta el valor fin.
Ej: Algoritmo que pide 20 números por teclado y calcula su media.
7
Laboratorio de Programación – 4° Año
Profesora: Neli Cabullan
Un error muy común con las estructuras de repetición consiste en poner mal la
condición de finalización u olvidarse de incrementar el contador, dando lugar a bucles
infinitos (bucles que no acaban nunca).
Ej: Calcular la media de una serie de nº positivos dados por teclado. Un valor de 0,
como entrada, indicará el final de la serie de números.
Pseudocódigo
Ej: Calcular la suma de los N primeros números impares, siendo N un nº dado por
teclado.
8
Laboratorio de Programación – 4° Año
Profesora: Neli Cabullan
Procedimientos o subrutina
Es un fragmento de un programa que realiza una tarea concreta y que tiene un
nombre por el que puede ser llamado desde cualquier parte del programa. Se
comunica con el programa que los llama a través de unas variables de comunicación
denominadas argumentos, que permiten el paso de información entre el programa y
el procedimiento. Su uso evita la duplicación de código.
LENGUAJE DE PROGRAMACIÓN
El lenguaje de programación es una herramienta que nos permite transformar un
algoritmo
en un programa. Consta de:
• Un léxico.
• Una gramática.
• Una semántica.
Los circuitos electrónicos de la UC sólo pueden interpretar instrucciones escritas en
lenguaje máquina, por lo que los programas escritos en Lenguajes de alto nivel hay
que traducirlos a lenguaje máquina para que el procesador los pueda procesar. Para
realizar esta tarea existen unos programas llamados traductores que realizan esta
labor (le damos un programa escrito en un lenguaje de alto nivel y genera un
programa equivalente escrito en lenguaje máquina).
Existen dos tipos de traductores: compiladores e intérpretes.
Compiladores: traducen el programa inicial (programa fuente) y generan un programa
(programa objeto).
Intérpretes: van analizando, traduciendo y ejecutando una a una las instrucciones del
programa fuente; no se analiza una instrucción hasta que la anterior se haya
ejecutado. Los intérpretes no generan programa objeto.
Clasificación de los lenguajes de programación
Los lenguajes de programación los podemos clasificar en tres grupos:
10
Laboratorio de Programación – 4° Año
Profesora: Neli Cabullan
Este apunte resume las componentes básicas del lenguaje Pascal. Para
obtener mayor información se recomienda consultar la siguiente bibliografía:
Introducción
Tipos
El lenguaje Pascal es tipado, lo que significa que casi 1 todas sus variables deben
tener un tipo asignado explícitamente.
El tipo de una variable determina el rango de valores que la misma puede
contener y el conjunto de operaciones que se pueden aplicar sobre ella. En Pascal
existen tipos predefinidos (provistos por el lenguaje) y los definidos por el usuario.
Tipos predefinidos
1
Existen algunas excepciones que no se van a tratar aquí.
11
Laboratorio de Programación – 4° Año
Profesora: Neli Cabullan
Tipo lógico
Tipo entero
2
Una variable de tipo entero (integer) ocupa, por lo general, 2 bytes de memoria
y el rango de valores va desde -32768 a 32767. En realidad, existen otros 4 tipos de
datos enteros, con diferentes rangos de valores:
Tipo real
El tipo real (real) está definido como punto flotante, es decir,
fracción*exponente. Turbo Pascal diferencia 3 tipos de flotantes:
Tipo #bytes
simple 4 bytes
doble 8 bytes
extendido 10 bytes
Tipo Carácter
Hay dos tipos de caracteres:
Char: un único carácter
String: un conjunto de caracteres
El tipo string define cadenas de 255 caracteres (si pensamos que un carácter en
la mayoría de las máquinas se almacena en un byte, entonces un string ocupará 255
bytes). También es posible definir strings más pequeños que 255.
Ejemplo:
2
Esto depende también de la máquina / plataforma sobre la cual se está trabajando.
12
Tipo lógico
En Pascal el tipo lógico (boolean) admite únicamente dos valores: true y false.
Cualquier expresión lógica retorna valores de este tipo: verdadero o falso.
Operaciones
Lo que se vio hasta ahora es la estructura que tiene los tipos predefinidos y el
rango permitido de valores para cada uno, ahora se verá cuáles son las operaciones
permitidas sobre cada tipo:
OPERACIONES ARITMÉTICAS: Con los datos numéricos (integer y real) es posible realizar las
operaciones aritméticas: +, -, /, *.
OPERACIONES LÓGICAS: Con los datos lógicos además están los operadores AND, OR, NOT.
Subrangos
A veces se necesitan variables que sólo tomarán cierto rango de valores y no
todo el permitido por el tipo. En estos casos, es posible acotar estos valores
especificando sólo el valor más pequeño y el más grande que dichas variables pueden
tomar:
constanteMenor.. constanteMayor
Ejemplo:
‘A’..’Z’;
1..100;
Ejemplo:
Type Edad = Integer;
Type OtraEdad = 0..110;
Type Cadena = string[30];
Los nombres de los tipos son indentificadores y, por lo tanto siguen las reglas
para nombrar identificadores que se detallan a continuación.
Identificadores
Los identificadores en Pascal comienzan siempre con una letra (a..z,A..Z) o con
el símbolo _. y el resto pueden ser cualquier letra, _ y/o dígitos. Con un identificador
no solo hacemos referencia a un nombre de variable, sino que también a nombre de
tipos, procedimientos, funciones, etc.
Las letras mayúsculas y minúsculas se consideran sin distinción y pueden tener
cualquier longitud.
Declaración de variables
var
x:integer -> define una variable denominada x de tipo integer
y: boolean -> define una variable denominada y de tipo boolean.
z: 0..110-> define una variable denominada z de tipo integer que solo
puede tomar los valores de 0 a 110.
Asignación en Pascal
Ejemplo:
a := 10;
cad := 'esta es una cadena';
Sentencias Condicionales
Permiten realizar selecciones en el flujo de control del programa. Hay dos tipos
de selecciones:
if expresión
then sentencia1
else sentencia2
donde
: expresión es una expresión lógica que retorna true o false sentencia1 y
sentencia2 son sentencias Pascal simples o compuestas.
DESCRIPCIÓN:
sentencia1 se ejecuta sólo si expresión es verdadera, en caso contrario
se ejecutará sentencia2
Ejemplo:
1) if num>10 then a:=a+1
else a:=a-1;
Sentencia Case
DESCRIPCIÓN:
Permite elegir entre varias alternativas sin tener que anidar muchas sentencias if.
Consiste de una expresión que puede ser de cualquier tipo ordinal (con orden) y
una lista de sentencias cada una precedidas por uno o más valores del mismo tipo
que la expresión. De acuerdo al valor de la expresión se ejecutará aquella sentencia
que coincida con dicho valor. Si ninguna de las sentencias coincide, no se ejecuta
ninguna y se sigue en la instrucción siguiente al fin del case. Existe una cláusula
opcional, el else, con la cual, se generalizan todos los valores no discriminados en el
case:
Ejemplo:
1) case sexo of
‘f’, ‘F’: mujeres:= mujeres +1
‘m’, ‘M’: varones := varones +1
end;
2) case edad of
0..2: bebes := bebes +1
3..11: ninios:= ninios +1
12..17: adolescentes := adolescentes + 1
else: adultos:=adultos+1
end;
Sentencias de Repetición
Estas sentencias permiten iterar o repetir una o más sentencias. Existen tres
diferentes sentencias:
while
repeat until
for
Sentencia while
while expresión do
sentencia { puede ser simple o compuesta }
DESCRIPCIÓN:
sentencia se ejecuta siempre que expresión sea verdadera. Cuando es
falsa, la iteración termina y continua en la instrucción siguiente
Ejemplo:
............
while num>0
do num:= num-1;
............
Sentencia repeat until
repeat
sentencia1
sentencia2
.....
until expresión
DESCRIPCIÓN:
Antes de evaluar la expresión se ejecutan las sentencias encerradas en
la instrucción y a continuación se evalúa la expresión para determinar su
valor de verdad. Si el verdadera, se vuelven a ejecutar las sentencias, y
si es falsa, la iteración termina y continua en la instrucción siguiente
Ejemplo:
...........
.
repeat num:= num-1;
until num<=0
............
Sentencia for
donde:
la variable índice es de algún tipo escalar (entero, char, boolean o
enumerativo) y exp1 y exp2 deben ser del mismo tipo que índice. La variable índice se
incrementa de a 1 (uno) después de cada ejecución del for. Se puede decrementar con
downto en vez de to.
DESCRIPCIÓN:
Básicamente se ejecuta un conjunto de sentencias un número finito de veces,
mientras que una variable (el índice o variable de control) pasa a través de un
rango de valores
Ejemplo:
............
for i:=1 to 10 do x:=x+1;
............
Estructura de un programa Pascal
Un programa Pascal está formado por los tipos, variables, procedimientos y funciones que se
necesitan para dicho programa. Todo objeto referenciado en el programa debe estar declarado con
anterioridad. El orden en el cual se declaran los identificadores, no necesariamente debe ser el
siguiente pero la cátedra lo recomienda.
program nombre;
{ para trabajar con unidades compiladas en forma separada}
uses
{ definición de constantes}
const
{ declaración de tipos definidos por el usuario}
type
{ declaración de variables}
var
{ definición de procedimientos y funciones}
begin
{ Cuerpo del programa}
end.
Trabajo Practico 1: Resolucion de problemas
El estudiante debe tener en cuenta (y anotar) las actividades que realiza para resolver este Problema y agruparlas en
cada una de las cuatro etapas propuestas por Polya (comprende, planea, resuelve y revisa). Para resolver este
problema, los estudiantes deben tener conocimientos sobre conjuntos (representación, clasificación e intersección).
Es buena idea que construyan una tabla para organizar la información y un diagrama de Venn para representar los
datos.
2. Con la participación de numerosos cantantes de distintos países se llevó a cabo el festival internacional de la
canción. Trate de averiguar la nacionalidad, el premio en efectivo y el puesto que ocupó cada uno de los cinco
temas finalistas: “Desde La Boca”, “Luna”, “Morena”, “Ojos Claros” y “Libertad”.
a) El tema argentino “Desde la Boca” quedó posicionado inmediatamente después que la melodía que representó a
Brasil. Ambos superaron a la canción chilena.
b) El tema que ocupó el segundo puesto obtuvo $250 menos que el ganador.
c) El tema “Libertad” ocupó el cuarto lugar y obtuvo un premio de $250.
d) El chamamé paraguayo quedó en último lugar y obtuvo $100 menos que el tema del puesto anterior.
e) El máximo puesto lo obtuvo “Morena”, representante de Cuba.
f) El tema que ocupó el tercer puesto obtuvo la mita d de dinero que el primero pero el doble que el cuarto.
g) “Ojos Claros” no fue el tema con el que participó Paraguay.
El problema brinda mucha información y es difícil que logremos organizarla si no recurrimos a una representación
gráfica que nos permita visualizar las relaciones entre las canciones, los puestos, los premios y las nacionalidades.
4.
5. Acomodar los números 1, 2, 3, 4, 5, 6, 7, 8, 9 de la siguiente forma :
6. Este problema trata de encontrar un número perdido. Sólo tenemos las siguientes pistas :
7. Una botella con su corcho vale un dólar con diez centavos. Si la botella cuesta un dólar más que el
corcho, ¿cuánto vale cada uno ?
8. Encuentra la solución a los siguientes problemas.
1.- Elías miente los miércoles, jueves y viernes y dice la verdad el resto de los días de la semana mientras
que Andrea miente los domingos, lunes y martes pero dice la verdad el resto de la semana. Si ambos
exclaman “mañana es un día en el que yo miento” ¿Qué día de la semana será mañana?
2.- Si Irma habla más bajo que Irene y Andrea habla más alto que Irene ¿Irma habla más alto o más bajo
que Andrea?
3.- Sabemos que de 4 corredores de la maratón C llegó después de B y el corredor D llegó en medio de
los corredores A y C. ¿Cuál fue el orden correcto en el que llegaron los corredores a la meta?
4.- Seis amigos deciden ir de vacaciones a la misma playa y deciden viajar en pareja, cada pareja utiliza
diferentes medios de transporte. Sabemos que Axel no utiliza el coche ya que viaja con Lucía que no
va en avión. Andrea viaja en avión. Si Marlene no va acompañando a Darío ni hace uso del avión,
¿podrías decirnos que medio de transporte utilizó Tomás para llegar a la playa?
5.- Tres amigos, Patricio, Javier y Alejandro, tienen como profesiones medico, ingeniero y abogado ( sin
que sepamos cuál corresponde a cada uno ). La mujer de Javier es muy bella. El médico es vecino del
abogado. El abogado se casará pronto. Patricio, para ir a cenar a la casa de! médico, tomó el
colectivo 60. ¿ Cómo se llama el ingeniero ?
6.- Un caracol se encuentra en el fondo de un pozo de 10 metros de profundidad. Sube 3 metros de día,
y de noche, cuando descansa, resbala cayendo 2 metros. ¿ Cuántos días tardará el caracol en salir del
pozo ?
PRACTICO 02 : CONCEPTOS BASICOS DE ALGORITMOS.
Actividad n° 1.
Con tu compañ ero construye un mapa conceptual sobre Algoritmos utilizando la herramienta CMAPS
TOOLS. En el mismo debe figurar:
qué es un Algoritmo
las características que debe tener un Algoritmo
Distintas formas de expresar los algoritmos
Para poder realizar esta actividad podrá n consultar las siguientes pá ginas de internet:
Mapas conceptuales
Mas sobre Mapas conceptuales
Definció n de algoritmo en Wikipedia
Algoritmos. Características
Algoritmos. Características
Actividad N°2 En pilas bloques… lista la series de pasos para completar los desafíos:
a) El alien toca botó n
b) El gato en la calle
c) No me canso de saltar.
Actividad n° 6.
Observen el video "Monje - Ayuda de Escritorio" https://www.youtube.com/watch?v=93SgXeu-SeY
y elaboren un algoritmo que ayude al monje a leer libros. Prestar atenció n al lenguaje utilizado, el
destinatario y el contexto en que se debe aplicar.
PRACTICO 03: CONSTANTES Y VARIABLES. IDENTIFICADORES. TIPOS DE DATOS.
a) A 12 f) 6 A
b) “A” 2 g) SUMA “3”
c) A “caja” h) RESTA 2
d) “A" caja i) $Pesos “$100”
e) Y H j) Pesos “$100”
02) Escribir 2 ejemplos de datos numéricos enteros cortos, dos numéricos enteros largos, dos simples y dos
alfanuméricos.
06) Se tiene un listado de socios de un club. Las variables que contienen los datos se llaman nombre,
apellido, edad, categoria, y guardan, como su nombre lo indica, los datos correspondientes.
Escribe cuáles son las expresiones a utilizar para obtener los siguientes datos :
08) Obtener el valor de X para cada una de las siguientes expresiones, siendo A=5, B=25 y C=10.
X =A + B + C X: ...........
X =A + B * C X: ...........
X = A + B / C X: ...........
X = A + B % C X: ...........
X =(A + B) / C X: ...........
X =A + (B / C) X: ...........
TRABAJO PRACTICO N° 4- Programando con Lazarus Pascal
Conceptos teóricos:
Variables: Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la
ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa.
Constantes: Valores que durante la ejecución de un programa no cambian su valor.
DE TRABAJO
Variables que recibe el resultado de una operación matemática completa y que se usan normalmente
dentro de un programa.
Ejemplo: Suma=a + b /c
CONTADORES
Se utilizan para llevar el control del número de ocasiones en que se realiza una operación o se cumple una
condición. Con los incrementos generalmente de uno en uno.
Ejemplo: Cont=Cont + 1
Num =Num + 2
ACUMULADORES
Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se
van leyendo o calculando progresivamente.
Identificadores: Para poder reconocer una variable o una constante en la memoria de la computadora, es
necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo, esto se llama un
identificador
Práctica:
1) Determine cuáles de los siguientes identificadores son válidos.
506-74-3981 4 ×2
2) Determine cuáles de las siguientes declaraciones de variables son válidas.
VAR
temp, valor : Integer;
num, suma : Real;
VAR
num, suma, total : Integer;
valor : Real;
car1, car2 : Char;
car2 := `car1'
6) Calcular la superficie o área de un rectángulo y mostrar el resultado. Para poder obtener el área del rectángulo,
primeramente se tiene que conocer la base y la altura.
7) Calcular la superficie de un triángulo rectángulo y mostrar el resultado. Recuerde que para calcularlo, es
necesario conocer la base y la altura.
8) Ingresar el nombre de un alumno con sus 3 notas. Mostrar el respectivo nombre, junto con su promedio
calculado.
9) Convertir metros a pies y a pulgadas (1 metro: 39.37 pulgadas y 1 pie: 12 pulgadas).
10) Un alumno desea saber cual será su calificación final en la materia de Algoritmos. Dicha calificación se compone de
los siguientes porcentajes: 55% del promedio de sus tres calificaciones parciales. 30% de la calificación del
examen final. 15% de la calificación de un trabajo final.
11) Calcular el valor de una cuota, si se le debe aplicar el 10% de recargo.
12) Ingresar el nombre de un alumno con sus 3 notas. Mostrar el respectivo nombre, junto con su promedio calculado.
13) Calcular la edad de una persona a partir del año de nacimiento.
La siguiente imagen es una representación gráfica de un algoritmo, lo cual es denominado Diagrama de flujo, en el
ámbito informático. Transcribe dicha notación en pseudocódigo.
14) Una empresa constructora GARCIA SRL. vende terrenos con la “Forma A”.
Realice un algoritmo y represéntelo mediante pseudocódigo para obtener el área respectiva de dicho terreno.
Practico N° 4 – Adicional . ALGORITMOS SECUENCIALES
1. Escribir un algoritmo para que ingresando un número, mostrar su triple y su tercio.
2. Escribir un algoritmo para que al ingresar un número calcular el doble y su Raíz Cuadrada.
3. Escribir un algoritmo que permita ingresar la Edad de 4 ( cuatro ) personas y mostrar el Promedio
de las Edades.
4. Escribir un algoritmo para que al ingresar un número, muestre el siguiente
5. Multiplicar, Dividir y Restar 3 ( tres ) números entre sí.
6. Calcular el Perímetro y la Superficie de un Cuadrado
7. Escribir un algoritmo que pida una cantidad en pesos y la convierta en dólares, solicitando primero
cuántos pesos es un dólar.
8. Hace un algoritmo que calcule la longitud de la circunferencia, el área del círculo y el volumen de la
esfera para un radio ingresado por el teclado.
9. Una persona concurre a una carnicería y compra :
Se desea saber cuanto fue el Importe Pagado por el comprador y el Apellido y Nombre
del mismo.
10. Dos amigos concurren al cine acompañados de un hermano cada uno.
Antes de entrar compran 2 paquetes de pochoclos y 3 gaseosas.
Calcular cuanto gastaron en Total.
11. Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas. El vendedor
desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en
el mes y el total que recibirá en el mes.
12. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber
cuanto deberá pagar finalmente por su compra.
13. Calcular el nuevo salario de un obrero si obtuvo un aumento del 25% sobre su salario anterior.
14. En una clínica se recibe una donación de dinero, y se distribuye de la siguiente manera: : Insumos
(gasas, vendas, etc.) 50%
Ropa de cama 30%
Guantes descartables 5%
Obtener la cantidad de dinero que recibirá cada sector, ingresando el dinero.
15. El dueño de una tienda compra un artículo a un precio determinado. Obtener el precio en que debe
vender para obtener una ganancia del 30%.
16. Se desea alambrar un campo con tres hilos de alambre. Calcular el costo del trabajo, teniendo en
cuenta que el alambre se consigue en rollos de 100 metros. Además, los postes se colocan cada 15
metros y el precio de cada uno es de $20.
17. Para realizar una excursión nos cobran 3500 pesos por persona más 8900,30 de cargo fijo por el
seguro. Conociendo la cantidad de personas que viajan, ¿Cuánto nos costará la excursión? ¿Cuánto
deberá pagar cada persona?
18. Si en el Mercado de Liniers, se paga a razón de 3.45 el “Kilo en pie”, cuándo valdrá una vaca?
Trabajo Práctico N° 5 –Estructuras Condicionales Simples y Dobles en Pascal
Condicional Simple
1. Indicar la sintaxis
Condicional doble
5. Indicar la sintaxis
6. Realice un algoritmo para determinar cuánto se debe pagar por X cantidad de lápices
considerando que si son 1000 o más el costo es de $9; de lo contrario, el precio es de $10
7. Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original y su precio con
descuento. El descuento lo hace en base a la clave, si la clave es 01 el descuento es del 10%
y si la clave es 02 el descuento en del 20% (solo existen dos claves).
if x <= 0 then
x = 1
else
x = x + 1
end if
Write (x);
¿Cuál será la salida para cada uno de los valores dados de x?
a) x = -4
b) x = 3
c) x = 0
9. Supóngase que x=-1, y=5 cuando se ejecutan las dos siguientes instrucciones. ¿Cuál será la salida?
a)
if (x<2) and (y<6) then
salida(Verdadero)
else
salida(Falso)
end if
b)
if (x>1) or (y>3) then
salida(Verdadero)
else
salida(Falso)
end if
Trabajo Práctico N° 6 –Estructuras Condicionales Anidadas en Pascal
1. Indicar la sintaxis
Program NumM;
Uses
Crt;
Var
n1,n2,n3,mayor : integer ;
begin
WriteLn('Escribe tres numeros enteros : ');
ReadLn(n1,n2,n3);
if n1>n2 then
if n1>n3 then
mayor:=n1
else
mayor:=n3
else if n2>n3 then
mayor:=n2
else
mayor:=n3;
WriteLn('El mayor es ',mayor);
ReadKey();
end.
3. Dada la siguiente composición de estructuras de control:
enunciado1;
enunciado2;
if (condicion1) then
begin
enunciado3;
enunciado4;
end
else
enunciado5;
if (condicion2) then
enunciado6;
else
begin
enunciado7;
enunciado8;
end;
enunciado9;
Responda a las siguientes preguntas (puede suceder que existan más de una alternativa):
a) ¿En qué lugar debería estar el enunciado9 para que se ejecute únicamente cuando la
condicion1 es verdadera?
b) ¿En qué lugar debería estar el enunciado9 para que se ejecute únicamente cuando la
condicion1 es falsa (sin importar el valor de la condicion2)?
c) ¿En qué lugar debería estar el enunciado9 para que se ejecute únicamente cuando la
condicion2 es verdadera?
d) ¿En qué lugar debería estar el enunciado9 para que se ejecute siempre sin importar el valor de
las condiciones?
e) ¿En qué lugar deberían estar los enunciado1 y enunciado2 para que se ejecuten únicamente
cuando la condicion1 es verdadera?
f) ¿Qué características tienen en común los enunciados: enunciado1, enunciado2 y enunciado9?
4. Escribir un programa que, dado el nombre o número del mes, y la información de si el año es bisiesto saque por
pantalla el número de días del mes.
5. Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este se le asigna como un
porcentaje de su salario mensual que depende de su antigüedad en la empresa de acuerdo con la sig. tabla:
Tiempo Utilidad
Menos de 1 año 5 % del salario
1 año o mas y menos de 2 años 7% del salario
2 años o mas y menos de 5 años 10% del salario
6. Confeccionar el Algoritmo, el DF y el Programa para que ingresados 2 números X e Y, realizar la operación que
corresponda según el siguiente menú :
A ; Suma
B : Resta
C : Producto
D : Cociente
Nota : previamente se deberá también ingresar la opción, para determinar que operación
deberá realizar.
Practico 5, 6 y 7 – ADICIONAL – CONDICIONALES SIMPLES, DOBLES, ANIDADOS y
MULTIPLES
1. Confeccionar el Análisis, el DF y el Programa que permita , a partir de ingresar las notas de los 3 trimestres de
una materia, decir si se “ aprobó “ o “ no se aprobó “.
2. Confeccionar el Análisis, el DF y el Programa para que dados los lados “L1” y “L2” de un rectángulo y el radio
“R” de un círculo, determine cual de las dos figuras tiene mayor área y escribirla.
3. Confeccionar el Análisis, el DF y el Programa para que ingresando dos números si el 1ro es mayor que el 2do
intercambie sus valores. [ Variable Auxiliar ].
4. Confeccionar el Análisis, el DF y el Programa que permita ingresar 2 números y luego imprima si esos números
pertenecen o no al intervalo ( 2,20 ) aclarando además como resultado que números son.
5. Un pintor cobra su trabajo en función de la superficie a pintar. Si esta es a dos colores, recarga un 3 % al precio
total. Cuánto costará pintar una habitación cualquiera, sumando el costo de la pintura y la lija?
6. Escribir un programa que pida un número e indique si se trata de un número par. Realizar una traza de 3 pasos.
7. Hacer un algoritmo que calcule el total a pagar por la compra de medias. Si se compran tres medias o mas se
aplica un descuento del 20% sobre el total de la compra y si son menos de tres, no hay nada
8. En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $1000 ¿ Cual será la cantidad
que pagara una persona por su compra?
9. Confeccionar el Algoritmo, el DF y el Programa para que ingresando un Código Postal ( para 4 casos ) muestre el
nombre de la ciudad a la que pertenece el código ingresado.
10. Una empresa de construcción estableció un programa para captar clientes, y ofrece lo siguiente. Si el precio de la
construcción es superior a los U$S 30000, el cliente pagará cuotas del 6 por ciento del valor de la propiedad. Si
no, pagará cuotas del 7.2 por ciento. Averiguar de cuánto será la cuota que tiene que pagar un determinado
comprador
11. Confeccionar el Algoritmo, el DF y el Programa para que muestre el talle de una persona de acuerdo a su peso,
respetando las siguientes condiciones :
13. Dados dos números enteros A y B y una CLAVE, realice la operación aritmética, indicada por medio de la clave, a
los números dados. Por ejemplo: si los datos son 6 3 +, el algoritmo debe calcular la suma de 6+3. Las claves
válidas son: + - *.
Trabajo Práctico N° 8 –Estructuras Repetitivas en Pascal
FOR
1. Ingresar la temperatura durante 7 días, calcular y mostrar el promedio (le recordamos que la
temperatura es un número real).
WHILE
4. Ingresar el gasto en taxi día a día, calcular y mostrar el total acumulado. El ingreso de datos finalizará
cuando el usuario ingrese un valor cero o menor a cero.
5. Ingresar una serie de números hasta que el usuario ingrese un cero. Al finalizar, indicar la cantidad de
números menores a 15.
6. Ingresar una serie de importes de compra, calcular y mostrar en cada ciclo el importe más el IVA del
%21. Finalizar la entrada de datos con el valor cero.
REPEAT UNTIL
7. Ingresar una cantidad no determinada de números. Si el número es entero, mostrar el factorial del número
ingresado, si es negativo mostrar la mitad del número, y si es cero mostrar un mensaje “No se esperaba un
cero”. Finaliza la entrada de datos con el número 999.
8. Confeccionar el Algoritmo, el DF y el Programa para que muestre por pantalla la tabla
de multiplicar hasta el 10 de un número entero introducido por el usuario. El proceso debe repetirse mientras
que el usuario lo desee.
4) Repita los pasos 1º, 2º y 3º, mientras que, el usuario no responda 'n' de (no).