Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gustavohmc

Funções

Recommended Posts

[Resolvido]Vou colar o problema aqui para melhor elucidar a quem puder me ajudar:

"Crie uma função que receba três valores, 'a', 'b' e 'c', que são os coeficientes de uma equação do segundo grau e retorne o valor do delta, que é dado por 'b² - 4ac' Usando as 3 funções acima, crie um aplicativo que calcula as raízes de uma equação do 2o grau: ax² + bx + c=0 Para ela existir, o coeficiente 'a' deve ser diferente de zero. Caso o delta seja maior ou igual a zero, as raízes serão reais. Caso o delta seja negativo, as reais serão complexas e da forma: x + iy"

 

Minha dúvida é: é possível criar uma função que receba os 3 valores e dentro dessa função criar outras duas funções, uma para o delta e outra para as raízes e, na hora de passar os valores, as funções delta e raízes os recebam também, impedindo assim que seja possível passar valores diferentes para as funções internas?

 

tipo

<?+ $b +$c
function val ($a, $b, $c){
return $a, $b, $c;
  function delta(){
    return $b*$b -4*$a*$c;
  }
  function raizes(){
    return $a*$a + $b +$c;
}



?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá gustavo 

 

Isso não funciona dessa maneira não podes meter funções dentro de funções, porem podes ter varias funções e umas chamarem as outras...

 

E na verdade eu acho que é só para criar uma unica função e não 3 

Crie uma função que receba três valores, 'a', 'b' e 'c', que são os coeficientes de uma equação do segundo grau e retorne o valor do delta, que é dado por 'b² - 4ac'

 

Crie uma função -> singular

 

Eu sei que depois diz utilizando as funções... Poderá ser um erro no problema ou então uma rasteira mas ainda não percebi qual xD de qualquer das maneiras podes fazer com 3 mas 1 basta para fazer tudo...

 

EU desenvolvi um programa parecido a esse mas lá esta apenas com uma função vou deixar aqui o código que fiz na altura eu penso que funciona experimenta , está em php é isso que queres certo ?

 

 

<?php
// no teu caso basta teres 3 text box e depois os valores destas variaveis serão iguais aos valores dentro das textBox
$a=1;
$b=-6;
$c=8;




function baskara($a, $b, $c){
$delta = ($b * $b) - (4 * $a * $c); 
if($delta < 0){ 
echo "Delta é menor que 0, portanto não há raízes" . "

"; 
echo "Valor do Delta: $delta"; 
} 
elseif($delta == 0){
echo "Delta é igual à 0, portanto as raízes são iguais:" . "

"; 
$x = (-($b)) / (2 * $a); 
echo "x': $x
x'': $x" . "

"; 
echo "Valor do Delta: $delta"; 
} 
else{ echo "Delta é maior que 0, portanto há duas raízes diferentes:" . "

"; 
$x1 = intval( -($b) + sqrt($delta) / 2 * $a); 
$x2 = intval(-($b) - sqrt($delta) / 2 * $a); 
echo "x': $x1
x'': $x2" . "

"; 
echo "Valor do Delta: $delta"; 
}
} 

baskara($a, $b, $c);

?>

 

Acredito que esse código te possa ajudar...

 

 

Abraço 

 

Vítor Mendes

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

gustavohmc 

 Sendo que é um forum seria bom mostrar a sua resolução ou dar pontuação a quem ajudou para outros utilizadores que tenham o mesmo problema possam esclarecer as suas duvidas!

 

 

Abraço 

 

Vítor Mendes

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
$a=1;
$b=3;
$c=2;

function baskara($a,$b,$c){
		
		if ($a==0){
			echo "Variável 'a' tem que ser diferente de zero";
		}
		
		$delta=$b*$b -4 * $a *$c;
		if ($delta<0){
			echo "Raízes irreais";
		}
		elseif($delta==0){
			$x = (-$b)/2*$a;
			echo "x = ". $x;
		}
		
		else {
			$x1 = ((-$b)+ sqrt($delta))/2*$a;
			$x2 = ((-$b)- sqrt($delta))/2*$a;
			echo "x1 = ".number_format($x1, 2, ',','');
			echo "<br/>x2 = ".number_format($x2, 2, ',','');
		} 
}

baskara($a,$b,$c);


?>

Resolução

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por janir.matheus
      Bom dia, não tenho muita prática com JavaScript (tive contato apenas durante um período no CEDERJ). Ocorre que agora preciso do bendito, e não estou conseguindo sair de uma situação. Vou postar o código:
      <script language="JavaScript"> coordenadas = ""; //Defini essa variável segundo meus conhecimentos, por ter omitido a palavra 'var' ela é global function sucesso(posicao) { coordenadas = posicao.coords.latitude; //document.write(coordenadas); //Aqui dentro ela escreve o valor da latitude } if('geolocation' in navigator) { navigator.geolocation.getCurrentPosition(sucesso); } else { alert("Navegador incompatível com esse recurso"); } document.write(coordenadas); //Aqui eu NÃO consigo pegar o valor </script> Basicamente eu quero salvar os valores de Latitude, Longitude e Timestamp em variáveis para poder usa-las posteriormente. Conto com a vossa ajuda. 
      Obrigado.
    • Por Millena Oliveira
      Oiii gente, boa noite. Estou estudando ainda e me deram um desafio para desenvolver um programa que imprimisse na tela somente os números primos segundo o valor que o usuário colocasse na execução. Utilizei o readLine para isso. Usei um objeto para que repetisse a execução e salvei todos os números numa array. O problema é, quando faço o teste colocando um número qualquer, retorna uma array vazia. Poderia me dar uma ajuda? Segue abaixo todo o código.
      Obrigada :)
       
      var readline = require("readline"); var rl = readline.createInterface({ input: process.stdin, output: process.stdout }); function desafioPrimos() { var primos = []; rl.question("Digite um número: ", function (num) { console.log(primos); numero = parseInt(num); numerosPrimos: for (var x = 2; x <= num; x++) { for (var y = 2; y < x; y++) { if (x % y === 0) continue numerosPrimos; }; primos.push(x); rl.close(); }; }); }; desafioPrimos();  
    • Por reberthkss
      Bom dia!
       
      Eu tenho um programa escrito em C e nele estou utilizando funções, e para ter boa prática, eu quero separar as funções do programa principal.
      Então to querendo criar uma header e outro arquivo .c para colocar as funções. Ai eu fico com:
       
      Arquivo .h "Funcoes.h"; Arquivo .c "Funcoes.c" Arquivo .c "main.c"  
      Eu tentei fazer o esquema acima, mas quando compilo o arquivo main.c o compilador me retorna um erro (Anexo I);
       
       

      Na minha opinião era pra dar certo, pois fiz igual um exemplo que eu tenho aqui (o exemplo tá em c++)...
       
      o que eu to deixando passar pra não ter dado certo?
      // FUNCOES.H #pragma once #include <stdio.h> #include <math.h> extern int assentoC[23]; extern int assentoJ[23]; extern float valort; void limpavetor(int *v1,int*v2); //FUNCOES.C #include "funcoes.h" void limparvetor(int *v1,int *v2){ int i; for(i=0;i<23;i++){ *(v1+i)=0; *(v2+i)=0; } } //MAIN.C #include<stdio.h> #include<math.h> #include <string.h> #include "funcoes.h" int assentoC[23]; int assentoJ[23]; float valort=0; char* verStatusAss(int *assento) {if(*assento>0) return "OCUPADO"; else return "DISPONIVEL"; } void comprar() { int i; int opt=0; int qt=0; int ass[23]; int confirma=0; int menu=0; int contDJ=1; int contDC=1; int destino=0; int cont=0; float valor1=28.0,valor2=159.0,valor3=188.0; printf("\t\t MENU\n"); printf("Destino: [1] Sao Paulo [2] Curitiba [3] Florianopolis: "); scanf("%i",&destino); printf("\n"); printf("voce quer comprar assentos em/ou: \n\n"); for(i=0;i<23;i++){ if(assentoC[i]==0){ contDC=0; } } for(i=0;i<23;i++){ if(assentoJ[i]==0){ contDJ=0; } } printf("ASSENTO DISPONIVEIS EM\n"); if(contDJ==0) printf("\n1 - Janela\n\n"); if(contDC==0) printf("2 - Corredor\n"); printf("\n\n\n3 - Voltar para menu principal\n"); scanf("%i",&opt); switch(opt){ case 1: printf("[JANELA] Quantos assentos?:"); scanf("%i",&qt); printf("\n"); printf("[JANELA] Qual/Quais assento?: "); for(i=0;i<qt;i++){ cont=0; while(cont<1){ printf("[JANELA] Bilhete: %i. Assento: ",i+1); scanf("%i",&ass[i]); printf("\n"); if(assentoJ[ass[i]]!=0){ printf("Assento OCUPADO. Escolha outro assento! "); }else { cont++; } } } printf("\t\t RESUMO\n"); printf("Posicao: JANELA \n"); for(i=0;i<qt;i++){ printf("Bilhete: %i.\t Assento: %i\n",i+1,ass[i]); } printf("CONFIRMA?? "); printf("[1] SIM [0] NAO:"); scanf("%i",&confirma); if(confirma!=0){ for(i=0;i<qt;i++) { assentoJ[ass[i]]=1; switch(destino) { case 1: valort=valort+(qt*valor1); break; case 2: valort=valort+(qt*valor2); break; case 3: valort=valort+(qt*valor3); break; } } } else { printf("VENDA NAO EFETUADA! VOLTANDO AO MENU PRINCIPAL..."); } break; case 2: printf("[CORREDOR] Quantos assentos?:"); scanf("%i",&qt); printf("\n"); printf("[CORREDOR] Qual/Quais assento?: "); for(i=0;i<qt;i++){ printf("[CORREDOR] Bilhete: %i. Assento: ",i+1); scanf("%i",&ass[i]); printf("\n"); } printf("\t\t RESUMO\n"); printf("Posicao: CORREDOR \n"); for(i=0;i<qt;i++){ printf("Bilhete: %i.\t Assento: %i\n",i+1,ass[i]); } printf("CONFIRMA?? "); printf("[1] SIM [0] NAO:"); scanf("%i",&confirma); if(confirma!=0){ for(i=0;i<qt;i++) { assentoJ[ass[i]]=1; } } else { printf("VENDA NAO EFETUADA! VOLTANDO AO MENU PRINCIPAL..."); } break; case 3: break; } } int menuprincipal() { int opt=0; printf("\t\t MENU PRINCIPAL\n\n"); printf("\t\t 1 - COMPRAR ASSENTO\n"); printf("\t\t 2 - VERIFICAR ASSENTOS\n"); printf("\t\t 3 - VER MAPA DO TRAJETO\n"); printf("\t\t 4 - VER LUCRO\n"); printf("\t\t 5 - SAIR\n"); printf("\t\t Digite uma opcao: "); scanf("%i",&opt); return opt; } int menusecundario() { int opt=0; printf("1 - COMPRAR ASSENTO // "); printf("2 - VERIFICAR ASSENTOS \n"); printf("3 - VER MAPA DO TRAJETO // "); printf("4 - VER LUCRO // "); printf("5 - VOLTAR PARA MENU PRINCIPAL\n"); printf("6 - SAIR \n"); printf("Digite uma opcao: "); scanf("%i",&opt); return opt; } void verAss() { int i; int opt=0; printf("\t\t MENU\n"); printf("voce quer ver assentos em/ou: \n"); printf("1 - Janela\n"); printf("2 - Corredor\n"); printf("3 - Todos\n"); printf("Digite uma opcao: "); scanf("%i",&opt); printf("\n"); for(i=0;i<23;i++) { switch(opt){ case 1: printf("[JANELA] Assento %i. STATUS: %s \n",i, verStatusAss(&assentoJ[i])); break; case 2: printf("[CORREDOR] Assento %i. STATUS: %s \n",i,verStatusAss(&assentoC[i])); break; case 3: printf("[JANELA] Assento %i. STATUS: %s \t [CORREDOR] Assento %i. STATUS: %s\n",i,verStatusAss(&assentoJ[i]),i,verStatusAss(&assentoC[i])); break; } } } int voltarMenuP(int *menu) { int menu2; printf("APERTE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL"); scanf("%i",&menu2); if(menu2!=0) *menu=1; return menu; } int acao(int opt,int * gameover) { int menu=0; while(!menu){ switch(opt){ case 1: comprar(); voltarMenuP(&menu); break; // VERIFICAR ASSENTOS case 2: verAss(); voltarMenuP(&menu); break; // verMap() case 3: printf("\t\t\MAPA\n"); printf("SJC\t->\t Sao Paulo\t->\t Curitiba\t->\t Florianopolis\n"); voltarMenuP(&menu); break; // verLuc() case 4: printf("Valor total: %.2f\n",valort); voltarMenuP(&menu); break; // exit() case 5: *gameover=1; return *gameover; break; } } } int main(){ int gameover=0; int opt; int i=0; limparvetor(&assentoC,&assentoJ); while(!gameover){ // MENU PRINCIPAL // -- func menuprincipal() acao(opt=menuprincipal(),&gameover); } return 0; }  
    • Por edvaldo joviano de paula
      Prezados, boa tarde!
      Preciso de uma ajuda sendo possível:
       
      Tenho o seguinte cenário em uma consulta ( formação de kits de produtos tendo como produto principal um valor igual, ex: produto 1 é formado pelos produtos 2 e 3)
      select codkit, produtos from kit where codkit = 1
      ---   ----
      1    2
      1    3
      Percebem que o resultado traz o codigo do kit (1) e os produtos que compoem este kit (2,3), porem o produto 2 tambem faz parte do kit 4 junto com o produto 10 e produto 3 faz parte do kit 5 junto com o produto 11 sendo:
      kit 1 (2,3)
      kit 4 (2,10)
      kit 5 (3,11).
       
      Eu preciso de uma ajuda sobre alguma função que ao comprar os produtos 2 e 3 e estes estando na mesma nota fiscal (select produtos from notafiscal = x) traga o resultado do kit que estes dois produtos juntos formam, exemplo, ao pesquisar (select produtos from notafiscal = x) nesta nota existir os produtos 2 e 3 traga o resultado 1, se na nota existir os produtos 2 e 10 traga o resultado 4 e se existir na consulta dos itens da nota os itens 3 e 11 o resultado seja 5. Caso na pesquisa eventualmente existir por exemplo 10 unidades do item 2, 5 unidades do item 3 e 5 unidades do item 10, o resultado deve ser 1 e 4 pois 5 unidades do 2+5 unidades do 3 forma o kit 1 e 5 unidades do 2+ 5 unidades do 10 formam o kit 4.
       
      Espero ter explicado de forma a ser entendido e agradeço a ajuda.
       
    • Por Diogo Dall'Orto
      Ola pessoal boa tarde.
      Por  gentileza preciso da vossa ajuda.
       
      O programa para verificar o maior,  menor e seus respectivos índices eu consegui fazer conforme podem observar no código e saída abaixo, o problema esta quando tenho que implementa-lo na função.
       
      #Escreva um programa em Python com uma função que recebe por parâmetro uma lista de números inteiros e retorna o índice em que se encontra o maior elemento da lista.
      #Escreva um programa em Python com uma função que recebe por parâmetro uma lista de números inteiros e retorna o índice em que se encontra o menor elemento da lista.
       
      Estou a uma semana agarrado nisso! Help please!
       
      # Criar um programa em python que cria # uma lista com 10 elementos. Após isso # implementar o algoritmo para verificar e # exibir o maior elemento do vetor lista = list() for i in range(1, 11): lista.append(int(input(f'{i} - Digite um valor: '))) pos = maior = menor = indice = indicemai = indicemen = 0 while pos < len(lista): if pos == 0: maior = menor = lista[pos] indice = pos else: if lista[pos] > maior: maior = lista[pos] indicemai = pos pos += 1 while pos < len(lista): if pos == 0: menor = maior = lista[pos] indice = pos else: if lista[pos] < menor: menor = lista[pos] indicemen = pos pos += 1 print() print(f'Maior valor na lista esta é {maior}, e esta na posicao [{indicemai}] ') print(f'Menor valor na lista esta é {menor}, e esta na posicao [{indicemen}]') "D:\Python\Projetos Pycharm\venv\Scripts\python.exe" "D:/_____Impacta_____/Python/Projetos Pycharm/MaiorValorNoVetor.py" 1 - Digite um valor: 34 2 - Digite um valor: 54 3 - Digite um valor: 65 4 - Digite um valor: 76 5 - Digite um valor: 87 6 - Digite um valor: 34 7 - Digite um valor: 54 8 - Digite um valor: 23 9 - Digite um valor: 54 10 - Digite um valor: 45 Maior valor na lista esta é 87, e esta na posicao [4] Menor valor na lista esta é 34, e esta na posicao [0] Process finished with exit code 0  
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.