Anúncio

Portfólio 5 Programação de computadores


Univesp5.java
C:\Users\Malta\Documents\NetBeansProjects\semana4\univesp5\src\univesp5\Univesp5.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package univesp5;

/**
 *
 * @author Malta
 */
public class Univesp5 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        double[][] chop = {{1.0,2.0,3.0},{2.0,3.0,4.0}};
        avaliaMatriz(chop);
    }
    /*Exercício 1
    Escreva um método chamado contaCaracteres que recebe como parâme-
    tro um arranjo de arranjos de caracteres chamado palavras (o qual re-
    presenta um conjunto de palavras) e deverá retornar o número total de
    caracteres presentes nesse arranjo de arranjos.
    */
    public static int contaCaracteres(char[][] palavras){
        int total = 0;
        for(char[] temp : palavras)
            total += temp.length;
        if (total > 0)return total;
        return -1;
    }
    /*Exercício 2
    Escreva um método chamado contaLetra que recebe como parâmetros
    um arranjo de arranjos de caracteres chamado palavras e um caractere
    chamado letra e deverá retornar a quantidade de vezes que o caractere
    letra aparece dentro do arranjo de arranjos.
    */
    public static int contaLetra(char[][] palavras, char letra){
        int total=0;
        for (char[] palavra : palavras) {
            for (int j = 0; j < palavra.length; j++) {
                if (palavra[j] == letra) {
                    total++;
                }
            }
        }
        return total;
    }
    /*Exercício 3
    Escreva um método chamado avaliaMatriz que receba como parâmetro
    uma matriz bidimensional de elementos do tipo double (chamada matriz)
    e imprime três valores (um por linha): a média de todos os elementos da
    matriz, o menor valor da matriz e o maior valor da matriz. Você pode
    assumir que a referência à matriz passada como parâmetro terá valor
    diferente de null e que a respectiva matriz terá mais de um elemento.
    Dica: você só precisará percorrer a matriz inteira uma única vez para
    realizar essas operações.
    */
    public static void avaliaMatriz(double matriz[][]){
        double maior=0, menor, count=0, somatorio=0;
        menor = matriz[0][0];
        for(double[] temp : matriz)
            for(double temp2 : temp){
                if(temp2<menor) menor =  temp2;
                if(temp2>maior) maior =  temp2;
                somatorio += temp2;
                count++;
            }
        System.out.println(menor);
        System.out.println(maior);
        System.out.println(somatorio/count);  
    }
    /*Escreva um método chamado soma3 que receba como parâmetros três
    matrizes de inteiros (chamadas m1, m2 e m3) e retorna null caso essas
    matrizes tenham dimensões diferentes. Caso contrário, deverá criar e
    retornar a referência a matriz correspondente a soma das três matrizes
    passadas como parâmetro.*/
    public static int[][] soma3(int[][] m1, int[][] m2, int[][] m3){
        
        //int a , b;
        final int a = m1.length;
        final int b = m1[0].length;
        //declara matriz de retorno
        int[][] mSoma = new int[a][b];
        //verifica se as matrizes possuem mesmo tamanho de coluna
        if((m1.length == m2.length)&&(m1.length == m3.length)){
            //blza; agora verifica se em cada linha há o mesmo número de elementos
            for(int j=0; j<m1.length; j++){
                //se as linhas da matriz 2 OU a matriz 3 forem diferentes em tamanho, retorna null
                if((m2[j].length == m1[j].length)&&(m3[j].length == m1[j].length)){
                    //tamanhos iguais... então faz a soma                    
                    for(int i = 0; i<m1[j].length; i++)
                        mSoma[j][i]= m1[j][i] + m2[j][i] + m3[j][i];    
                }
                else return null; //caso matrizes sejam diferentes, retorna null
            }
            return mSoma;
        }
    return null;
    }
}

Portfólio 3 Cálculo 2

Exercício 1

Calcule a massa da placa {(x, y) 2 | (x - 4)2 + y2 ≤ 9, y ≥ 0} com densidade igual à ordenada do ponto.


Exercício 2
Calcule o volume do sólido descrito por x2 + y2 ≤ 1, com x2 + y2 ≤ z ≤ 3 - x2 - y2


Exercício 3
Calcule a massa do pedaço de coroa esférica 1 ≤ x2 + y2 + z2 ≤ 9, x ≥ 0,y ≥ 0, com densidade δ(x, y, z) = x2 + y2 + z2


Exercício 4
Decida se o campo a seguir é gradiente:



Portfólio 4 Programação de computadores

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Univesp4.java
http://maltaportfolios.blogspot.com/2017/06/portfolio-4-programacao-de-computadores.html
 1 /*
 2  * To change this license header, choose License Headers in Project Properties.
 3  * To change this template file, choose Tools | Templates
 4  * and open the template in the editor.
 5  */
 6 package univesp4;
 7 
 8 /**
 9  *
10  * @author Malta
11  */
12 public class Univesp4 {
13 
14     /**
15      * @param args the command line arguments
16      */
17     public static void main(String[] args) {
18         // TODO code application logic here
19         int[] values = {1,2,3,4,4,5,6};
20         int[] values2 = {1,2,3,4,4,5,6,9,9,6};
21         //System.out.println(contagem(values, 4));
22         //contagemMaior(values2, values);
23         contagemTodos(values,values2);
24     }
25     /*Escreva um método chamado contagem que receba como parâmetro um
26     arranjo de inteiros chamado valores e um inteiro chamado x e retorna o
27     número de vezes que o valor x aparece dentro do arranjo valores. Imple-
28     mente uma solução que iteraja pelos índices do arranjo (utilizando um
29     laço while ou for).*/
30 
31     static int contagem(int[] valores, int x){
32         int retorno = 0;
33         for(int i = 0; i<valores.length; i++)
34             if (x == valores[i]) retorno++;
35         return retorno;  
36     }
37     /*Escreva um método chamado contagemElementos que receba como parâ-
38     metro um arranjo de inteiros chamado valores e um inteiro chamado x e
39     retorna o número de vezes que o valor x aparece dentro do arranjo va-
40     lores. Implemente uma solução que iteraja pelos elementos do arranjo
41     (e não pelos índices) usando o segundo tipo de laço for ensinado nesta
42     semana).*/
43     static int contagemElemntos(int[] valores, int x){
44         int retorno = 0;
45         for(int temp: valores)
46             if (x == temp) retorno++;
47         return retorno;
48 
49     }
50     /*Escreva um método chamado contagemMaior que recebe dois arranjos
51     de inteiros como parâmetros (chamados arranjo1 e arranjo2), encontra o
52     valor do maior elemento do arranjo1, verifica quantas vezes esse valor
53     ocorre no arranjo2 e imprime uma frase da seguinte forma:
54     O numero yyy aparece zzz vezes no arranjo2.
55     Sendo yyy o valor do maior elemento do arranjo1 e zzz a quantidade de
56     vezes que esse número ocorre no arranjo2.
57     Você pode considerar que todos os valores presentes no arranjo1 e no
58     arranjo2 serão positivos.*/
59     
60     static void contagemMaior(int[] arranjo1,int[] arranjo2){
61         int maior = 0;
62         int count = 0;
63         //acha o maior valor do array 1
64         for(int temp: arranjo1)
65             if (temp>maior)maior = temp;
66         //conta quantas vezes esse valor aparece no array 2
67         for(int temp: arranjo2)
68             if (maior == temp) count++;
69         System.out.println("O numero " + maior + " aparece "+ count +" vezes no arranjo2.");
70     }
71     
72     
73     
74     /*Escreva um método chamado contagemTodos que recebe dois arranjos
75     de inteiros como parâmetros (chamados arranjo1 e arranjo2), e para cada
76     elemento do arranjo1 verifica quantas vezes esse elemento ocorre no
77     arranjo2 e imprime uma frase da seguinte forma:
78     O numero yyy aparece zzz vezes no arranjo2.
79     Sendo yyy o valor de um elemento do arranjo1 e zzz a quantidade de
80     vezes que esse número ocorre no arranjo2.
81     Note que se o arranjo1 possuir, por exemplo, cinco elementos, então
82     cinco linhas serão impressas.*/
83     static void contagemTodos(int[] arranjo1,int[] arranjo2){
84         int count = 0;
85         for(int temp: arranjo1)
86         {
87             count = 0;
88             for(int temp1 : arranjo2)
89                 if(temp==temp1)count++;
90             System.out.println("O numero " + temp + " aparece "+ count +" vezes no arranjo2.");
91         }
92     }
93             
94 }
95 

Anúncio