Problemas resueltos con Pascal

Pseudocódigo. Programación. Prácticas pascal

3 downloads 317 Views 8KB Size

Recommend Stories


Problemas diversos de Pascal
Iteraciones. Bucles. Recursividad

PROBLEMAS RESUELTOS TEMA: 2
PROBLEMAS RESUELTOS TEMA: 2 1.‐ a) Tenemos una cuerda que pasa por una polea. En un extremo de la cuerda cuelga un peso de 5 N y por el otro se aplica

PROBLEMAS RESUELTOS GEOMETRÍA
PROBLEMAS RESUELTOS GEOMETRÍA 1) Uno de los vértices de un paralelogramo ABCD es el punto A ( 1, 2 ) y dos de los lados están sobre las rectas r : 3x

Problemas de electrolisis. Resueltos
Problemas de electrolisis Resueltos Problemas 5,6 y 7 de la hoja de refuerzo Tambien estan al final de la hoja con enunciados de ejecicios PAU Ser

Story Transcript

Metodología y Tecnología la Programación Ejercicios: Tema 2 Problema 2.1 Diseñar un programa que permita dibujar en la pantalla el patrón siguiente: −− | | −− | | −− Solución program EseNoModular (output); { El programa dibuja la letra S según el patrón solicitado, No necesita entrada de datos por lo que no se necesita input, No es modular } { Programa Principal}begin {Patrón de la horizontal} writeln(' −','−') {Patrón vertical izquierdo} writeln('|'); writeln('|'); {Patrón de la horizontal} writeln(' −','−') {Patrón vertical derecho} writeln(' |'); writeln('|':3) {Una alternativa} end. Problema 2.2

1

Diseñar un programa que permita dibujar en la pantalla el patrón siguiente: −− | | −− | | −− Solución program ENoModular (output); { El programa dibuja la letra E según el patrón solicitado, No necesita entrada de datos por lo que no se necesita input, No es modular } { Programa Principal}begin {Patrón de la horizontal} writeln(' −','−') {Patrón vertical izquierdo} writeln('|'); writeln('|'); {Patrón de la horizontal} writeln(' −','−') {Patrón vertical izquierdo} writeln('|'); writeln('|'); {Patrón de la horizontal} writeln(' −','−') end. Problema 2.3

2

Diseñar un programa que admita por teclado los catetos de un triángulo rectángulo, calcule su hipotenusa, y la muestre por pantalla. Solución program hipotenusa (input, output);{ Este programa calcula la hipotenusa de un triángulo rectángulo. Para ello: 1.− Pide que se introduzcan por teclado los valores de los catetos 2.− Halla la hipotenusa utilizando el teorema de pitágoras 3.− Muestra por pantalla el resultado que ha calculado } {Precondición: [cat1,cat2] " R } var cat1,cat2, {variables que acogen las medidas de los catetos} sumCuadrados, {variable que acoge la suma de los cuadrados } hipo :real; {variable que acoge el valor de la hipotenusa } begin { comienza el programa hipotenusa} {Precondición: input=[cat1,cat2]} {Obtención de datos} write('Introduce la longitud del primer cateto: '); readln (cat1); write('Introduce la longitud del segundo cateto: '); readln (cat2); {Confirmación de los valores} writeln ('Cat1 = ',cat1:8:2, ' y Cat2 = ',cat2:8:2); writeln ('Pulsa Enter para seguir'); readln; {Permite revisar en la pantalla los valores escritos} {Cálculo de la hipotenusa} {Invariante:hipo=(cat12 + cat22)1/2} sumCuadrados:=sqr(cat1) + sqr(cat2); hipo:=sqrt(sumCuadrados); {Escritura de Resutados} writeln(' −−−−−− RESULTADOS −−−−−−'); writeln('La hipotenusa es: ', hipo:8:2) 3

Postcondición:output=[hipo]}end. {del programa hipotenusa} Problema 2.4 Diseñar un programa que admita por teclado un ángulo en grados, calcule su tangente y la muestre por pantalla en notación decimal con siete caracteres y dos decimales. Solución program TangenteAnguloGrados (input,otutput); {El programa calcula la tangente de un ángulo, introducido por teclado en grados y la muestra por la pantalla en notación decimal, con siete caracteres y dos decimales} {Versión 1: No utiliza subprogramas} {1.− Lee los grados 2.− Calcula la tangente 3.− La expresa por pantalla con la precisión que se pide} const Pi=3.1416; {Precondición: [angGrad,tan] " R " input=angGrad } var angGra, {ángulo en grados } angRad {ángulo en radianes} tan: real; {su tangente } {Precondición: angGra " 90 + k*180 } begin {Comienzo del Programa TangenteAnguloGrados } { Lectura del valor de ángulo en grados. } write ('Escribe el ángulo en grados ( ángulo<>90+k*180): '); readln(angGra); { Precondición: ángulo <> 90 + k*180 }{ Conversión de grados a radianes }{ Invariante: angRad = angGra * pi / 180 } angRad:=angGra * Pi / 180; { Cálculo de la tangente y asignación del valor a tan} tan:= sin(angRad) / cos (angRad) {Escribe valor en formato decimal con 7 caracteres y con dos decimales } write('El valor de la tangente es: '); writeln(tan:7:2)

4

{Postcondici¢n: Output = tan } end. {Fin del programa TangenteAnguloGrados } Problema 2.5 Diseñar un programa que admita por teclado un numero entero positivo, calcule su clave encriptada y la muestre por pantalla. La fórmula de encriptación es la siguiente: Clave Encriptada (N) = ASCII ( NE), donde NE = K * (1+N2) , K=23 Solución program EncriptaCodigo (input, output); {versión 1: No Utiliza subprogramas } { Este programa encripta un número entero positivo: Para ello 1.− Pide que se introduzca el número por teclado 2.− Calcula el encriptado del numero que se ha introducido. Para ello: 2.1 Aplica la fórmula NE = K * (1 + N2), donde K = 23 2.2 Encripta el rea. Para ello 2.2.1 Recoge el resultado NE 2.2.2 Devuelve el carácter ascii de la división entera de NE y 256 3.− Muestra por pantalla el carácter resultante de la encriptación } { Precondiciones: n " Z+, input = [n] Invariante: c=ascii( k *(1+sqr(n)) mod 256) Postcondición output= [c]} const K=23; NAscii=256; var num, numEnc:integer; 5

claEnc:char; begin { comienza el programa EncriptaCodigo} {Obtención de datos:} write('Introduce un número positivo: '); readln (num); {Cálculo del número encriptado} numEnc:=(K*(1+sqr(num))); {Cálculo del carácter encriptado} carEnc:=char(numEnc mod NAscii); { Escritura de Resutados} writeln(' −−−−−− RESULTADOS −−−−−−'); writeln('El número escrito es: ', num:8); writeln('El carácter que lo encripta es:', carEnc:3) end. {del programa EncriptaCodigo} Tema 2: Elementos de Pascal 1 1 Metodología y Tecnología de la Programación

6

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.