Looking for ASX OA01 Programació en Python test answers and solutions? Browse our comprehensive collection of verified answers for ASX OA01 Programació en Python at ioc.xtec.cat.
Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!
Escriviu un programa que llegeixi un nombre n i escrigui la seva taula de multiplicar. Per a la seva verificació, es proporciona una bateria de fitxers de proves.
| Fitxers d'entrada | Fitxers de sortida |
|---|---|
| sample1.in | sample1.out |
| sample2.in | sample2.out |
Feu un programa que calculi la mitjana de N nombres enters llegits (on N sigui una constant modificable). Utilitzeu-lo per a calcular la mitjana dels 50 primers nombres del fitxer nombres.txt, i després per als 100 (el fitxer conté 100 nombres)
Pista: el càlcul de la divisió s'ha de fer una única vegada, fora del bucle.
Si s'executa l'ordre:
python3 programa.py < fitxer1 > fitxer2
La sortida del programa s'afegeix al que estava escrit al fitxer2.
Heu de fer un programa de control de despeses. Posem per cas que t eniu 100 euros i voleu fer compres fins que s’acabin els diners. Cada vegada que intenteu fer una compra nova, introduïu la quantitat d’euros que val el producte i el programa diu ok, fins quan arriba el moment que ja no podeu fer la compra perquè no queden suficients diners.
Exemple d’execució: (DINERS = 100)
python3 despeses.py
5
ok
20
ok
90
Saldo: 75 euros. Articles comprats: 2
Feu un programa que llegeixi dos nombres enters positius i els multipliqui en base a sumes successives.
El programa ha de calcular el resultat de la multiplicació, però en comptes d’utilitzar l’operador *, ho heu de fer en base a sumar un dels dos nombres amb si mateix tantes vegades com indica l’altre. És a dir, per calcular 4 * 5 heu de fer:
4 + 4 + 4 + 4 + 4
Feu un programa que llegeixi dos nombres enters i els multipliqui en base a sumes successives.
El programa ha de calcular el resultat de la multiplicació, però en comptes d’utilitzar l’operador *, ho heu de fer en base a sumar un dels dos nombres amb sí mateix tantes vegades com indica l’altre. És a dir, per calcular 4 * 5 heu de fer:
4 + 4 + 4 + 4 + 4
Com multipliqueu els nombres quan algun és negatiu? Calculeu el signe resultant i feu la multiplicació per a positius.
Per resoldre aquest programa, utilitzeu una variable booleana que es digui es_positiu i cal que seguiu el següent refinament:
#1. llegir 2 nums
#2. guardar el signe resultant (en una variable booleana)
#3. treure els signes (fer valor absolut)
#4. Aplicar el problema anterior (multiplicació de dos positius en base a sumes successives)
#5. afegir el signe si cal
#6. mostrar
Codifiqueu un programa que llegeixi una quantitat n de nombres enters (5, per exemple), indiqui quin és el mínim i en quina posició ha estat llegit.
Entenent que els 4 valors de l'entrada es llegeixen un en cada línia, el joc de proves seria:
| Entrada | Sortida |
|---|---|
| 127, 0, 0, 1 | True |
| 192, 158, 1, 38 | True |
| 255, 255, 255, 255 | True |
| 0, -3, 34, 67 | False |
| 356, 78, 256, 56 | False |
Pista: fixeu-vos que la IP només serà vàlida en el cas que els 4 camps ho siguin.
Per a saber si la IP és vàlida, s'utilitzarà una variable booleana es_ip_valida, que inicialment tindrà el valor True, i només l'heu de modificar a False quan trobeu un dels camps que no sigui vàlid (en cas que en trobeu més d'un, no passa res per assignar tornar a assignar el valor False).
És obligatori l'ús d'un bucle while.
Feu un programa que sumi les potències de n mentre que la potència sigui menor que m.
Per exemple:
Per fer-ho heu de:
1. Crear el joc de proves
2. Partir del programa base que calcular la suma de potències de 2 amb un valor fins a 100:
LIMIT = 100 #valor màxim de la potència a sumarsuma = 0potencia = 1#mentre la suma sigui inferior al límitwhile potencia < LIMIT: #sumem la potència suma = suma + potencia #calculem la potència següent potencia = potencia * 2print(suma)
Les potències de 2 són els valors resultats d'exponenciar 2 a un altre número.
Per exemple:
20= 1
21= 2
22=2 x 2= 4
23=2 x 2 x 2 = 8
24=2 x 2 x 2 x 2 = 16
Codifiqueu un programa que sumi les 15 primeres potències de 2.
Cal que penseu amb deteniment la condició de sortida del bucle.
Consell: per a comprovar que aquest tipus de programes estan bé heu de fer-los en casos que podeu comprovar
sense problemes. Per exemple, fent-ho amb un límit menor (3 en
comptes de 15 ) i així facilitar les operacions a mà.