Você está na página 1de 2

UNIVERSIDADE DO ESTADO DA BAHIA UNEB

DCET I - SISTEMAS DE INFORMAO


LINGUAGEM DE PROGRAMAO I
2013.2 PROVA I
ORIENTAES PARA RESPONDER A PROVA
1. Responda todas as questes na folha pautada;
2. Questes respondidas lpis no do direito reviso da correo;
3. Antes (ou depois) de cada programa, soluo das questes 2 e 3, apresente uma
breve descrio (um ou dois pargrafos) sobre o princpio de funcionamento das
estruturas de dados e algoritmo que foram usados na soluo da questo;
4. Apresente os programas codificados em linguagem C de forma clara e organizada
use comentrios se desejar ao longo do cdigo;
5. Antes de cada descreva, em um texto resumido, o raciocnio usado no algoritmo
adotado para resolver o problema;
6. Para pontuar as questes de programao sero avaliados aspectos como:
simplicidade e objetividade do cdigo, clareza e organizao da apresentao,
completude da soluo e uso correto da linguagem C.

Li e estou ciente: ___________________________ Matrcula ______________

Questo 1 (valor 2,0)


Mostre o trecho de cdigo (apenas o trecho) em linguagem C necessrio para executar o
seguinte:
a) Declarar uma varivel inteira I e uma varivel apontador de inteiro pI;
b) Declarar uma cadeia de caracteres chamada MSG contendo Prova de LP I;
c) Declarar um registro contendo os campos inteiro X e o array inteiro V unidimensional
de 100 posies;
d) Declarar o apontador para caracter pV e inicializar ele com a alocao de 50 posies
de elementos inteiros alocados dinamicamente usando a funo malloc.

Questo 2 (valor 4,0)


Num sorteio que distribui prmios, um participante inicialmente sorteia um inteiro N e
depois N valores. O nmero de pontos do participante o tamanho da maior sequncia de
valores consecutivos iguais. Por exemplo, suponhamos que um participante sorteia N= 11 e,
nesta ordem, os valores:
30, 30, 30, 30, 40, 40, 40, 40, 40, 30, 30

Ento, o participante ganha 5 pontos, correspondentes aos 5 valores 40 consecutivos. Note


que o participante sorteou 6 valores iguais a 30, mas nem todos so consecutivos.
Escreva um programa em C que determina o nmero de pontos de um participante.
Entrada
A primeira linha da entrada contm um inteiro N, o nmero de valores sorteados. A segunda
linha contm N valores inteiros, V1, V2, . . . , VN, na ordem de sorteio, separados por um espao
em branco.
Sada
Seu programa deve imprimir apenas uma linha, contendo apenas um inteiro, indicando o
nmero de pontos do participante.

Questo 3 (valor 4,0)


Chama-se de quadrado mgico um arranjo, na forma de um quadrado, de NN nmeros
inteiros tal que todas as linhas, colunas e diagonais tm a mesma soma. Por exemplo, o
quadrado abaixo:
276
951
438
um quadrado mgico de soma 15, pois todas as linhas (2+7+6 = 15, 9+5+1 = 15 e 4+3+8 = 15),
colunas (2 + 9 + 4 = 15, 7 + 5 + 3 = 15 e 6 + 1 + 8 = 15) e diagonais (2 + 5 + 8 = 15 e 6 + 5 + 4 =
15) tm a mesma soma (15).
Escreva uma funo em C que recebe como parmetros um valor inteiro N (2 < N < 10) e uma
matriz QUAD de dimenso NxN e determina se QUAD quadrado magico, devolvendo a soma
dele (caso seja mgico) e 1, caso contrrio.