Ir para conteúdo
Fórum Script Brasil

Thiago André Cardoso

Membros
  • Total de itens

    69
  • Registro em

  • Última visita

Posts postados por Thiago André Cardoso

  1. /*
    *Indicar o maior valor num vetor
     */
    package livro.recursividade;
    
    /**
     * @author thiagoandreqi
     */
    public class Maximo {
    
        public static void main(String[] args) {
            int v[] = {2, 4, 3};
            int resultado = maximo(v, v.length);
            System.out.println("Máximo = " + resultado);
        }
    
        public static int maximo(int v[], int n) {
            if (n == 1) {
                return v[0];
            } else {
                int x = maximo(v, n - 1);
                if (x > v[n - 1]) {
                    return x;
                } else {
                    return v[n - 1];
                }
            }
        }
    }
    //Aulas particulares de programação (85) 999273805

     


  2. Uso de recursividade.

    /*
     * Retornar a diferença entre o elemento máximo e o mínimo do vetor
     */
    package livro.recursividade;
    
    /**
     * @author thiagoandreqi
     */
    public class DiferencaMaxMin232 {
    
        public static void main(String[] args) {
            int v[] = {2, 3, 3, 8};
            int r = diferenca(v, v.length, 1, v[0], v[0]);
            System.out.println("Diferença = " + r);
        }
    
        /*A função retorna a diferença entre um maior elemento e um menor elemento de um vetor
        v[0.. n -1] */
        public static int diferenca(int v[], int n, int i, int maior, int menor) {
            if (i == n) {
                return maior - menor;
            } else {
                if (v[i] > maior) {
                    System.out.println("v[" + i + "] " + v[i]);
                    return diferenca(v, n, i + 1, v[i], menor);
                }
                if (v[i] < menor) {
                    System.out.println("v[" + i + "] " + v[i]);
                    return diferenca(v, n, i + 1, maior, v[i]);
                } else {
                    System.out.println("v[" + i + "] " + v[i]);
                    return diferenca(v, n, i + 1, maior, menor);
                }
            }
        }
    }

     

    Caso esteja começando em Java e quiser o acompanhamento de um professor particular, só entrar em contato: (85) 999273805
    Uso de recursividade.

    /*
     * Retornar a diferença entre o elemento máximo e o mínimo do vetor
     */
    package livro.recursividade;
    
    /**
     * @author thiagoandreqi
     */
    public class DiferencaMaxMin232 {
    
        public static void main(String[] args) {
            int v[] = {2, 3, 3, 8};
            int r = diferenca(v, v.length, 1, v[0], v[0]);
            System.out.println("Diferença = " + r);
        }
    
        /*A função retorna a diferença entre um maior elemento e um menor elemento de um vetor
        v[0.. n -1] */
        public static int diferenca(int v[], int n, int i, int maior, int menor) {
            if (i == n) {
                return maior - menor;
            } else {
                if (v[i] > maior) {
                    System.out.println("v[" + i + "] " + v[i]);
                    return diferenca(v, n, i + 1, v[i], menor);
                }
                if (v[i] < menor) {
                    System.out.println("v[" + i + "] " + v[i]);
                    return diferenca(v, n, i + 1, maior, v[i]);
                } else {
                    System.out.println("v[" + i + "] " + v[i]);
                    return diferenca(v, n, i + 1, maior, menor);
                }
            }
        }
    }

     

  3. Vamos tentar destrinchar essa explicação:

    Realmente o = significa atribuir. 
    Exemplo: x = 3 (x recebe 3) ou (3 é atribuído a x)
    O valor da direita é atribuído a variável da esquerda. 

    O == dois iguais é usado na operação relacional 
    Quando iremos comparar dois valores. 
    3 == 4 (3 é igual a 4)

    if (x == 3) {

    }

    3 horas atrás, 0cool disse:

    Alguém pode me explicar a diferenca do = e do == , e quando devo usar os dois? Um explicacao q me deram foi de que = é de atribuicao a algo, porém ainda está confuso na minha cabeca, queria uma explicacao mais prática.

    Caso se interesse: https://profes.com.br/thiago.andre.cardoso.silva

  4. você tem um scanf sem o &

    scanf("%f",pesot);

    Tenta fazer o código enxuto primeiro, depois implementa com os while etc...

    #include <stdio.h>
    #include <math.h>
    #include <stdlib.h>
    
    void main()
    {
        float prova=5, quiz=6, trab=8, pesop=0, pesoq=0, pesot=0, pesototal=0, media=0;
            pesop = 3;
            pesoq = 5;
            pesot = 2;
            pesototal = pesop + pesoq + pesot;        
            
            if (pesototal!=10)
            {
                printf("Os pesos colocados não correspondem a uma média que vale 10 pontos, favor corrija-os\n\n\n");
            }
            else
            {
                media = (prova*(pesop/10))+(quiz*(pesoq/10))+(trab*(pesot/10));
                if (media>=7.0)
                {
                    printf("Parabéns, você foi aprovado nesta matéria com média %f.2\n", media);
                }
                else
                {            
                    if (media < 7.0 && media >= 5.0)
                    {
                        printf("Sua média não alcancou o esperado, mas você ainda tem chances no exame %f.2\n", media);
                    }
                    else
                    {
                        printf("Infelizmente sua média não satisfez o minimo, você foi reprovado nesta matéria %f.2\n", media);
                    }
                }
            }
    }

     

  5. #include <stdio.h>
    #include <stdlib.h>
    
    int main(void) {
        
        int a = 0;
        int b = 1;
        for (int i = 1; i < 50; i = a + b){
            b = a;
            a = i;
            printf("- %i ", i);
        }
    }

    O jeito mais simples que achei de fazer é este. 
    Mas ele mostra o a sequencia até o numero que está na condição. No caso seria até o valor de fib menor que 50

    Mas podemos fazer assim se quisermos saber até o N termo.

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void) {
        int x = 0;
        int a = 0;
        int b = 1;
        for (int i = 1; i < 10; i++){
            x = a + b;
            b = a;
            a = x;
            printf("- %i ", x);
        }
    }

     

  6. Em 23/07/2018 at 10:21, phk1 disse:

    Fiz o exercício, mas não sei porque não está funcionando.

    { Escreva um algoritmo que calcule e escreva a soma dos dez primeiros termos da seguinte serie:   2/500 - 5/450 + 2/400 - 5/350 + ... }

    #include <iostream>
    #include <cstdlib>
    #include <stdio.h>

    using namespace std;
    int main()
    {
    setlocale(LC_ALL, "Portuguese");
    int i, denominador;
    float s;
    denominador = 500;
    s = 0;
    for (i=1;i<=10;i++)
       {
        if ((i % 2) != 0)
        {
           s = s + (2/denominador);
        }
        else
        {    
           s = s - (5/denominador);
           
        }
        denominador = denominador - 50;
        cout << s << "/" << denominador;
        
       }
       
    return 0;
    }

    D sempre 0250. Não descubro o erro.

    #include <stdio.h>
    #include <stdlib.h>
    
    #define S_D 50; //Constante que irá subtrair 50 do denominador
    
    int main(void) {
    
        float denominador = 500; //valor inicial do denominador
        float soma = 0;
        //valores de soma e do denominador tem que ser flutuante 
        
        for (int i = 2; i < 12; i++){
            if (i%2 == 0){
                soma = soma + (2/denominador);
            }else {
                soma = soma - (5/denominador);
            }
            denominador -= S_D;
        }
        printf("Soma = %f\n", soma);
    }

    Bom dia amigo, 

    O meu deu certo quando coloquei o denominador como float. 
    O resultado final é  -0.13313
    Verifica os dois programas e compara se está tudo ok. 
    Espero ter ajudado, abraços. 

  7. 
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main(void) {
    
        char frase[100] = "O aluno se matriculou!";
        //char aux[100];
        int aux = 0;
        int nt = 0;
        printf("Digite a frase\n");
        //scanf("%s", frase);
        //gets(frase);
        //frase = "Aluno";
        printf("%s", frase);
        int tamanho = strlen(frase);
        int aux_tamanho = tamanho;
        for (int i = 0; i < tamanho; i++) {
            //printf("\nvalor de i %i\n", i);
            if ((frase[i + 1] == 'l') && (frase[i + 2] == 'u') && (frase[i + 3] == 'n') && (frase[i + 4] == 'o')) {
                if (frase[i] == 'A') {
                    frase[i] = 'E';
                    aux = 1;
                }
                if (frase[i] == 'a') {
                    frase[i] = 'e';
                    aux = 1;
                }
                if (aux == 1) {
                    int espaco = aux_tamanho - ((i + 4) + 1);
                    //printf("\nEspaco = %i\n", espaco);
                    nt = aux_tamanho + 4;
    
                    for (int j = 0; j < espaco; j++) {
                        frase[nt - 1] = frase[aux_tamanho - 1];
                        nt--;
                        aux_tamanho--;
    
                    }
    
                    frase[i + 1] = 's';
                    frase[i + 2] = 't';
                    frase[i + 3] = 'u';
                    frase[i + 4] = 'd';
                    frase[i + 5] = 'a';
                    frase[i + 6] = 'n';
                    frase[i + 7] = 't';
                    frase[i + 8] = 'e';
                }
            }
        }
     
        printf("\n%s", frase);
        int tamanho2 = strlen(frase);
       // printf("\n%i", tamanho2);
    }

    Aulas particulares online de programação > WhatsApp (85) 999273805

  8. No tabuleiro de xadrez, a casa na linha 1, coluna 1 (canto superior esquerdo) é sempre branca e as cores das casas se alternam entre branca e preta, de acordo com o padrão conhecido como... xadrez! Dessa forma, como o tabuleiro tradicional tem oito linhas e oito colunas, a casa na linha 8, coluna 8 (canto inferior direito) será também branca. Neste problema, entretanto, queremos saber a cor da casa no canto inferior direito de um tabuleiro com dimensões quaisquer:L linhas e C colunas. No exemplo da figura, para L = 6 eC = 9, a casa no canto inferior direito será preta!

    Resposta 1:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void) {
    
        int L = 0;
        int C = 0;
        int aux = 1;
        printf("Digite o numero de linhas do tabuleiro:\n");
        scanf("%i", &L);
        printf("Digite o numero de colunas do tabuleiro:\n");
        scanf("%i", &C);
        int tabuleiro[L][C];
    
        for (int i = 0; i < L; i++) {
            for (int j = 0; j < C; j++) {
                tabuleiro[i][j] = aux;
                aux = 1 - aux;
            }
        }
        
        for (int i = 0; i < L; i++) {
            for (int j = 0; j < C; j++) {
                 printf("%i ", tabuleiro[i][j]);
            }
            printf("\n");
        }
        printf("\nCasa inferior direita de cor = %i\n", tabuleiro[L-1][C-1]);
    }

    Resposta 2:

    
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void) {
    
        int L = 0;
        int C = 0;
        printf("Digite o numero de linhas do tabuleiro:\n");
        scanf("%i", &L);
        printf("Digite o numero de colunas do tabuleiro:\n");
        scanf("%i", &C);
        
        if (L%2 == C%2){
            printf("A casa inferior direita é 1.");
        }else {
            printf("A casa inferior direita é 0.");
        }
        
    }
    

     

  9. Segue link com o caderno de perguntas: https://olimpiada.ic.unicamp.br/static/extras/obi2018/provas/ProvaOBI2018_f1pj.pdf

    Segue resposta em C http://rextester.com/YVQ45070

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void) {
        int N;
        int f_compradas;
        int repetidas = 0;
        int f_repetidas = 0;
        int f_n_repetidas = 0;
        int f_restantes = 0;
        printf("Qual o número máximo de figurinhas do album?\n");
        scanf("%i", &N);
        int M[N];
        printf("\nQuantidade de figuras compradas?\n");
        scanf("%i", &f_compradas);
    
        for (int i = 0; i < f_compradas; i++) {
            printf("\nDigite o numero da figura:");
            scanf("%i", &M[i]);
        }
        printf("Saiu do laço\n");
    
        for (int i = 0; i < f_compradas - 1; i++) {
            for (int j = i + 1; j < f_compradas; j++) {
                if (M[ i ] == M[ j ]) {
                    printf("Repetiu figura\n");
                    repetidas++;
                }
            }
        }
        f_n_repetidas = f_compradas - repetidas;
        f_restantes = N - f_n_repetidas;
    
        printf("\nQuantidade restante: %i\n", f_restantes);
    
    }

     

  10. Em 12/07/2018 at 07:52, Eder Silva disse:

    Programação Batch / Contar linha iguais e somar
    Gostaria de fazer um batch que faça a seguinte contagem:
    Arquivo Origem
    7895537000011
    7895537000028
    7895537000035
    7895537000042
    7895537000059
    7895537000066
    7895537000011
    7895537000011
    7895537000028
    7895537000028
    7895537000028
    7895537000059
    7895537000059

    Arquivo Destino
    7895537000011,3
    7895537000028,4
    7895537000035,1
    7895537000042,1
    7895537000059,3
    7895537000066,1

    Somar as repetições e colocar na frente do do item apos uma virgula. Utilizo para fazer balanço de itens em loja, agradeço a quem puder ajudar. 

    você quer só a resolução algorítmica? Ou em alguma linguagem específica?

  11. Em 05/07/2018 at 14:14, Ferneves disse:

    percebi isso a um tempo já, agora o problema é outro, não sei como faz a raiz.

     

    #include <iostream>
    #include <math.h>

    using namespace std;

    int main(int argc, char** argv)
    {
        // VARIAVEIS
        float a, b, c, quad, n2, num, soma, raiz, nx1, nx2, div1, div2, x1, x2;
        
        
        cout << "============== FORMULA DE BASKHARA 1 grau ======================" << endl;
        
        // ATRIBUINDO VALORES
        cout << "   Digite o valor A: ";
        cin >> a;
        
        cout << "   Digite o valor B: " ;
        cin >> b;
        
        cout << "   Digite o valor 😄 " ;
        cin >> c;
        
        //  CONTAS
        quad = pow (b,2); //Quadrado de b
        
        num = -4 * (a * c); // "-4" Vezes resultado do "n1"
        
        soma = (quad + num); //Resultado do "n1" vezes "num"
        
        n2 = 2 * a; // "2" vezes a
        
        raiz =  sqrt(soma);  //AQUI O POBLEMA
        
        //            X1          \\
        
        nx1 = b + raiz; 
        
        div1 = nx1 / n2;
        
        x1 = div1;
        
        //           X2            \\

        nx2 = b - raiz;
        
        div2 = nx2 / n2;
        
        x2 = div2;
        
        
        cout << "                                 " << endl;
        cout << "---------------------------------------------------------" << endl;
        
        // Resultados
        
        cout << "X1: " << x1 << endl;
        cout << "              " << endl;
        cout << "X2: " << x2 << endl;
        
        cout << "---------------------------------------------------------" << endl;
        
        return 0;
    }

    Acho que tem que importar o #include <cmath>

    Veja aqui neste exemplo: 

     

    #include <iostream>
    #include <cmath>
    using namespace std;
    int main()
    {
        double x;
        cin >> x;
        cout << sqrt(x) << endl;
        return 0;
    }
  12.  escreval ("Nome:")
       leia (nome)
       //achar o "simbolo" que faça com que o nome não passe de 20 caracteres
       se (nome >=20)então
          escreval ("Prossiga!")
       senao
          escreval ("Ultrapassou o número de caracteres(20)")
       fimse

    Em nome >= 20 está errado para prossiga.
    O certo é, (nome.tamanho < 20) ai coloca o prossiga, caso não, avisa que ultrapassou. 
    Nas linguagens de programação, existe uma função que mostra a quantidade de caractere numa string. No caso ai usei o .tamanho porque não sei como se faz em Portugol.

×
×
  • Criar Novo...