Tuesday, January 22, 2019

Add One Second

Write a program that adds one second to a clock time, given its hours, minutes and seconds.

Input : Input consists of three natural numbers h, m and s that represent a clock time, that is, such that h<24, m<60 and s<60.

Output : Print the new clock time defined by h, m and s plus one second in the format “HH:MM:SS”.

#include <iostream>
using namespace std;

int main () { 
    int h, m, s;
    cin >> h >> m >> s;
    
    if (s==59) { m = m+1, s=0;
    }
    else s = s+1;
    
    if (m==60) { m=0, h=h+1;
    }
    
    if (h==24) h=0;
    
    if (h<10) cout << "0" << h << ":";
    else cout << h << ":";
    
    if (m<10) cout << "0" << m << ":";
    else cout << m << ":";
    
    if (s<10) cout << "0" << s << endl;
    else cout << s << endl;
    
    
}

How many seconds are they?

Write a program that converts to seconds a given amount of years, days, hours, minutes and seconds.

Input : The input consists of five natural numbers that represent the years, days, hours, minutes and seconds, respectively.

Output : Write the total number of seconds represented by the input.

Observation : You may assume all the years have 365 days.

#include <iostream>
using namespace std;

int main () { 
    int a, d, h, m, s;
    cin >> a >> d >> h >> m >> s;
    a = a*365*24*3600;
    d= d*86400;
    h=h*3600;
    m=m*60;
    
    int segons;
    segons= a+d+h+m+s;
    cout << segons << endl;
}

Integer division and remainder of an integer number by a natural number

Write a program that reads an integer number a and a natural number b, with b > 0, and prints the integer division d and the remainder r of a divided by b.

Remember that, by definition, d i r must be the only integer numbers such that 0 ≤ r < b and d · b + r = a.

Input : Input consists of a and b, with b > 0.

Output : Print a line with the integer division and the remainder of a divided by b, separated by a space.

#include <iostream>
using namespace std;

int main () {
    int a, b;
    cin >> a >> b;
    
    int d, r;
    if (a%b < 0) {
        r= (a%b) +b ;
        d= a/b -1 ;
        cout << d << " " << r << endl;
    }
    
    else {
        d=a/b;
        r=a-b*d;
        cout << d << " " << r << endl;
    }
    
}

Intervals 3

Write a program that, given two intervals, tells if one is inside the other, and computes the interval corresponding to their intersection, or tells that it is empty.

Input : Input consists of four integer numbers a1, b1, a2, b2 that represent the intervals [a1,b1] and [a2,b2]. Assume a1≤ b1 and a2≤ b2.

Output : Print ‘=’ if the intervals are equal, ‘1’ if the first is inside the second (but they are not equal), ‘2’ if the second is inside the first (but they are not equal), or ‘?’ otherwise. Also, print “[]” if the intersection is empty, or “[x,y]” if this is their non-empty intersection.

#include <iostream>
using namespace std;

int main () {
    int a, b, c, d;
    cin >> a >> b >> c >> d;
    
   // Print ‘=’ if the intervals are equal, 
   //‘1’ if the first is inside the second (but they are not equal), 
   //‘2’ if the second is inside the first (but they are not equal), 
    // or ‘?’ otherwise.
    
    if (a == c and b == d) cout << "= , "<< "[" << a << "," << b << "]" << endl;
    else {
        
        if ((a >= c and b < d) or (a > c and b <= d)) cout << "1 , "<< "[" << a << "," << b << "]" << endl;
        
        else {
            
            if ((a <= c and b > d) or (a < c and b >= d)) cout << "2 , "<< "[" << c << "," << d << "]" << endl;
            
            else {
                if (a == d) cout << "? , "<< "[" << a << "," << d << "]" << endl;
                else {
                    
                    if (b == c) cout << "? , "<< "[" << b << "," << c << "]" << endl;
                    
                    else {
                        
                        if (c>=a and c<=b and d>=b)  cout << '?' << ' ' << ',' << ' ' << '[' << c << ',' << b << ']' << endl;
                        
                        else {
                            
                            if (a>=c and a<=d and d<=b)  cout << '?' << ' ' << ',' << ' ' << '[' << a << ',' << d << ']' << endl;
                            
                            else {
                                
                                if (d>=a and d<=b and c<=a)  cout << '?' << ' ' << ',' << ' ' << '[' << a << ',' << d << ']' << endl;
                                
                                else  cout << "? , "<< "[]" << endl;
                            }
                        }
                    }
                }
            }
        }
    }
}

Intervals 2

Write a program that, given two intervals, tells if one is inside the other.

Input : Input consists of four integer numbers a1, b1, a2, b2 that represent the intervals [a1,b1] and [a2,b2]. Assume a1≤ b1 and a2≤ b2.

Output : Print ‘=’ if the intervals are equal, ‘1’ if the first is inside the second (but they are not equal), ‘2’ if the second is inside the first (but they are not equal), or ‘?’ otherwise.

#include <iostream>
using namespace std;

int main () {
    int a, b, c, d;
    cin >> a >> b >> c >> d;
    
   // Print ‘=’ if the intervals are equal, 
   //‘1’ if the first is inside the second (but they are not equal), 
   //‘2’ if the second is inside the first (but they are not equal), 
    // or ‘?’ otherwise.
    
    if (a == c and b == d) cout << "=" << endl;
    else {
        
        if ((a >= c and b < d) or (a > c and b <= d)) cout << "1" << endl;
        
        else {
            
            if ((a <= c and b > d) or (a < c and b >= d))cout << "2" << endl;
            
            else 
                            cout << "?" << endl;
        }
    }
}

Intervals 1

Write a program that, given two intervals, computes the interval corresponding to their intersection, or tells that it is empty.

Input : Input consists of four integer numbers a1, b1, a2, b2 that represent the intervals [a1,b1] and [a2,b2]. Assume a1≤ b1 and a2≤ b2.

Output : Print “[]” if their intersection is empty, or “[x,y]” if this is their non-empty intersection.

#include <iostream>
using namespace std;

int main () {
    int a, b, c, d;
    cin >> a >> b >> c >> d;
    
    if (c>b and c>a) cout << "[" << "]" << endl;
    else if (c < a and d < a) cout << "[]" << endl;
    
    else if (a >= c) {
        if (b >= d) {
            cout << "[" << a << "," << d << "]" << endl;
        }
        else {
            cout << "[" << a << "," << b << "]" << endl;
        }
    }
    else {
        if (b >= d) cout << "[" << c << "," << d << "]" << endl;
        else cout << "[" << c << "," << b << "]" << endl;
    }
}

Classification of characters

Write a program that reads a letter, and that tells if it is an uppercase letter or a lowercase letter, and that also tells if it is a vowel or a consonant. Here, assume that the vowels are ‘a’, ‘e’, ‘i’, ‘o’ and ‘u’, and their corresponding uppercase letters.

Input : Input consists of a letter.

Output : Tell if the letter is uppercase or lowercase, and also tell if it is a vowel or a consonant.

#include <iostream> 
using namespace std;

int main (){
    char c;
    cin >> c;
    if (c >= 'a' and c <= 'z' )cout << "lowercase" << endl; 
    else cout << "uppercase" << endl; 
    
    if ((c == 'a' or c == 'e' or c == 'i' or c == 'o' or c == 'u') or (c == 'A' or c == 'E' or c == 'I' or c == 'O' or c == 'U')) cout << "vowel" << endl;
    else cout << "consonant" << endl;
}

Uppercase and lowercase letters

Write a program that reads a letter and prints it in lowercase if it was uppercase, or prints it in uppercase if it was lowercase.
Input : Input consists of a letter.
Output : Print a line with the given letter in lowercase if it was uppercase, or in uppercase if it was lowercase.
#include <iostream>
using namespace std;

int main () {
    char c, nueva;
    cin >> c;
    if (c>='a' and c<='z') nueva= c-32;
    else nueva = c+32;
    cout << nueva << endl;
}

Sum of the minimum and the maximum of three integers

Write a program that reads three numbers and prints the sum of their minimum and maximum values. 
Input : Input consists of three integer numbers.
Output : Print a line with the sum of the maximum and the minimum of the three numbers.
#include <iostream>
using namespace std;

int main() {
    int l, m, n;
    cin >> l >> n >> m;
    int max, min;
    if (n < l and n < m) min = n;
    else if (m < n and m < l) min = m;
    else min = l;
    
    
    if (n > l and n > m) max = n;
    else if (m > n and m > l) max = m;
    else max = l;
    
    cout << max+min << endl;
}

Minimum of three different integers

Write a program that reads three numbers and prints their minimum.

Input: Input consists of three different integer numbers.

Output : Print a line with the minimum of the three numbers.

#include <iostream>
using namespace std;

int main() {
    int l, m, n;
    cin >> l >> n >> m;
    if (n < l and n < m) cout << n << endl;
    else if (m < n and m < l) cout << m << endl;
    else cout << l << endl;
}

Minimum of two integers


Write a program that reads two numbers and prints their minimum.

Input: Input consists of two integer numbers.

Output: Print a line with the minimum of the two numbers.

Solution :


#include <iostream>
using namespace std;

int main() {
    int n,m;
    cin >> n >> m;
    if (n < m) cout << n << endl;
    else cout << m << endl;
}

Hello and Bye!

Write a program that prints a line with the message “Hello and Bye!”.

Input : There is not input: the program does not read anything.

Output : Print exactly the required text in a line.
#include <iostream>
using namespace std;

int main() {
    cout << "Hello and Bye!" << endl;
}

Tuesday, January 15, 2019

TREBALL I SALUT



1.  Assenyala, en cada situació, si es tracta d’una malaltia professional o d’un accident de treball i de quin tipus:
    ·        Un delegat de personal és atropellat quan es dirigia del seu centre de treball a una papereria per fotocopiar uns fullets informatius sobre la propera vaga general.

-       Es tracta d’un accident de treball de tipus in intinere.

·        Lesió ocular per introducció d’un fragment mentre soldava metall.

-       Un accident laboral de tipus que pateixen els representants de l’empresa en el moment de realitzar les seves funcions.

·        Silicosi d’una persona que ha treballat en mines de plom.

-       Es tracta d’una malaltia professional.

·        Un accident de trànsit, que té un advocat d’empresa, quan va des del despatx fins als jutjats, per representar l'empresa en un judici.

-       Un accident laboral de tipus que pateix el treballador fora del seu lloc de treball habitual, però per un canvi produït per l’empresari.

·        Hipoacúsia causada per treballs de caldereria.

-       Una malaltia professional.

·        Trencament de la cama dreta per una caiguda a les escales del metro, quan anava a la feina.

-       Un accident laboral de tipus in intinere.

2.    Quina és la millor manera d’evitar els danys professionals?

-  La adopció de tècniques preventives es la major forma d’evitar els danys professionals.

3.  En David treballa a l’aeroport de Barcelona. S’encarrega del manteniment de les pistes d’aterratge i enlairament, i ha de suportar molt de soroll.
A quin tipus de factors de risc, riscos que poden generar i danys que poden ocasionar està exposat en David?

-    El factor de risc laboral és mediambiental per agents físics i els riscos que poden generar són soroll i vibracions. Els danys principals seran sordesa i irritabilitat.

4.  El cap d’en Joan el va advertir que era obligatori, en algunes zones, dur un casc de seguretat, i que ell mateix l’havia d’aconseguir.
És correcta la indicació del cap? Raona’n la resposta.

-    Sí, és correcta la indicació del cap però és el cap qui ha de facilitar el casc a Joan ja que és l’obligació d’empresari facilitar mitjans de protecció adequats.


5.    En Pere observa que s’ha espatllat una de les carcasses de seguretat que impedeix que s’accioni per si sola una de les màquines de treball.
Com que té por que el culpin, decideix no comentar res, malgrat que comporta un perill per a ell i els seus companys.
Quins deures està incomplint en Pere?

-    En Pere hauria d’informar immediatament a un superior i tots als treballadors però no s’està complint el seu deure. 

6.    En quines tres vessants actua la medicina laboral?
La medicina laboral actua en els següents tres vessants :

a) Prevenció de malalties, per exemple, mitjançant la realització de reconeixements mèdics i de l’educació sanitària.
b)    Curació, reduint els efectes del dany mitjançant el diagnòstic i el tractament.
c)    Reparació, a través de la rehabilitació.


7.  Un treballador de 43 anys d’una empresa de recollida d’escombraries, quan estava recollint vidre reciclable, i com a conseqüència de no seguir les instruccions (protocol) en prevenció de riscos laborals, queda atrapat a la comporta del camió de les escombraries a l’alçada del tòrax. Les greus ferides causades per l’accident produeixen la seva mort a l’acte.
Consideres que es tracta d’un accident de treball? Raona la teva resposta.

-  No es considera un accident de treball ja que el treballador no seguia les instruccions en prevenció de riscos laborals. Així doncs, quan un treballador pateix un accident en el seu lloc de treball però estava actuant de manera contrària a les normes en matèria de seguretat i salut laboral no es considera un accident de treball.

8.   El Josep Maria té alguns problemes al laboratori de la seva nova empresa QUIMICAL & CORPORATION, on manipula productes químics dels quals desconeix les propietats. Li han comentat que existeix una tècnica preventiva denominada higiene industrial que milloraria les seves condicions de treball, però no sap en què consisteix i com actua. El pots ajudar conforme a l’estudiat a la unitat i així aclarir-li els dubtes?

-   La tècnica preventiva Higiene industrial és el conjunt de tècniques no mèdiques que s'ocupen d'estudiar els agents físics, químics i biològics presents en l'ambient de treball per evitar que els mateixos perjudiquin la salut del treballador.

-     El Josep ha de seguir les actuacions següents:

a) Identificar els factors de risc.
b) Mesurar la intensitat de l’agent, el temps d’exposició i totes les dades complementaries.
c) Valorar el risc comparant-lo amb els valors de referència, valors límits ambientals (VLA).
d)   Corregir la situació si fos necessari.
e)   Realitzar controls periòdicament.

9.    La Berta treballa a un saló de bellesa que, també, té a les seves instal·lacions un spa.
La temperatura i la humitat són elevades a causa dels assecadors, la sauna i el bany turc; de vegades arriben als 35° C i a un nivell d'humitat del 70%. Un dia, un representant dels treballadors l’informa que la temperatura i la humitat en els llocs de treball s’ha de trobar entre els marges que indiquen les normes.
A la pàgina web de l'Institut Nacional de Seguretat i Higiene en el Treball: www.insht.es,  pots trobar el Reial decret 486/1997, de 14 d'abril, pel qual s'estableixen les disposicions mínimes de seguretat i salut en els llocs de treball, en què l’annex III, apartat 3 regula la temperatura i la humitat en els llocs de treball.

Són correctes les dues variables a la feina de l’Estefania?
-    El nivell d’humitat està al seu límit però és correcta. La temperatura supera el límit, ha d’estar entre 14 i 25 ºC.

10.   Què observes en aquest text que no s’ajusta al que has après fins ara?
  • L’Alexandra treballa d’administrativa en una oficina utilitzant com a principal instrument de treball l’ordinador. Per això, sap que ha de tenir molta cura amb els riscos químics que aquest aparell li pot ocasionar.

-   Un ordinador no porta cap risc per agents químics. El factor de risc laboral en aquest cas és ús d’aparell (ordinador)  que pot generar risc com enlluernament.   

  • La Laura s’ha adonat que, en els últims dies, la temperatura exterior ronda els 40º C i a la seva oficina no tenen posat l’aire condicionat, degut a una avaria que no aconsegueixen reparar. Per això, observa que tant ella com els seus companys s’han d’aixecar a beure aigua contínuament per evitar la deshidratació, que és fruit dels riscos ergonòmics a què estan sotmesos.

-    En aquest cas el factor del risc és mediambiental i no psicofísic. El risc que genera és deshidratació per evitar això l’empresari ha de facilitar un aire condicionat en l’oficina.

  • El Ferran, que és company de l’oficina, ha patit durant setmanes un tracte humiliant per part del seu cap més directe, ja que no li dirigia la paraula i en moltes ocasions li esborrava el treball de l’ordinador per tal que l’hagués de tornar a fer; la seva mare, que ha estat veient un cas similar a la televisió, li ha dit que el que li està fent el seu cap és burnout i que el pot denunciar.

-  En el cas de Ferran no es tracta d’un brunout sinó mobbing laboral. 

  • Recentment, ha arribat a l’empresa una comanda de cadires de feina que estan dissenyades per treballar més còmodament. Per això, l’Alexandra ha agraït al gerent que hagi tingut en compte la psicosociologia per evitar la fatiga que les anteriors cadires li ocasionaven.

-   La fatiga laboral és una malaltia derivada del treball.

Modelo OSI

Open System Interconnection , Interconexión de Sistemas Abiertos, es un modelo para estudiar las categorías en que se pueden dividir los pr...