Me ajudem por favor! Exercício - Linguagem de Programção, Eng.Elétrica

1. Me ajudem por favor! Exercício - Linguagem de Programção, Eng.Elétrica

Cássia Albertini
cassiaalbertini

(usa Outra)

Enviado em 14/04/2016 - 19:36h

Genteeee pelo amor de Deus, ou eu devo ser muito burra, ou eu não sei mais o que dizer, essa lista vale 2 PONTOOOS e eu sinceramente não consigo entender nadaaaaa, estou muito desesperada,me ajudem pelo amor do Pai santo Cristo!



1) Faça uma função para cada atender cada uma das seguintes finalidades:
a) Retorne o cálculo de um fatorial de um número;
b) Retorne o maior valor contido num array de inteiros;
c) Retorne o menor valor contido num array de inteiros;
d) Receba os valores dos dois catetos de um triângulo retângulo e retorne o valor da
hipotenusa;
2) Faça um programa que simule um dado sendo jogado 10 mil vezes. Guarde todos os valores
em variáveis e verifique no final as quantidades para cada valor que cair.
Dica: Utilize a função rand();
3) Faça um programa que compute a Média, Mediana e Moda utilizando arrays.
 Média (soma de todos os elementos dividido pela quantidade de elementos)
 Mediana (o elemento do meio quando os números estão listados de forma
sequencial). Para o caso de número de elementos pares, a mediana será a média entre
os dois elementos do meio;
 Moda (elemento que mais se repete na sequência)


  


2. Re: Me ajudem por favor! Exercício - Linguagem de Programção, Eng.Elétrica

Paulo
paulo1205

(usa Ubuntu)

Enviado em 15/04/2016 - 00:11h

Não se chame de burra, ainda mais em público.

Não sei se você deixou para a última hora (se sim, é uma pena), porque eu acho que posso ajudá-la a perceber que você já sabe programar, e talvez só não tenha consciência disso.

Programar não tem nada a ver com o computador. Se você é capaz de sentar e, com um papel e uma caneta, escrever em Português (e uma ou outra fórmula matemática, mas a prosa em língua natural é mais importante) como VOCÊ faria, passo a passo, para executar a tarefa pedida pela questão, então o texto que você escrever será nada menos do que um programa, justamente aquele para executar a tal tarefa.

Mais ainda: se esse programa em Português for traduzido para outro idioma, respeitando as regras sintáticas desse idioma, ele continuará sendo um programa. Tal idioma pode ser algo como Inglês, Espanhol, Francês ou Japonês, mas também pode ser C, C++, Python, Pascal, BASIC. O esforço de transferir de uma língua natural para outra é muito semelhante ao de traduzir da língua natural para a linguagem de programação.

Quer ver como é programar em Português? Vou dar um exemplo, com a função que tem de retornar a fatorial.

Antes de começar a escrever o “como”, cabe um pouco de organização. Você começa elencando quais são seus elementos iniciais, e o que você pretende entregar. Preste atenção.

Função para cálculo de fatorial de um número natural N.

Dados iniciais: o número natural N.
Resultados finais: o valor de N!, que corresponde a N*(N-1)*(N-2)*...*3*2*1.

Procedimento:
Defino a função FATORIAL de um número natural N com os seguintes passos:
Passo 1: (Aproveitando o fato de que o elemento neutro da multiplicação é 1)
predefino o valor de RESULTADO com 1;
Passo 2: Se o valor de N for menor do que 2, pulo para o Passo 6.
Passo 3: Multiplico o valor de RESULTADO por N, e faço este ser o novo valor de RESULTADO.
Passo 4: Subtraio 1 do valor de N, e faço este ser o novo valor de N.
Passo 5: Volto para o passo 2.
Passo 6: Devolvo o valor de RESULTADO como valor final da computação.


Concorda que, com o programa acima, você vai conseguir calcular o valor de da fatorial de um número natural N? Então você já sabe como fazer um programa simples.

Quando você se torna uma programadora um pouco mais hábil e experiente, percebe que algumas construções com sentido de execução repetida de um certo número de passos, controlada por uma certa condição de repetição, são muito comuns. Quando você tem esse insight, modifica até seu estilo de escrever em Português. Por exemplo, você poderia reescrever o programa acima de uma forma simplificada e mais estilosa (repare onde eu coloco os pontos e as vírgulas: cada período representa uma única ação, mesmo quando ela tem componentes menores, separados por vírgulas -- exatamente como você aprendeu nas aulas de redação na escola).

Defina-se a função FATORIAL(N) (sendo N um número natural) com os seguintes passos:
Seja RESULTADO igual a 1 (elemento neutro da multiplicação, e valor mínimo de qualquer fatorial).
Enquanto N for maior que 1 (isto é: 2 ou mais),
seja RESULTADO igual a N vezes o valor atual de RESULTADO, e
seja N igual a N menos 1. (Note que o “Enquanto” dá ao período uma ideia de possível repetição.)
Devolva-se o valor de RESULTADO.


Agora vamos traduzir o programa para Inglês (suprimindo os comentários entre parênteses):

Define function FACTORIAL(N) as the following steps:
Let RESULT equal 1.
While N is greater than 1,
Let RESULT be N times present RESULT, and
Let N be N minus 1.
Return value of RESULT.


Podemos também traduzir o programa para uma linguagem específica de programação. No caso da linguagem Python, você poderá ver uma semelhança bem razoável com o programa escrito em Inglês:

def factorial(n):                                                           
result=1
while n>1:
result=n*result
n=n-1
return result


Como você fez a pergunta numa comunidade de C, eu não poderia me furtar, numa explicação como esta, de mostrar o mesmo programa em C.

Antes, porém, quero lembrar-lhe que, assim como as línguas naturais têm suas peculiaridades (por exemplo: presença ou não de artigos, posição de adjetivos, gênero gramatical, nível de formalidade, tom do discurso etc.), as quais você deve seguir se quiser que o seu texto gramaticalmente correto em Português possa ser traduzido de modo aceitável para a outra língua, muitas linguagens de programação têm também suas exigências. C, por exemplo, tem diferentes tipos de dados, e exige que você informe antecipadamente o tipo dos dados associados a cada variável que você manipular ou que devolver como resultado de uma função. Essa exigência tem de ser atendida pela versão em C do nosso programa.

/*
O tipo “unsigned” é para números inteiros não-negativos. Ele é aplicado
ao tipo retornado pela função (escrito antes do nome da função) e ao
parâmetro n.

Os sinais de chaves cercam os componentes que definem a função.
*/
unsigned factorial(unsigned n) {
unsigned result=1; /* Declaro uma variável com tipo “unsigned”, e lhe atribuo um valor inicial. */
while(n>1) { /* Sinais de chaves indicam o bloco a ser condicionalmente repetido. */
result*=n; /* Peculiaridade do C: “a*=b” é o mesmo que “a=a*b”. */
--n; /* Outra peculiaridade: “--n” é o mesmo que “n=n-1”. */
} /* Dominar as peculiaridades é o que revela sua fluência em qualquer idioma. Não é? */
return result;
}


Viu só? Em poucos parágrafos, fizemos duas versões de um programa para cálculo da fatorial de um número, e ainda implementamos a segunda versão em quatro linguagens diferentes (duas naturais, e duas de programação).


Agora vá em frente com coragem, e faça os outros exercícios.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts