Sei sulla pagina 1di 5

CIn - UFPE Introduo Programao Lista de Exerccios 3 Monitoria 2011.

proibido o uso das funes das bibliotecas string.h, ctype.h e semelhantes.

1) Escreva um

programa em C que recebe 10 nmeros inteiros positivos (entre 0 e 100000), e vai colocando esses nmeros em um vetor de 10 posies. Logo aps, seu programa deve verificar se cada valor desse vetor perfeito ou no. Um valor dito perfeito quando ele igual a soma dos seus divisores excetuando ele prprio. (Ex: 6 perfeito, 6 = 1 + 2 + 3, que so seus divisores).

O seu programa deve imprimir na tela os ndices dos inteiros perfeitos em ordem decrescente. Entrada:

3 2 6 12 45 101 28 90 21 78
Sada

6 2 /*ndices em ordem decrescente dos dois nmeros perfeitos (6 e 28)*/

2) O

dodecafonismo (do grego dodeka: 'doze' e fonos: 'som') um sistema de organizao de alturas musicas. No dodecafonismo as 12 notas musicais so tratadas como equivalentes, ou seja, sujeitas a uma relao ordenada e no hierrquica. As notas so organizadas em grupos de doze notas denominados sries as quais podem ser usadas de diferentes maneiras. Faa um programa que receba 12 elementos de um vetor, o ndice do vetor representa uma nota musical e o valor que est guardado naquele ndice representa a ordem em que ele ser executado. O vetor recebido ser considerado a Srie inicial. A partir dessa srie seu programa deve gerar a seguinte srie:

- Srie Retrograda: Copia os elementos da serie original para um novo vetor mas com a ordem inversa da srie original. OBS: A troca deve ser feita varrendo o vetor e depois trocando as 2 posies.

Ex:
Entrada:
8,2,5,0,3,1,10,4,9,11,6,7 // Aqui o usurio preencheu o vetor.

// Explicao. Como o 8 foi o primeiro numero inserido pelo usurio, o elemento de ndice 8 do vetor representa a primeira nota a ser executada, logo, o contedo do vetor na posio de ndice 8 dever conter 0(representa a primeira nota tocada). A explicao para os outros itens anloga. Sada: Srie Retrograda 7,6,11,9,4,10,1,3,0,5,2,8 // Esta deve ser a sada depois de ser executada a troca. Essa nova srie deve ser armazenada em um novo vetor, e depois da troca deve-se imprimir os elementos na nova ordem. Na imagem a primeira nota a ser executada a de ndice 7, logo o

contedo do vetor nessa posio deve ser 0 (representa a primeira nota a ser executada).

Obs: A imagem com o vetor no deve ser impressa na tela. Ela apenas para demonstrar como fica o preenchimento do vetor com as operaes escolhidas. O que deve ser impresso na tela a sequncia da execuo das notas como no exemplo acima.

3) Em

lgica e matemtica, uma lgica proposicional (ou clculo sentencial) um sistema formal no qual as frmulas representam proposies que podem ser formadas pela combinao de proposies atmicas usando conectivos lgicos e um sistema de regras de derivao, que permite que certas frmulas sejam estabelecidas como "teoremas" do sistema formal. Duas frmulas (ou sentenas) so ditas equivalentes quando, para quaisquer valor das variveis (combinaes de 0 e 1), ambas geram o mesmo resultado, ou seja, possuem resultado da tabela verdade igual. (Wikipedia)

Voc deve fazer um programa que receba do usurio duas sentenas e diga se elas so equivalentes ou no. Observaes: Cada expresso ter tamanho mximo de 5 caracteres, haver apenas DUAS variveis (x e y). Vale salientar que pode haver apenas UMA ocorrncia DE CADA varivel na expresso de entrada. As operaes permitidas so E, OU, XOR, IMPLICA e NOT. Os respectivos caracteres so os seguintes: E = ^ OU = | XOR = ? Implica = > Not =

Quaisquer caracteres que no sejam estes ou as letras EM MAIUSCULO X e Y devem invalidar a expresso e uma mensagem de erro deve ser mostrada ao usurio. A expresso ser simples e no conter parnteses. As expresses NO devem conter espao.

Entrada: X^Y //expresso1 X|Y//expresso2 Sada

No so equivalentes //resultado
Entrada: X|Y //expresso1 X>Y //expresso2 Sada

So equivalentes //resultado
Entrada: X > Y //expresso1 Z &(Y) //expresso2 Sada

Expressoes Invalidas! //resultado

4) Voc dever criar novas funes para uma biblioteca de string.


Inserir Insere um caractere em uma determinada posio da string; Remover Remove o caractere determinado pela posio da string; Substituir Substitui o caractere de uma determinada posio por um novo caractere; Alternar Se o caractere determinado pela posio for minsculo, alternar para maisculo, caso seja maisculo, alternar para minsculo, caso no seja uma letra, no faz nada. Compara O usurio insere outra string e o programa informa se ela lexicograficamente posterior, superior ou igual imediatamente. Concatenar O usurio insere uma string e ela deve ser concatenada SE ainda couber no espao de 50 caracteres. Essa nova string poder conter no mximo 20 caracteres. Finalizar Encerra o programa e mostra a string com as modificaes

Exemplos
Entrada: caza substituir 3 s alternar 1 finalizar Sada: Casa Entrada: Ingreja remover 2 finalizar Sada: Igreja

Entrada: carapato inserir 3 r finalizar Sada: Carrapato

5) O azulejo um importante material no ramo da construo civil por sua histria e por
sua caracterstica de impermeabilidade unida capacidade decorativa que explorada principalmente em mosaicos. Cientistas desenvolveram uma tinta a base e bactrias inteligentes que podem mudar constantemente de lugar num azulejo de acordo com alguns critrios. Como a procura por essa tal tinta cresceu, voc deve desenvolver um programa que simule essa mudana para a apreciao de clientes. Uma matriz nXn (0<n<=50) ser preenchida com apenas 0 e 1 onde o 1 indica a presena da tinta num azulejo (representado por uma clula da matriz) e 0, a ausncia. Aps isso, essa matriz deve ser impressa sendo o 1 impresso com um X e o 0 impresso com um espao em branco. A cada interao, as mudanas devero ser aplicadas e a nova matriz impressa. Uma nova interao deve comear quando o usurio digitar uma tecla. Se a tecla E for pressionada, o programa encerra. Os critrios de mudana so os seguintes: Se um azulejo com tinta tiver apenas um ou nenhum vizinho tambm com tinta, perde a tinta, pois a bactria morre. Se um azulejo com tinta tiver 4 ou mais vizinhos com tinta, fica sem tinta pois a bactria morre por falta de ar. Se um azulejo com tinta tem exatamente dois ou trs vizinhos, ele permanece com tinta. Todo azulejo sem tinta que contm exatamente dois ou trs vizinhos com tinta, passa a ser pintado.

Insero da Matriz

Print da matriz aps a insero e o programa espera at o usurio digitar uma tecla

Primeiro Lao. Matriz sofre as mudanas e o programa espera que o usurio digite uma tecla. Aqui, aps essa impresso ele digitou uma tecla diferente de E

Segundo Lao. Matriz sofre as mudanas e o programa espera que o usurio digite uma tecla. Aqui, aps essa impresso ele digitou E. O programa foi encerrado.

Potrebbero piacerti anche