Ir para conteúdo
Fórum Script Brasil

Thiago André Cardoso

Membros
  • Total de itens

    69
  • Registro em

  • Última visita

Tudo que Thiago André Cardoso postou

  1. Olá, boa noite. Há poucos dias fiz um trabalho MUITO parecido com esse seu, vou colocar o código fonte aqui, mas está em pascal... Se servir como exemplo... Caso queira entender melhor o código, pode entrar em contato comigo que tento te ajudar. OBS.: Ainda não testei meu código 100%... Segue link: http://rextester.com/GUHH96931
  2. Boa noite Danilo, Creio que o if >> if((a%fat)==0) não necessite ficar dentro do for, pois só precisamos conferir uma única vez. Se eu entendi bem, seu programa tem que tirar a raiz quadrada e o fatorial de um único numero correto? Caso seja isso, Vamos primeiro verificar se o numero possui raiz exata. - Inclua a biblioteca para se usar o método da raiz: #include <math.h> int raiz = sqrt(a); você deve retornar o valor da raiz para uma variável inteira para depois tirar a “prova dos 9”. Agora você vai multiplicar a raizq * raizq e verificar se é igual a (a), caso seja, a raiz é exata. if (raizq*raizq) == a { printf(“Possui raiz exata”); // aqui, você irá calcular o fatorial, já que o número tem raiz exata. } else { printf(“Não possui raiz exata”); } Não sei se é exatamente isto que quer, mas se não for, esclarece ai que tento ajudar. Mas acho que nessa altura você já tenha feito! Valeu!
  3. Escreva um algoritmo que imprima na tela os 10 primeiros números pares e os 10 primeiros números primos, isso em ordem crescente. Exemplo: 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17... Quem quiser aprender esses e outros algoritmo segue em anexo o contato. Abraços a todos.
  4. você tem que ter um IF para comparar if inteiro[ i ] == valorDigitado { printf("%i", i); } Ai você imprimi i que é a posição onde o numero que você digitou se encontra. Qualquer duvida, fala ai que tento ajudar.
  5. //fpc 3.0.0 //Thiago André Cardoso Silva //Git Hub: https://github.com/doctorwho1998 program funcionario; uses crt; const COL = 2; LIN = 10; var matricula_nome:array[0..(LIN - 1), 0..(COL - 1)] of String; salario:array[0..9] of Real; jornada:array[0..9] of integer; matricula:String; q_c,i,j,k,aux_alt,aux_exc,aux_mat:integer; cont_cad:boolean; //-----Pesquisar funcionário----- procedure pesquisar(mat:String); begin for i := 0 to 9 do begin if mat = matricula_nome[i,0] then begin writeln; writeln('Resultado da busca:'); writeln('Matricula: Nome: Salário: Jornada:'); write(matricula_nome[i][0],' '); write(matricula_nome[i][1],' '); write(salario[i]:00:02,' '); write(jornada[i]); writeln; writeln; end; end; end; //-----Pesquisar funcionário----- //-----Alterar funcionário----- procedure alterar(mat:String; n:String; sal:real; jor:integer); begin for i := 0 to 9 do begin if mat = matricula_nome[i,0] then begin matricula_nome[i,1] := n; salario[i] := sal; jornada[i] := jor; aux_alt := aux_alt + 1; writeln('Funcionário alterado com sucesso!'); end; end; writeln; if aux_alt = 0 then begin writeln('Matricula ',mat,' não encontrada'); writeln; end; end; //-----Alterar funcionário----- //-----Cadastrar----- procedure cadastrar(mat:String; n:String; sal:real; jor:integer); begin if q_c < 10 then begin for i := 0 to 9 do begin if mat = matricula_nome[i][0] then begin aux_mat := aux_mat + 1; end; end; if aux_mat = 0 then begin matricula_nome[q_c,0] := mat; matricula_nome[q_c,1] := n; salario[q_c] := sal; jornada[q_c] := jor; q_c := q_c + 1; writeln; end else begin writeln('Matricula ',mat,' já cadastrada'); end; end else begin writeln('Limite de cadastro atingido!'); writeln; end; end; //-----Cadastrar----- //-----Excluir----- procedure excluir(mat:String); begin for i := 0 to 9 do begin if mat = matricula_nome[i,0] then begin for j := i to q_c do begin for k := 0 to COL - 1 do begin matricula_nome[j][k] := matricula_nome[j+1][k]; end; salario[j] := salario[j+1]; jornada[j] := jornada[j+1]; end; aux_exc := aux_exc + 1; end; end; if aux_exc = 0 then begin writeln('Matricula ',mat,' não encontrada'); end else begin q_c := q_c - 1; end; end; //-----Excluir----- //-----Listar----- procedure listar; begin writeln('Matricula: Nome: Salário: Jornada:'); for i := 0 to q_c - 1 do // for para listar matricula e nome begin for j := 0 to COL - 1 do begin write(matricula_nome[i][j],' '); end; write(salario[i]:00:02,' '); write(jornada[i]); writeln; end; end; //-----Listar----- //---------------------------------------------INÍCIO--------------------------------------------- begin { writeln('Digite a matricula do funcionário'); writeln('Digite o nome do funcionário'); writeln('Digite o salário'); writeln('Digite a jornada de trabalho'); } cadastrar('1010', 'José Sobrinho', 5500, 40); cadastrar('1011', 'Jovem Célio ', 2500, 40); cadastrar('1011', 'Jovem Thiago ', 2500, 40); listar; pesquisar('1011'); alterar('1011', 'Jovem Cesar ', 2499, 80); listar; excluir('1011'); listar; end.
  6. Este programa irá: | Escrever 10 números aleatórios em um vetor | Ordenar um vetor em ordem crescente | Trocar um valor por outro, caso tenha | inserir um valor na ultima posição | //fpc 3.0.0 program vetor; var vet:array[0..9] of integer; vet_aux:array[0..9] of integer; i, j, k, aux_crescente, x, y, ultima:integer; // Procedimento que irá mostrar o vetor na tela procedure mostrar ( vetor : array of integer) ; var i : integer; begin for i := 0 to 9 do write(vetor[i], ' '); end; // Fim do procedimento begin // laço de for para preencher o array for i := 0 to 9 do begin // colocar um readln para obter os valores do usuário vet[i] := random(10); end; mostrar(vet); // mostra o vetor na tela // colocar vetor em ordem crescente for i := 0 to 9 do begin for j := 0 to 9 do begin if vet[i] < vet[j] then begin aux_crescente := vet[i]; vet[i] := vet[j]; vet[j] := aux_crescente; end; end; end; writeln; // FIM colocar vetor em ordem crescente writeln; mostrar(vet); //Substituir x por y no array x := 7; y := 9; writeln; writeln; writeln('Todos os valores ', x, ' Serão trocados por ', y); for i := 0 to 9 do begin if vet[i] = x then vet[i] := y; end; writeln; mostrar(vet); //FIM Substituir x por y no array //Inclui um valor na pilha. O valor será incluso na ultima posição, empurrando todas as outras para baixo e assim perdendo o valor que estava //na primeira posição. ultima := random(10); for i:= 0 to 8 do begin vet[i] := vet[i + 1]; end; vet[9] := ultima; writeln; mostrar(vet); end.
  7. 1 - Deixe sua reposta para que outras pessoas posam ver 2 - Pode-se responder em qualquer linguagem, mas se puder deixar só o algoritmo escrito (Portugol) por exemplo, seria ótimo. Vamos ao desafio: Criar um algoritmo que multiplique dois números inteiros positivos maiores que zero SEM usar o operador de multiplicação (*) Boa sorte!
  8. /* * ----------Valid PassWord---------- * PassWord must contain: * At least SIX characters * At least ONE character Caps lock * At least ONE character lowerCase * At least ONE number * And Can not contain SPACE */ let password = "Doctor_Who_98" var contain_space = 0 var contain_latters_lowerCase = 0 var contain_latters_capsLock = 0 var contain_number = 0 var number_character = 0 // up all the counters zeroed let latters_lowerCase = "abcdefghijklmnopqrstyvxzy" let latters_capsLock = "ABCDEFGHIJKLMNOPQRSTUVXZY" let numbers = "0123456789" for check_password in password { //will scroll through all the characters of the password number_character += 1 //Count the amount of character if check_password == " " { contain_space += 1 //check if there is any space } for check_latters_lowerCase in latters_lowerCase { if check_password == check_latters_lowerCase { contain_latters_lowerCase += 1 //Count the lowercase letters } } for check_latters_capsLock in latters_capsLock { if check_password == check_latters_capsLock { contain_latters_capsLock += 1 //Count the capslock letters } } for check_numbers in numbers { if check_password == check_numbers { contain_number += 1 //Count the number of numbers } } } if contain_space == 0 && contain_number > 0 && contain_latters_lowerCase > 0 && contain_latters_capsLock > 0 && number_character >= 6{ print("Password OK") } else { print("Invalid Password") } // Twitter: @thiagoandreqi // Instagram: alfacexburger
  9. Boa tarde Marcela, Antes de tudo você tem que filtrar os números pares. Não sei como é a função disto em javaScript, mas tem que procurar uma que retorne o resto da divisão entre o valor de i e 2 if i%2 == 0 document.getElementById("resposta").innerHTML= i+ ".";
  10. Boa tarde, Você pode sim fazer isso usando String. Teria que varrer todos os caracteres usando um for e tentar encontrar os operadores. Mas você teria que já ter uma String com os operadores, exemplo: somar = "+"; subtrair = "-"; Dentro do for que iria varrer o "3+5*2 você iria ter um if para quando algum valor da String for igual a um operador, você iria pegar o índice (a posição do caractere na String e pegar a anterior e a posterior, transformar em numero e fazer com que estes números entre na operação que tem entre eles. Mas você teria também que verificar se há algum * ou / para serem feitos antes dos + e - Creio que nessa altura você já deva ter conseguido de alguma forma, mas qualquer duvida, pode chamar aqui que tento ajudar beleza?
  11. Boa tarde amigo, Nesta linha: X1=((-B)+(D^(1/2))/2*A) Melhor fazer algo tipo: raizDelta <- D^(1/2) X1 <- -B + raizDelta/(2*A) Me avise caso não funcione por favor.
  12. Bom dia amigo, Seria interessante você direcionar o primeiro valor digitado para as variáveis maior e menor, assim: Já dentro do enquanto se cont < 2 então maior <- N menor <- N Ai depois se N > maior maior <- N se N < menor menor <- N Não precisa do senão, pois a verificação do menor não depende da do maior. Qualquer duvida pode entrar em contato.
  13. Bom dia amigo, Pode explicar melhor como quer usar esse array?
×
×
  • Criar Novo...