Diferència entre revisions de la pàgina «M3 - Programació bàsica»

De wikiserver
Dreceres ràpides: navegació, cerca
(Controls)
(135 revisions intermèdies per 4 usuaris que no es mostren)
Línia 3: Línia 3:
  
 
===UNITAT FORMATIVA 1: Programació estructurada===
 
===UNITAT FORMATIVA 1: Programació estructurada===
 +
<!--
 +
 +
[[ASIX-M3-RUF1-Proves Estructures de control|RPUF1-Estructures de control]]
 +
 +
[[ASIX-M3-UF1-Proves Tipus de dades estructurades|PUF1-Tipus de dades estructurades]]
 +
 +
[[ASIX-M3-UF1-Proves Tipus de dades estructurades 2023|PUF1-Tipus de dades estructurades]]
 +
 +
[[ASIX-M3-UF1-Recuperació Extraordinària|PUF1-Recuperació Extraordinària]]
 +
  
 +
[[ASIX-M3-RUF1-Proves Estructures de control|RPUF1-Estructures de control]]
  
 +
[[ASIX-M3-UF1-Proves Tipus de dades estructurades 2023|PUF1-Tipus de dades estructurades]]
 +
-->
 
:*[[ASIX-M3-UF1-A1|A1. Elements d'un programa informàtic]]  
 
:*[[ASIX-M3-UF1-A1|A1. Elements d'un programa informàtic]]  
  
Línia 23: Línia 36:
 
::*[[ASIX-M3-UF1-A2.6-Exercicis estructura iterativa: cerca|A2.6 Exercicis estructura iterativa: cerca]]  / [[ASIX-M3-UF1-A2.6-Solucions Exercicis estructura iterativa: cerca|Solucions]]
 
::*[[ASIX-M3-UF1-A2.6-Exercicis estructura iterativa: cerca|A2.6 Exercicis estructura iterativa: cerca]]  / [[ASIX-M3-UF1-A2.6-Solucions Exercicis estructura iterativa: cerca|Solucions]]
  
:*A3. Prova pràctica Pp1
+
:*A3. Prova pràctica Pp1<!---->
<!---->
+
 
:*[[ASIX-M3-UF1-A4|A4. Tipus de dades seqüencials]] <!-- -- Pràctica Pt1-->
+
:*[[ASIX-M3-UF1-A4|A4. Tipus de dades estructurats]]  
  
 
::*[[ASIX-M3-UF1-A4.1-Exercicis cadenes|A4.1 Exercicis cadenes]] / [[ASIX-M3-UF1-A4.1- Solucions Exercicis cadenes|Solucions]]
 
::*[[ASIX-M3-UF1-A4.1-Exercicis cadenes|A4.1 Exercicis cadenes]] / [[ASIX-M3-UF1-A4.1- Solucions Exercicis cadenes|Solucions]]
Línia 33: Línia 46:
 
::*[[ASIX-M3-UF1-A4.3-Exercicis diccionaris|A4.3 Exercicis diccionaris]] / [[ASIX-M3-UF1-A4.3- Solucions Exercicis diccionaris|Solucions]]
 
::*[[ASIX-M3-UF1-A4.3-Exercicis diccionaris|A4.3 Exercicis diccionaris]] / [[ASIX-M3-UF1-A4.3- Solucions Exercicis diccionaris|Solucions]]
  
::*[[ASIX-M3-UF1-A4.4-Exercicis tuples|A4.4 Exercicis tuples]] <!-- / [[ASIX-M3-UF1-A4.4- Solucions Exercicis tuples|Solucions]]-->
+
::*[[ASIX-M3-UF1-A4.4-Exercicis tuples|A4.4 Exercicis tuples]] / [[ASIX-M3-UF1-A4.4- Solucions Exercicis tuples|Solucions]]
 +
 
 +
::*[[ASIX-M3-UF1-A4.5-Exercicis classes|A4.5 Exercicis classes]] / [[ASIX-M3-UF1-A4.5- Solucions Exercicis classes|Solucions]]
  
 
:*A5. Prova pràctica Pp2
 
:*A5. Prova pràctica Pp2
 +
 +
::'''Nota UF1''' = 10% QA1 + 45% (Pp i Pt)A2 + 45% (Pp i Pt)A4 <!---->
 +
<!---->
 +
====Pràctiques====
 
<!--
 
<!--
::'''Nota UF1''' = 45% Pp1 + 45% Pp2 + 10% Pt1
+
::*[[ASIX-M3-UF1-A6-Exercicis ampliació|A6. Exercicis ampliacio]] / [[ASIX-M3-UF1-A6- Solucions Exercicis ampliació|Solucions]]
 
-->
 
-->
 +
'''Pràctica 1'''
 +
 +
Una central distribueix cal cap a diferents sucursals. Disposen d'un lloc de càrrega a on van arribant sacs amb pesos variables. L'empresa disposa d'una flota de camions amb capacitat de càrrega diferents. Es pretén establir un protocol consistent en carregar 20 camions. Un camió no es pot carregar amb més quilos que la seva capacitat i marxarà si amb el següent sac ja supera aquesta capacitat.  L'empresa  vol  un  programa  que  li  demani  el  treballador  la capacitat del camió i el pes dels sacs, indicant si ha de carregar el sac o enviar-lo al seu destí i començar a carregar un altre. El procés continua fins que s'hagin omplert els 20 camions, moment en el que  sortirà un missatge amb el text "Finalitzada la càrrega del dia"
 +
 +
Exemple:
 +
<pre>
 +
Camió Capacitat Sac Capacitat      Camió Capacitat Sac Capacitat      Camió Capacitat Sac Capacitat
 +
     
 +
    1    22000    1    3000            2    18000    5    3000            3    18000    7    9000
 +
                  2    5000                          6    8000                          8    7000
 +
                  3    9000
 +
                  4    3000
 +
 +
    4    20000    9    7000            5    28000  12    5000            6    20000  16    4000
 +
                10    9000                        13    9000                        17    3000
 +
                11    4000                        14    9000                        18    5000
 +
                                                    15    3000                        19    4000
 +
                                                                                        20    3000
 +
 +
    7    22000  21    4000            8    18000  26    9000            9    20000  28    8000
 +
                22    5000                        27    4000                        29    3000
 +
                23    6000                                                            30    5000
 +
                24    3000                             
 +
                25    3000
 +
 +
  10    20000  31    5000          11    20000  34    5000          12    28000  37    7000
 +
                32    3000                        35    6000                        38    3000
 +
                33    9000                        36    6000                        39    7000
 +
                                                                                        40    5000
 +
  ...               
 +
</pre>
 +
 +
Resultat:
 +
<pre>
 +
Camió    Sacs que carrega    Càrrega que portarà      Camió    Sacs que carrega    Càrrega que portarà
 +
 +
  1      1,2,3 i 4              20000                  2      5 i 6                  11000
 +
 +
  3      7 i 8                  16000                  4      9, 10 i 11              20000
 +
 +
  5      12, 13, 14 i 15        26000                  6      16, 17, 18, 19 i 20    19000
 +
 +
  7      21, 22, 23, 24 i 25    21000                  8      26 i 27                13000
 +
 +
  9      28, 29 i 30            16000                  10      31, 32 i 33            17000
 +
 +
  11      34, 35 i 36            17000                  12      37, 38, 39 i 40        22000
 +
 +
...
 +
</pre>
 +
<!--
 +
[[ASIX-M3-UF1-Proves Tipus de dades estructurades|Pràctica]]
 +
::*[[ASIX-M3-UF1- Proves UF1-NF1|ASIX-M3-UF1- Proves UF1-NF1]]
 +
-->
 +
<!--
 +
:*[[ASIX-M3-UF1-A2-Repàs estructures de control | Repàs estructures de control]]
  
 
https://gitlab.com/josedom24/curso_programacion_python3/tree/master/ejercicios/diccionarios
 
https://gitlab.com/josedom24/curso_programacion_python3/tree/master/ejercicios/diccionarios
Línia 47: Línia 122:
  
 
[[https://campus.lamerce.com/mod/resource/view.php?id=8553 Què és un Algoritme?]]
 
[[https://campus.lamerce.com/mod/resource/view.php?id=8553 Què és un Algoritme?]]
 +
-->
 +
<!--
 +
'''Pràctica 2'''
 +
 +
Crea un programa que simuli el funcionament d'una màquina escurabutxaques. Has d'aconseguir:
 +
 +
a. Inicialment, el jugador indica quants diners vol jugar.
 +
 +
b. El programa mostra tres números a l'atzar de l'1 al 5.
 +
 +
c. Si els tres números són diferents, el jugador perd tots els seus diners i la partida acaba.
 +
 +
d. Si hi surten dos números iguals, el jugador duplica l'aposta.
 +
 +
e. Si surten tres números iguals, el jugador multiplica per 5 l'aposta.
 +
 +
f. El jugador indica si vol continuar jugant o no.
 +
 +
g. En acabar la partida, el programa indica si s'ha guanyat o perdut.
 +
 +
Quina quantitat vols apostar (€)? 5
 +
---------------------
 +
Llançament: | 2 | 2 | 2 |
 +
---------------------
 +
Els tres números són iguals. Has multiplicat per cinc els teus diners.
 +
Enhorabona! Has guanyat 20.0 €. Ara tens 25.0€.
 +
</pre>
 +
<pre>
 +
Clica n per acabar, una altra tecla per tornar a jugar: s
 +
---------------------
 +
Llançament: | 2 | 2 | 1 |
 +
---------------------
 +
Dos dels tres números són iguals. Has duplicat els teus diners.
 +
Enhorabona! Has guanyat 25.0 €. Ara tens 50.0€.
 +
Clica n per acabar, una altra tecla per tornar a jugar: n
 +
Enhorabona has guanyat 45.0€.
 +
</pre>
 +
<pre>
 +
Quina quantitat vols apostar (€)? 10
 +
--------------------------------
 +
Llançament: | 5 | 4 | 3 |
 +
--------------------------------
 +
Els tres números són diferents. Has perdut tots els teus diners.
 +
Programa acabat.
 +
</pre>
 +
 +
2. '''ANEM A PEL DEU:'''. Modificarem la màquina anterior:
 +
 +
a. Inicialment, el jugador indica quants diners vol jugar.
 +
 +
b. El programa mostra tres números a l'atzar de l'1 al 5.
 +
 +
c. Si els tres números són diferents, el jugador perd tots els seus diners i la partida acaba.
 +
 +
d. Si en surt un 5, es recupera l'aposta.
 +
 +
e. Si en surten dos 5, el jugador multiplica per quatre l'aposta.
 +
 +
f. Si en surten tres 5, el jugador multiplica per deu l'aposta.
 +
 +
g. Si hi surten dos números iguals que no siguin 5, el jugador duplica l'aposta.
 +
 +
h. Si surten un 5 i dos números iguals que no siguin 5, el jugador multiplica per 3 l'aposta.
 +
 +
i. Si surten tres números iguals que no siguin cinc, el jugador multiplica per 5 l'aposta.
 +
 +
j. El jugador indica si vol continuar jugant o no.
 +
 +
k. En acabar la partida, el programa indica si s'ha guanyat o perdut.
 +
<pre>
 +
Quina quantitat vols apostar (€)? 10
 +
 +
--------------------------------
 +
Llançament: | 5 | 5 | 2 |
 +
--------------------------------
 +
N'has aconseguit dos cinc. Has multiplicat per quatre els teus diners.
 +
Enhorabona! Has guanyat 40.0 €. Ara tens 50.0€.
 +
Clica n per acabar, una altra tecla per tornar a jugar: s
 +
--------------------------------
 +
Llançament: | 4 | 5 | 3 |
 +
--------------------------------
 +
N'has aconseguit un cinc. Recuperes els teus diners.
 +
Enhorabona! Has guanyat 0,0 €. Ara tens 50.0€.
 +
Clica n per acabar, una altra tecla per tornar a jugar: s
 +
--------------------------------
 +
Llançament: | 5 | 3 | 3 |
 +
--------------------------------
 +
Has aconseguit un cinc i dos números iguals. Has multiplicat per tres els teus diners.
 +
Enhorabona! Has guanyat 100.0 €. Ara tens 150.0€.
 +
Clica n per acabar, una altra tecla per tornar a jugar: s
 +
--------------------------------
 +
Tirada: | 1 | 3 | 1 |
 +
--------------------------------
 +
Dos dels tres números són iguals. Has duplicat els teus diners.
 +
Enhorabona! Has guanyat 150.0 €. Ara tens 300.0€.
 +
Prem n per acabar, una altra tecla per tornar a jugar: n
 +
Enhorabona has guanyat 290.0€.
 +
</pre>
 +
-->
 +
<!--
 +
'''Pràctica 3'''
 +
El professorat de programació desitja realitzar el càlcul de les notes obtingudes pels alumnes al nucli formatiu 1. Tenen un total de 30 alumnes i les notes les tenen emmagatzemades en una matriu de 30 files (alumnes) i 7 columnes (activitats). La informació està en el fitxer adesNotes.java
 +
 +
Es vol conèixer:
 +
 +
:*Nota final del NF1 per a cada alumne. Per fer el càlcul suposem:
 +
<pre>
 +
    Nota NF1 = 0.1 Pt1+ 0.1 Pt2 + 0.25 Pe1 + 0.1 Pt3+ 0.1 Pt4 +0.1 Pt5+ 0.25 Pe2
 +
</pre>
 +
:*Nota mitjana de cada activitat avaluada
 +
:*La nota més alta de cada activitat avaluada
 +
:*La nota final més alta
 +
:*La nota més alta entre totes les activitats.
 +
 +
Com a resultat final, es desitja realitzar un llistat amb el següent format (més o menys, tampoc perdeu massa temps amb qüestions estètiques):
 +
 +
[[Imatge:m3uf1_extaules_1.png |600px|center| Ex_Taules]]
 +
 +
 +
::::::::'''La nota més alta de totes les activitats és:'''
 +
 +
 +
:* Podeu utilitzar les següents dades:
 +
<pre>
 +
notes= [
 +
            [1.24, 6.53, 7.05, 2.87, 6.86, 5.97, 4.31],
 +
            [2.11, 5.59, 9.00, 8.28, 7.43, 0.68, 4.19],
 +
            [8.82, 4.34, 3.15, 2.74, 1.10, 6.84, 4.46],
 +
            [5.38, 6.34, 5.74, 7.79, 6.34, 9.33, 0.31],
 +
            [2.27, 3.58, 2.92, 0.67, 4.65, 4.88, 2.19],
 +
            [6.59, 9.19, 7.63, 6.74, 5.01, 0.45, 9.50],
 +
            [5.95, 4.51, 0.88, 5.67, 9.07, 8.94, 2.14],
 +
            [7.97, 5.67, 7.31, 8.52, 3.93, 1.21, 9.45],
 +
            [2.61, 0.37, 2.59, 9.47, 4.27, 5.54, 4.85],
 +
            [5.91, 3.22, 6.43, 6.83, 7.35, 7.02, 5.13],
 +
            [9.43, 7.54, 0.59, 8.49, 9.70, 9.76, 5.20],
 +
            [1.62, 6.51, 1.91, 5.07, 1.32, 0.79, 2.05],
 +
            [1.52, 9.55, 5.43, 0.15, 6.22, 6.90, 1.40],
 +
            [2.28, 1.21, 8.67, 1.90, 3.84, 5.37, 4.52],
 +
            [2.52, 9.69, 5.32, 8.88, 3.00, 3.88, 6.99],
 +
            [2.18, 2.13, 1.32, 3.50, 9.93, 2.65, 2.85],
 +
            [6.67, 5.25, 0.05, 8.32, 1.84, 3.04, 5.76],
 +
            [8.37, 3.80, 4.51, 4.48, 2.88, 4.82, 8.78],
 +
            [8.62, 8.82, 1.22, 5.22, 8.55, 6.76, 2.25],
 +
            [7.59, 9.65, 5.71, 9.23, 5.70, 9.84, 7.77],
 +
            [3.74, 4.60, 7.58, 5.55, 0.09, 8.18, 6.54],
 +
            [0.21, 3.88, 1.03, 8.38, 2.71, 9.80, 8.57],
 +
            [8.24, 3.10, 3.41, 1.27, 9.94, 3.99, 0.51],
 +
            [9.88, 4.24, 1.49, 7.51, 0.28, 3.61, 5.07],
 +
            [8.54, 1.68, 1.61, 8.16, 6.59, 6.25, 7.67],
 +
            [4.55, 3.11, 9.75, 5.91, 1.42, 1.63, 8.65],
 +
            [2.54, 4.37, 2.45, 0.95, 4.71, 7.41, 6.75],
 +
            [2.11, 2.89, 0.76, 1.86, 3.63, 2.64, 5.43],
 +
            [1.02, 1.97, 9.37, 5.38, 3.19, 1.09, 0.18],
 +
            [0.39, 0.23, 5.15, 1.66, 1.66, 3.91, 6.96]]
 +
</pre>
 +
;*'''Resultat:'''
 +
 +
[[Imatge:m3uf1_sol_ex_taules_1.png |600px|center| Sol_Ex_Taules]]
 +
-->
  
 
===UNITAT FORMATIVA 2: Disseny modular===
 
===UNITAT FORMATIVA 2: Disseny modular===
Línia 104: Línia 339:
  
 
[https://github.com/josedom24/python_for_admin Exercicis per administradors]
 
[https://github.com/josedom24/python_for_admin Exercicis per administradors]
 +
 
<!--
 
<!--
 
[https://inventwithpython.com/es/ jocs]
 
[https://inventwithpython.com/es/ jocs]
 +
-->
 +
<!--
 +
[[ASIX-M3-UF1-Recuperació Extraordinària|Prova]]
 
-->
 
-->
  
[[ASIX-M3-UF1-Banc de Solucions|BSUF1]]
 
 
<!---->
 
<!---->
 +
==Controls==
 +
 +
===Estructura Seqüencial===
 +
 +
En un centre educatiu hi ha tres departaments: Informàtica, Automoció i Electrònica.
 +
 +
Feu un programa que indiqui quin és el pressupost que li correspon a cada departament, tenint en compte el següents passos:
 +
 +
:- Demaneu el pressupost del centre educatiu.
 +
:- Demaneu el % que li correspon al departament d'informàtica i al departament d'automoció.
 +
:- Calculeu quin % li correspon al departament d'electrònica (la resta fins arribar al 100%).
 +
:- Calculeu i mostrar el pressupost que li correspon a cada departament, atenent a les dades introduïdes.
 +
 +
* Cal que comenteu el programa convenientment.
 +
 +
===Estructura alternativa===
 +
 +
Feu un programa per calcular el preu final de venda dels productes d’un mercat.
 +
 +
El programa ha de demanar la '''clau del producte''' del qual es vol calcular el preu final. Les possibles claus
 +
de productes son:
 +
 +
:*‘F’: per els productes que són fruites
 +
:*‘V’: per els productes que són verdures
 +
:*‘L’: per els productes que són làctics
 +
 +
Si la clau introduïda no està en el llistat anterior, el programa ha de mostrar a l’usuari el següent error:
 +
:‘Valor no vàlid’
 +
 +
Si la clau introduïda està en el llistat, aleshores, ha demanar a l’usuari el '''preu de l’article''' i el '''dia de la setmana''' per tal de calcular i mostrar el preu final del producte aplicant el corresponent descompte utilitzant els següents criteris:
 +
 +
:1. Els dilluns tenen un 10% de descompte els productes que són làctics
 +
:2. Els dimarts tenen un 20% de descompte els productes que són fruites
 +
:3. Els cap de setmana tenen un 30% de descompte tots els productes
 +
:4. La resta de dies no hi ha descomptes
 +
 +
''Recordeu: Utilitzeu comentaris i poseu nombre a les variables per tal que els vostres programes siguin el més llegibles possibles.''
 +
 +
===Estructura iterativa===
 +
 +
Ex 1. Feu un programa que demani un número i mostri la taula de multiplicar d'aquest número. Per exemple si el usuari introdueix el valor 5, mostrarà:
 +
 +
<pre>
 +
    5 * 1 = 5
 +
    5 * 2 = 10
 +
    5 * 3 = 15
 +
    5 * 4 = 20
 +
    5 * 5 = 25
 +
    5 * 6 = 30
 +
    5 * 7 = 35
 +
    5 * 8 = 40
 +
    5 * 9 = 45
 +
    5 * 10 = 50   
 +
</pre>
 +
'''4 punts'''
 +
 +
 +
Ex2. Feu un programa que demani el límit inferior i superior d'un interval. Si el límit inferior es major que el superior ho a de tornar a demanar fins que sigui correcte. A continuació es demanaren nombres fins que s'introdueixi el número 0. El programa ha de mostrar la següent informació:
 +
 +
:* Suma de tots el nombres que es trobin dins del interval (sense incloure els límits).
 +
:* Quants nombres es troben fora del interval
 +
:* Cal indicar si s'ha introduït algun nombre igual als límits del interval.
 +
 +
'''4 punts'''
 +
 +
 +
Ex Extra. Fer el següent dibuix d'asteriscos per un valor imparell i més gran o igual a 9. Per exemple si l'usuari introdueix el valor 9, mostrarà:
 +
<pre>
 +
    *      *      *                *      *      *                        *           
 +
      *    *    *                    *    *    *                          *     
 +
        *  *  *                        *  *  *                        *  *  * 
 +
          * * *                            * * *                            * * *   
 +
    * * * * * * * * *                * * * * o * * * *                * * * * o * * * *
 +
          * * *                            * * *                            * * * 
 +
        *  *  *                        *  *  *                        *  *  *   
 +
      *    *    *                    *    *    *                          *       
 +
    *      *      *                *      *      *                        *   
 +
 +
    1 punt                            2 punts                          3 punts
 +
</pre>
 +
 +
===Prova pràctica UF1 NF1===
 +
 +
'''''IMPORTANT:
 +
 +
- Heu de fer i lliurar només 3 exercicis
 +
- Cal que comenteu tots els exercicis.'''''
 +
 +
1. Fes un programa que demani dos números i mostri el següent:
  
[[ASIX-M3-UF2-Banc de Solucions|BSUF2]]
+
'''10 punts i 12 amb ordenació del nombres d'entrada (El nombre més gran indica el número de files)'''                                                                                                                             
<!---->
+
       
<!--
+
      Ex. 5 i 8                            Ex. 7 i 3
[[ASIX-M3-UF3-Banc de Solucions|BSUF3]]
+
    1 2 3 4 * 6 7 * 9                    1 2 * 4 5 6 * 8 9   
-->
+
    * * * * 5 * * 8 *                    * * 3 * * * 7 * *   
<!--
+
    1 2 3 4 * 6 7 * 9                    1 2 * 4 5 6 * 8 9
/ [[ASIX-M3-UF1-A2.1- Solucions Exercicis estructura alternativa|Solucions]]
+
    * * * * 5 * * 8 *                    * * 3 * * * 7 * *
/ [[ASIX-M3-UF2-A1.1- Solucions Exercicis disseny descendent|Solucions]]
+
    1 2 3 4 * 6 7 * 9                    1 2 * 4 5 6 * 8 9
/ [[ASIX-M3-UF2-A3.1- Solucions Exercicis recursivitat|Solucions]]
+
    * * * * 5 * * 8 *                    * * 3 * * * 7 * *
-->
+
    1 2 3 4 * 6 7 * 9                    1 2 * 4 5 6 * 8 9           
<!--
+
    * * * * 5 * * 8 *
/ [[ASIX-M3-UF2-A1.2-Pràctiques disseny descendent|A1.2 Pràctiques disseny descendent]]
+
 
-->
+
     
 +
 
 +
2. Fes un programa que demani un número de línies (més gran que 4 i imparell) i "dibuixi" la lletra 'E' (en l'exemple el número és 7)                                           
 +
 
 +
'''8 punts versió 1. 10 punts versió 2'''
 +
<pre>
 +
  * * * * * * *          * * * * * * *
 +
  *                      *
 +
  *                      *
 +
  * * * * * * *          * * * *
 +
  *                      *
 +
  *                      *
 +
  * * * * * * *          * * * * * * *
 +
 
 +
  versió 1                versió 2 
 +
</pre>
 +
 
 +
 
 +
3. En una seqüència de números enters positius acabada en -1, mostrar els números que són més grans a tots els els els precedeixen:
 +
 
 +
'''10 punts'''
 +
 
 +
'''Exemple:'''
 +
 
 +
10  7  9  3  23  9  55  110  2  11  12  245 33  415  56  77 -1 → '''10  23  55 110  245 415'''
 +
 
 +
4. En una seqüència de números enters positius acabada en -1, indica si s’ha produït que un número es suma de tots els anteriors. Òbviament, el programa ha de finalitzar quan es compleix:
 +
 
 +
'''10 punts'''
  
====
+
'''Exemple:'''
  
 +
3  7  8  3  22  9  11  '''63 → Sí'''
  
[[ASIX-M3-UF1-Proves|BPUF1]]
+
3  7  3  9  34  71  14  89  115  200  324  58  '''-1 → No'''
 
<!---->
 
<!---->
<!--
 
[[ASIX-M3-UF2-Proves|BPUF2]]
 
-->
 
<!--
 
[[ASIX-M3-UF3-Proves|BPUF3]]
 
-->
 

Revisió del 20:04, 13 feb 2024

Perquè un Administrador de Sistemes necessita aprendre a programar? i perquè Python és un bon llenguatge de programació per a Administradors de Sistemes?

UNITAT FORMATIVA 1: Programació estructurada

  • A3. Prova pràctica Pp1
  • A5. Prova pràctica Pp2
Nota UF1 = 10% QA1 + 45% (Pp i Pt)A2 + 45% (Pp i Pt)A4

Pràctiques

Pràctica 1

Una central distribueix cal cap a diferents sucursals. Disposen d'un lloc de càrrega a on van arribant sacs amb pesos variables. L'empresa disposa d'una flota de camions amb capacitat de càrrega diferents. Es pretén establir un protocol consistent en carregar 20 camions. Un camió no es pot carregar amb més quilos que la seva capacitat i marxarà si amb el següent sac ja supera aquesta capacitat. L'empresa vol un programa que li demani el treballador la capacitat del camió i el pes dels sacs, indicant si ha de carregar el sac o enviar-lo al seu destí i començar a carregar un altre. El procés continua fins que s'hagin omplert els 20 camions, moment en el que sortirà un missatge amb el text "Finalitzada la càrrega del dia"

Exemple:

 Camió Capacitat Sac Capacitat       Camió Capacitat Sac Capacitat       Camió Capacitat Sac Capacitat
       
    1    22000    1     3000            2    18000    5     3000            3    18000    7    9000
                  2     5000                          6     8000                          8    7000
                  3     9000
                  4     3000

    4    20000    9     7000            5    28000   12     5000            6    20000   16    4000
                 10     9000                         13     9000                         17    3000
                 11     4000                         14     9000                         18    5000
                                                     15     3000                         19    4000
                                                                                         20    3000

    7    22000   21     4000            8    18000   26     9000            9    20000   28    8000
                 22     5000                         27     4000                         29    3000
                 23     6000                                                             30    5000
                 24     3000                              
                 25     3000

   10    20000   31     5000           11    20000   34     5000           12    28000   37    7000
                 32     3000                         35     6000                         38    3000 
                 33     9000                         36     6000                         39    7000
                                                                                         40    5000
   ...                 

Resultat:

 Camió    Sacs que carrega    Càrrega que portarà       Camió    Sacs que carrega    Càrrega que portarà

   1      1,2,3 i 4               20000                   2      5 i 6                   11000

   3      7 i 8                   16000                   4      9, 10 i 11              20000

   5      12, 13, 14 i 15         26000                   6      16, 17, 18, 19 i 20     19000

   7      21, 22, 23, 24 i 25     21000                   8      26 i 27                 13000

   9      28, 29 i 30             16000                  10      31, 32 i 33             17000

  11      34, 35 i 36             17000                  12      37, 38, 39 i 40         22000

...

UNITAT FORMATIVA 2: Disseny modular

  • A4. Prova pràctica

https://uniwebsidad.com/libros/algoritmos-python/capitulo-6/nuestro-primer-juego

UNITAT FORMATIVA 3: Fonaments de gestió de fitxers

  • A3. Prova pràctica

Enllaços

Python Basics

Llibre Introducció a la programació amb Python3

Apunts Pythons

Documentació Python versions

Informació del Sistema amb Python

Exercicis resolts

+ Exercicis resolts

Exercicis per administradors


Controls

Estructura Seqüencial

En un centre educatiu hi ha tres departaments: Informàtica, Automoció i Electrònica.

Feu un programa que indiqui quin és el pressupost que li correspon a cada departament, tenint en compte el següents passos:

- Demaneu el pressupost del centre educatiu.
- Demaneu el % que li correspon al departament d'informàtica i al departament d'automoció.
- Calculeu quin % li correspon al departament d'electrònica (la resta fins arribar al 100%).
- Calculeu i mostrar el pressupost que li correspon a cada departament, atenent a les dades introduïdes.
  • Cal que comenteu el programa convenientment.

Estructura alternativa

Feu un programa per calcular el preu final de venda dels productes d’un mercat.

El programa ha de demanar la clau del producte del qual es vol calcular el preu final. Les possibles claus de productes son:

  • ‘F’: per els productes que són fruites
  • ‘V’: per els productes que són verdures
  • ‘L’: per els productes que són làctics

Si la clau introduïda no està en el llistat anterior, el programa ha de mostrar a l’usuari el següent error:

‘Valor no vàlid’

Si la clau introduïda està en el llistat, aleshores, ha demanar a l’usuari el preu de l’article i el dia de la setmana per tal de calcular i mostrar el preu final del producte aplicant el corresponent descompte utilitzant els següents criteris:

1. Els dilluns tenen un 10% de descompte els productes que són làctics
2. Els dimarts tenen un 20% de descompte els productes que són fruites
3. Els cap de setmana tenen un 30% de descompte tots els productes
4. La resta de dies no hi ha descomptes

Recordeu: Utilitzeu comentaris i poseu nombre a les variables per tal que els vostres programes siguin el més llegibles possibles.

Estructura iterativa

Ex 1. Feu un programa que demani un número i mostri la taula de multiplicar d'aquest número. Per exemple si el usuari introdueix el valor 5, mostrarà:

    5 * 1 = 5
    5 * 2 = 10
    5 * 3 = 15
    5 * 4 = 20
    5 * 5 = 25
    5 * 6 = 30
    5 * 7 = 35
    5 * 8 = 40
    5 * 9 = 45
    5 * 10 = 50    

4 punts


Ex2. Feu un programa que demani el límit inferior i superior d'un interval. Si el límit inferior es major que el superior ho a de tornar a demanar fins que sigui correcte. A continuació es demanaren nombres fins que s'introdueixi el número 0. El programa ha de mostrar la següent informació:

  • Suma de tots el nombres que es trobin dins del interval (sense incloure els límits).
  • Quants nombres es troben fora del interval
  • Cal indicar si s'ha introduït algun nombre igual als límits del interval.

4 punts


Ex Extra. Fer el següent dibuix d'asteriscos per un valor imparell i més gran o igual a 9. Per exemple si l'usuari introdueix el valor 9, mostrarà:

    *       *       *                *       *       *                        *             
      *     *     *                    *     *     *                          *      
        *   *   *                        *   *   *                        *   *   *   
          * * *                            * * *                            * * *    
    * * * * * * * * *                * * * * o * * * *                * * * * o * * * * 
          * * *                            * * *                            * * *   
        *   *   *                        *   *   *                        *   *   *    
      *     *     *                    *     *     *                          *         
    *       *       *                *       *       *                        *    

     1 punt                             2 punts                           3 punts

Prova pràctica UF1 NF1

IMPORTANT:

- Heu de fer i lliurar només 3 exercicis 
- Cal que comenteu tots els exercicis.

1. Fes un programa que demani dos números i mostri el següent:

10 punts i 12 amb ordenació del nombres d'entrada (El nombre més gran indica el número de files)

     Ex. 5 i 8                            Ex. 7 i 3
   1 2 3 4 * 6 7 * 9                    1 2 * 4 5 6 * 8 9    
   * * * * 5 * * 8 *                    * * 3 * * * 7 * *     
   1 2 3 4 * 6 7 * 9                    1 2 * 4 5 6 * 8 9 
   * * * * 5 * * 8 *                    * * 3 * * * 7 * * 
   1 2 3 4 * 6 7 * 9                    1 2 * 4 5 6 * 8 9 
   * * * * 5 * * 8 *                    * * 3 * * * 7 * * 
   1 2 3 4 * 6 7 * 9                    1 2 * 4 5 6 * 8 9            
   * * * * 5 * * 8 * 


2. Fes un programa que demani un número de línies (més gran que 4 i imparell) i "dibuixi" la lletra 'E' (en l'exemple el número és 7)

8 punts versió 1. 10 punts versió 2

   * * * * * * *           * * * * * * *
   *                       *
   *                       *
   * * * * * * *           * * * * 
   *                       *
   *                       *
   * * * * * * *           * * * * * * * 

   versió 1                versió 2  


3. En una seqüència de números enters positius acabada en -1, mostrar els números que són més grans a tots els els els precedeixen:

10 punts

Exemple:

10 7 9 3 23 9 55 110 2 11 12 245 33 415 56 77 -1 → 10 23 55 110 245 415

4. En una seqüència de números enters positius acabada en -1, indica si s’ha produït que un número es suma de tots els anteriors. Òbviament, el programa ha de finalitzar quan es compleix:

10 punts

Exemple:

3 7 8 3 22 9 11 63 → Sí

3 7 3 9 34 71 14 89 115 200 324 58 -1 → No