<div style="text-align:center">
<img src="https://www.uninorteac.edu.br/static/images/ic-logo.png" height=40>
</div>
<div align="center">
<h1>
Exercício 2
</h1>
<h2>
Análise e Desenvolvimento de Sistemas<br>
Linguagem de Programação<br>
</h2>
<h3>
Prof. Edkallenn Lima
</h3>
</div>
## Instruções:
---
- Enviar para o e-mail do professor (edkallenn.lima@uninorteac.edu.br com cópia para o edkallenn.lima@uninorteac.com.
- ATENÇÃO: ENVIAR SOMENTE OS CÓDIGOS-FONTE (OS ARQUIVOS COM A EXTENSÃO .C)
- Data de entrega: 23/04/2022 às 14:00 (horário de Brasília)
- Quaisquer dúvidas podem ser tiradas no fórum, por e-mail ou preferencialmente na equipe do Teams da Disciplina, no privado.
---
### Resolva as seguintes questões:
#### 1. Faça os programas abaixo em Linguagem C:
- O triangulo de Pascal é um arranjo de números da forma:
<pre>
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
. . .
. . .
. . .
</pre>
onde o elemento que aparece na linha **i**, coluna **j** **(i>=1, j>=1)** é calculado por: $$\frac{(i-1)!}{(j-1)!(i-j)!}$$Dado um inteiro **n** (com **n>=1**), faça um programa para produzir um triângulo de Pascal com **n** linhas. O programa deverá verificar a consistência do dado de entrada e usar a função fatorial em sua forma _não-recursiva_.
- Elabore um programa que, dados os N valores inteiros de um vetor A, classificados em ordem crescente, determine e mostre um vetor B com os mesmos elementos de A, mas sem repetições. O tamanho e os elementos do vetor A devem ser gerados aleatoriamente.
- Fazer uma função que dado os valores de num e b (ambos inteiros) mostre a representação de num no sistema de numeração de base b.
- Implemente uma função que classifica os elementos de um vetor em ordem crescente usando o algoritmo “quicksort” (conhecido como “classificação rápida”):
- Seja **m** o elemento que ocupa a posição “central” no vetor;
- Seja **i** o índice do primeiro e **j**, o índice do último elemento do vetor;
- Enquanto **i** for menor ou igual a **j**, faça com que:
- O valor de **i** aumente até encontrar um elemento maior do que **m**;
- O valor de **j** diminua até encontrar um elemento menor do que **m**;
- Haja troca entre os elementos que ocupam as posições **i** e **j**;
- Ao final desses passos, a situação do vetor será a seguinte: à esquerda da posição central, existem somente elementos menores do que **m** e à direita da posição central, existem somente elementos maiores do que **m**. Assim o problema de ordenar o vetor se reduz a um problema de ordenar cada uma dessas “metades”. Para ordenar basta aplicar os mesmos passos a cada uma das “metades”. (Ou seja, a função será chamada _recursivamente_ para cada “metade”).
- Teste a função com dados gerados **aleatoriamente**
#### 2. Faça os seguintes programas em Linguagem C
- Implemente uma função que receba como parâmetro um vetor de números inteiros (vet) de tamanho n e inverta a ordem dos elementos armazenados nesse vetor. A função deve obedecer ao seguinte protótipo: `void inverte (int n, int *vet);`
- Implemente uma função que receba como parâmetro um vetor de números inteiros (vet) de tamanho n e retorne quantos números pares estão armazenados nesse vetor. A função deve obedecer ao seguinte protótipo: `int pares (int n, int *vet);`
- Em seguida exibir o vetor e embaixo, somente os pares;
- Testar a função com MAX números aleatórios (com MAX valendo 10, 20, 50, 100 e 1000).
- Exibir os resultados dos testes com valores aleatórios em uma tabela
- Fazer um programa para simular o lançamento de dois dados MAX vezes (os números gerados pelos dados são, obviamente, aleatórios) e exibir os valores do lançamento dos dados (cada um) a cada jogada e a soma dos mesmos (a cada jogada). Executar o programa com MAX sendo digitado pelo usuário. Exibir cada sequência de valores destes lançamentos dos dados de forma tabulada (`\t`). Criar uma tabela de frequências para cada face do dado e exibir a tabela de forma formatada, assim:
--------------------------------
|Face | Quantidade de Vezes|
--------|-----------------------
1 |xxxxx vezes
2 |xxxxx vezes
3 |xxxxx vezes
4 |xxxxx vezes
5 |xxxxx vezes
6 |xxxxx vezes
--------------------------------
Em seguida, exibir as 3 faces (e as respectivas quantidades) que mais foram sorteadas neste experimento! DICA: Use arrays
###### tags: `Linguagem de Programação`