Diferència entre revisions de la pàgina «ASIX-M3-UF1-Proves»

De wikiserver
Dreceres ràpides: navegació, cerca
 
(31 revisions intermèdies per 2 usuaris que no es mostren)
Línia 1: Línia 1:
 +
<!--
 
==Prova 1==
 
==Prova 1==
  
1. Mostra per pantalla aquesta "representació" d'un tauler d'escacs doble de 8 caselles ( considera que hi ha un espai o hi ha un '#'). '''1,5 punts'''
+
1. Escriu un programa que demani dos números enters i mostri per pantalla la següent "representació" ( considera que hi ha un espai o hi ha un '#'). '''1,5 punts'''
 +
 
 +
Exemple amb els '''números 8 i 16''':
  
 
<font size="4">
 
<font size="4">
Línia 13: Línia 16:
 
  # # # # # # # #
 
  # # # # # # # #
 
</font>
 
</font>
 +
<!--
 +
<source lang=python>
 +
files = int(input("Files: "))
 +
columnes = int(input("Columnes: "))t,
 +
http://wikiserver.infomerce.es/index.php?title=ASIX-M3-UF1-Proves&action=edit&section=1
 +
for fil in range(files):
 +
      for col in range(columnes):
 +
          if (fil+col)%2==0:     
 +
              print(' ', end='')
 +
          else:
 +
              print('#', end='')
 +
      print('')
 +
</source>
 +
-->
 +
<!--
 +
2. Escriu un programa que mostri tots els números de tres xifres que compleixen que cada una de les xifres és més gran que les que té més a l’esquerra. '''1,5 punts
  
2. Escriu un programa que mostri tots els números de tres xifres que compleixen que cada una de les xifres és més gran que les que té més a l’esquerra. '''1,5 punts
 
'''
 
 
Per exemple : '''123, 124, 125,..., 189, 234, 234,....'''
 
Per exemple : '''123, 124, 125,..., 189, 234, 234,....'''
 
+
<!--
 +
<source lang=python>
 +
for num in range(100,1000):
 +
    d3=num%10;
 +
    d2=num//10%10;
 +
    d1=num//100;
 +
    if d3>d2 and d2>d1:
 +
        print(num,end=' ')
 +
</source>
 +
-->
 +
<!--
 
3. Fes un programa que demani un número de línies i mostri el següent  (en l'exemple el número introduït és 5)  '''1,5 punts'''  
 
3. Fes un programa que demani un número de línies i mostri el següent  (en l'exemple el número introduït és 5)  '''1,5 punts'''  
 
<font size="4">
 
<font size="4">
Línia 26: Línia 53:
 
  5 5 5 5 5
 
  5 5 5 5 5
 
</font>
 
</font>
 
+
<!--
4. En una seqüencia de números enters positius introduïda per teclat i acabada en -1, determinar si s’ha produït una seqüencia de 3 números parells o imparells seguits.  "1,5 punts"
+
<source lang=python>
 +
num = int(input("Introdueix un número: "))
 +
for fil in range(1,num+1):
 +
    for col in range(fil, num):
 +
        print(" ", end=" ")
 +
    for col in range(fil):
 +
        print(fil, end=" ")
 +
    print("")
 +
</source>
 +
-->
 +
<!--
 +
4. En una seqüencia de números enters positius introduïda per teclat i acabada en -1, determinar si s’ha produït una seqüencia de 3 números parells o imparells seguits.  '''1,5 punts'''
  
 
<font size="4">
 
<font size="4">
 
Exemple1
 
Exemple1
  
  Seqüència: 2 5 45 78 14 13 21 56 45 58 95 47 12 -1
+
  Seqüència: 2 5 45 78 14 13 21 56 45 58 95 47 12 -1t,
 +
http://wikiserver.infomerce.es/index.php?title=ASIX-M3-UF1-Proves&action=edit&section=1
 
  No!
 
  No!
  
Línia 40: Línia 79:
 
  Sí!
 
  Sí!
 
</font>
 
</font>
 
+
<!--
5. Donat un text <u>posat directament per codi</u>, cal mostrar les paraules que comencin en vocal, les que acaben en vocal i quantes hi ha de cada cas (no cal considerar paraules accentuades). "2 punts"
+
<source lang=python>
 +
contParells = 0
 +
contImparells = 0
 +
num = int(input("Introdueix un número (per acabar -1): "))
 +
while num!=-1 and contParells < 3 and contImparells < 3:
 +
    if num%2 == 0:
 +
        contParells +=1
 +
        contImparells = 0
 +
    else:
 +
        contImparells +=1
 +
        contParells = 0
 +
    if contParells < 3 and contImparells < 3 :
 +
        num = int(input("Introdueix un número (per acabar -1): "))
 +
if num == -1:
 +
    print("No!");
 +
else:
 +
    print("Sí!")
 +
</source>
 +
-->
 +
<!--
 +
5. Donat un text <u>posat directament per codi</u>, cal mostrar les paraules que comencin en vocal, les que acaben en vocal i quantes hi ha de cada cas (no cal considerar paraules accentuades). '''2 punts'''
 
<pre>
 
<pre>
 
Us pot anar bé si definir-vos la cadena vocals='aeiou' o sinó la llista=['a','e','i','o','u']
 
Us pot anar bé si definir-vos la cadena vocals='aeiou' o sinó la llista=['a','e','i','o','u']
Línia 55: Línia 114:
 
  Total: 10  
 
  Total: 10  
 
</font>
 
</font>
 
+
<!--
6. A partir d'una llista de paraules introduïda per codi. crear dues llistes noves, una amb les paraules en que comencen en lletra majúscula i l'altra amb les que comencin en lletra minúscula. "2 punts"
+
<source lang=python>
 +
vocals = ['a', 'A', 'e', 'E', 'i', 'I', 'o', 'O', 'u', 'U']
 +
frase = "No hi ha pitjor cec que el que ja ha vist la realitat i decideix tornar a tancar els ulls"
 +
parComencenVocal = ""
 +
numParComencenVocal = 0
 +
parAcabenVocal = ""
 +
numParAcabenVocal = 0
 +
for paraula in frase.split():
 +
    if paraula[0] in vocals:
 +
        parComencenVocal += paraula + " "
 +
        numParComencenVocal += 1
 +
    if paraula[len(paraula)-1] in vocals:
 +
        parAcabenVocal += paraula + " "
 +
        numParAcabenVocal += 1
 +
print("Paraules que comencen en vocal: ", parComencenVocal)
 +
print("Total: ", numParComencenVocal)
 +
print()
 +
print("Paraules que acaben en vocal: ", parAcabenVocal)
 +
print("Total: ", numParAcabenVocal)
 +
</source>
 +
-->
 +
<!--
 +
6. A partir d'una llista de paraules introduïda per codi. crear dues llistes noves, una amb les paraules en que comencen en lletra majúscula i l'altra amb les que comencin en lletra minúscula. '''2 punts'''
 
<pre>
 
<pre>
 
Recordeu:
 
Recordeu:
Línia 74: Línia 155:
 
  parMin = ['java', 'php', 'javaScript']
 
  parMin = ['java', 'php', 'javaScript']
 
</font>
 
</font>
 +
<!--
 +
<source lang=python>
 +
paraules = ['Python', 'java', 'php', 'HTML', 'javaScript', 'SQL']
 +
parMaj = []
 +
parMin = []
 +
for paraula in paraules:
 +
    if ord(paraula[0])>=97:
 +
        parMin.append(paraula)
 +
    else:
 +
        parMaj.append(paraula)
 +
print("Majúcules: ", parMaj)
 +
print("Minúscules: ", parMin)
 +
</source>
 +
-->
 +
 +
<!--
 +
==Prova 1b==
 +
 +
1. <b>2p</b> Fer un programa que faci barres verticals de 2 asteriscs o 2 punts. El programa preguntarà el nombre de columnes i si son parells donarà un error i no continua.
 +
<source>
 +
Programa de barras. Introducir un numero impar entre 3 y 9
 +
tamaño horizontal:6
 +
error en la introducción del numero, debe ser impar y entre 3 y 9
 +
</source>
 +
Si es posa un numero imparell entre 3 i 9 el programa fa el dibuix que podeu veure a continuació
 +
<source>
 +
Programa de barras. Introducir un numero impar entre 3 y 9
 +
tamaño horizontal:9
 +
tamaño vertical:7
 +
******************
 +
..**..**..**..**..
 +
..**..**..**..**..
 +
..**..**..**..**..
 +
..**..**..**..**..
 +
..**..**..**..**..
 +
..**..**..**..**..
 +
</source>
 +
La primera línia tota plena d'asteriscs (simula una separació o un pal per aguantar les barres)
 +
Les demés línies alternant '..' i '**'.
 +
 +
 +
2. <b>1.5p</b> Escriu un programa que sumi tots els números entre 1 i 500 (ambdós inclosos) que compleixin les 2 condicions:
 +
    -> NO son múltiples de 3
 +
    -> SI son múltiples de 5
 +
 +
 +
3. <b>1.5p</b> Endevinar un numero. Generem un número aleatori entre 1 i 25. Utilitzarem la funció randint que esta a la llibreria RANDOM. Per fer-la servir hem d'importar la llibreria:
 +
<source>
 +
from random import *
 +
</source>
 +
després generem el numero:
 +
<source>
 +
lanostravariable=randint(minim, maxim)
 +
</source>
 +
i a partir d'aquí el nostre programa preguntarà números fins que l'encertin.
 +
Per ajudar, cada vegada s'informarà si el numero es mes gran o més petit o si finalment l'han encertat i el programa acaba.
 +
 +
 +
4. <b>1.5p</b> Fer un programa que digui la mitjana (suma de tots els números, dividit per la quantitat de números), el valor màxim i mínim d'una seqüència de números enters positius introduïda per teclat i acabada en -1.
 +
 +
 +
5. <b>1.5p</b> Volem fer un codificador bàsic. Donat un text <u>introduït per teclat</u>, escriure'l en invertit. Per exemple:
 +
<source>
 +
"hola que tal"
 +
sortida:
 +
"lat euq aloh"
 +
</source>
 +
 +
 +
 +
6. <b>2.2p</b> Fer un programa que donat un text <u>introduït per teclat</u> compti:
 +
-> quantes paraules té.
 +
-> quantes lletres de cada tipus té.
 +
Podeu fer servir una cadena del tipus "ABCDEFGHIJKLMNÑOPQRSTVWXYZabcdefghijklmnñopqrstuwxyz01234567890,." per comparar i guardar les vegades que surt una lletra en una llista. Per exemple: "Estaba yo en el campo."
 +
El resultat mostrarà
 +
<source>
 +
Paraules: 5
 +
E: 1
 +
a: 3
 +
b: 1
 +
c: 1
 +
e: 2
 +
l: 1
 +
m: 1
 +
o: 2
 +
s: 1
 +
t: 1<!--
 +
y: 1
 +
.: 1
 +
</source>
 +
No mostrarà els espais (no compten). Tampoc les lletres que no surten al text.
 +
 +
-->
 +
 +
==Prova 1c==
 +
1. <b>2p</b> Lletra Z. Farem amb asteriscs la lletra Z de la mida que ens demanin (ha de ser un numero imparell, si és parell, s'ha de donar error i no fer rés). <br>
 +
  En primera instància es demana "Alçada: ". Si el número introduït és parell, ha de donar un missatge i sinó fem una Z d'aquesta alçada llegida pel teclat.
 +
<source>
 +
Introduir núm imparell:4
 +
Introduïr un numero imparell!
 +
</source>
 +
<source>
 +
Introduir núm imparell:7
 +
* * * * * * *
 +
          *
 +
        *
 +
      *
 +
    *
 +
  *
 +
* * * * * * *
 +
</source>
 +
recordeu que en la primera línia la posició de l'asterisc seria la darrera(7) i a la darrera línia(7), la posició sería la primera (0).
 +
<source>
 +
Introduir núm imparell:5
 +
* * * * *
 +
      *
 +
    *
 +
  *
 +
* * * * *
 +
</source><br>
 +
2. <b>1.5p</b> Escriu un programa que MULTIPLIQUI tots els números entre 1 i 130 (ambdós inclosos) que siguin múltiples de 13. Recordeu que qualsevol número multiplicat per zero és zero. L'acumulador no hauria de començar per zero.<br><br>
 +
3. <b>1.5p</b> Feu un programa que donat una llista introduïda per programa llista=[5,2,6,7,9,1,3,5,6,8,12,1,9,4] faci barres horitzontals de símbols "="(histograma) amb les quantitats. A cada línia s'imprimeix el número de caràcters indicats per la llista <b>menys un</b>. El darrer símbol sempre serà un signe major ">".<br>Al final, entre parèntesi posar el valor (quantitat de caràcters) extret de la llista.<br>Veure l'exemple:
 +
<source>
 +
====> (5)
 +
=> (2)
 +
=====> (6)
 +
======> (7)
 +
========> (9)
 +
> (1)
 +
==> (3)
 +
====> (5)
 +
=====> (6)
 +
=======> (8)
 +
===========> (12)
 +
> (1)
 +
========> (9)
 +
===> (4)
 +
</source>
 +
<br>
 +
4. <b>1.5p</b> En una seqüencia de números enters positius introduïda per teclat i acabada en -1, determinar si s’ha produït una seqüencia de 3 números consecutius tals que cadascun sigui més gran que l'anterior. Al tercer numero que compleixi, el programa dirá "Eureka" pel contrari, si s'acaba amb -1 i no  hi ha cap condició "Eureka" el programa diu "Ooooh!!". Per exemple  1,4,2,4,5===> diu "Eureka" perque 2,4 i 5 son cada vegada més grans. I 1,6,2,5,3,-1 diu Ooooh!! perque no hi ha 3 seguits i s'ha acabat en -1. <br><br>
 +
5. <b>1.5p</b>  Escriu un programa que llegeixi dos números enters positius i mostri i sumi tots els nombres imparells que van des del primer número fins el segon (ambdós inclosos). Cal controlar que el segon número introduït és més gran que el primer.<br>
 +
Exemple: num1 = 14 i num2 = 5 mostrarà un missatge d'error.<br>
 +
<source>
 +
Exemple: num1 = 3 i num2 = 11
 +
Resposta: 3 5 7 9 11
 +
</source>
 +
<br>
 +
6. <b>2.2p</b> Fer un programa que donat un text <u>introduït per teclat</u> separi les paraules en 2 llistes: en una llista les paraules que comencen per majúscula i en una altra les que comencen per minuscula. Podeu fer servir les funcions següents:
 +
  - split()
 +
  - capitalize()
 +
  - upper()
 +
  - lower()
 +
  - char().
 +
recordeu que es pot comprovar si una lletra és mes gran que una altra: "a">"A" i que les minúscules tenen un valor més gran que les majúscules
 +
 +
<!--
 +
-->

Revisió de 17:04, 11 maig 2021


Prova 1c

1. 2p Lletra Z. Farem amb asteriscs la lletra Z de la mida que ens demanin (ha de ser un numero imparell, si és parell, s'ha de donar error i no fer rés).

  En primera instància es demana "Alçada: ". Si el número introduït és parell, ha de donar un missatge i sinó fem una Z d'aquesta alçada llegida pel teclat.
Introduir núm imparell:4
Introduïr un numero imparell!
Introduir núm imparell:7
* * * * * * *
          *
        *
      *
    *
  *
* * * * * * *

recordeu que en la primera línia la posició de l'asterisc seria la darrera(7) i a la darrera línia(7), la posició sería la primera (0).

Introduir núm imparell:5
* * * * * 
      *
    *
  *
* * * * *

2. 1.5p Escriu un programa que MULTIPLIQUI tots els números entre 1 i 130 (ambdós inclosos) que siguin múltiples de 13. Recordeu que qualsevol número multiplicat per zero és zero. L'acumulador no hauria de començar per zero.

3. 1.5p Feu un programa que donat una llista introduïda per programa llista=[5,2,6,7,9,1,3,5,6,8,12,1,9,4] faci barres horitzontals de símbols "="(histograma) amb les quantitats. A cada línia s'imprimeix el número de caràcters indicats per la llista menys un. El darrer símbol sempre serà un signe major ">".
Al final, entre parèntesi posar el valor (quantitat de caràcters) extret de la llista.
Veure l'exemple:

====> (5)
=> (2)
=====> (6)
======> (7)
========> (9)
> (1)
==> (3)
====> (5)
=====> (6)
=======> (8)
===========> (12)
> (1)
========> (9)
===> (4)


4. 1.5p En una seqüencia de números enters positius introduïda per teclat i acabada en -1, determinar si s’ha produït una seqüencia de 3 números consecutius tals que cadascun sigui més gran que l'anterior. Al tercer numero que compleixi, el programa dirá "Eureka" pel contrari, si s'acaba amb -1 i no hi ha cap condició "Eureka" el programa diu "Ooooh!!". Per exemple 1,4,2,4,5===> diu "Eureka" perque 2,4 i 5 son cada vegada més grans. I 1,6,2,5,3,-1 diu Ooooh!! perque no hi ha 3 seguits i s'ha acabat en -1.

5. 1.5p Escriu un programa que llegeixi dos números enters positius i mostri i sumi tots els nombres imparells que van des del primer número fins el segon (ambdós inclosos). Cal controlar que el segon número introduït és més gran que el primer.
Exemple: num1 = 14 i num2 = 5 mostrarà un missatge d'error.

Exemple: num1 = 3 i num2 = 11
Resposta: 3 5 7 9 11


6. 2.2p Fer un programa que donat un text introduït per teclat separi les paraules en 2 llistes: en una llista les paraules que comencen per majúscula i en una altra les que comencen per minuscula. Podeu fer servir les funcions següents:

 - split()
 - capitalize()
 - upper()
 - lower()
 - char().
recordeu que es pot comprovar si una lletra és mes gran que una altra: "a">"A" i que les minúscules tenen un valor més gran que les majúscules