TPmod1repP - Computação UFCG

Propaganda
DSC/CCT/UFCG
Matrícula
Universidade Federal de Campina Grande
Departamento de Sistemas e Computação
Disciplina: Técnicas de Programação
Profs.: Joseana Macêdo Fechine
José Eustáquio Rangel de Queiroz
MÓDULO I - REPOSIÇÃO
Nome
DATA: 28/10/2003
Nota
Atenção: Esta prova compõe a 2ª parte da prova de reposição do Módulo I, a qual constará de três partes:
Parte I (Teórica, peso 4,5), Parte II (Prática, peso 4,5) e Parte III (Listas de Exercícios, peso 1,0).
Parte II (Prática) - Reposição
Obs.: Os programas elaborados deverão ser armazenados em um disquete e entregues ao final da prova.
1. Considere o programa abaixo (pratica1.c) :
#include<stdio.h>
#include<stdlib.h>
#include <conio.h>
#include<math.h>
#define R 100.0
main()
{
int j, N;
float I,P;
FILE *fp, *fp2;
clrscr();
if((fp1=fopen("entrada.dat","r"))==NULL)
{
puts("Nao posso abrir arquivo!");
exit(1);
}
if((fp2=fopen("saida.dat","r"))==NULL)
{
puts("Nao posso criar o arquivo!");
exit(1);
}
printf("Digite o numero de dispositivos:\n");
scanf("%f",&N);
for (j=0; j<N; j++)
{
fscanf(fp1,"%f", I);
P=R*I*I;
fprintf(fp2,"Para R=%.1f (Ohm) e I= %.1f (A), P=%.1f (W)\n",I,P);
}
fclose(fp1);
fclose(fp2);
printf("\nPrograma concluido!");
getch();
}
Considere, por exemplo, que o
arquivo “entrada.dat” contém:
0.1
0.2
0.3
0.4
0.5
Realize o que se pede:
a) Corrija os erros do programa, caso existam, indicando as correções através de comentários.
b) Informe o que faz o programa e execute-o.
c) Forneça o conteúdo do arquivo de saída.
Obs.: Deverão ser copiados para o disquete, o programa corrigido, o arquivo de entrada e o arquivo de
saída.
3,0
2. Atualmente, muitas são as aplicações que envolvem o acesso remoto à informação (por exemplo:
monitoramento de equipamentos, acionamento de dispositivos em lugares distantes). Este acesso é,
normalmente, realizado através do uso de uma senha. Além disso, é comum utilizar técnicas de
codificação, visando tornar mais segura a transmissão da informação (senha). Portanto, é conveniente para
este aplicação, a solução de dois problemas: evitar que usuários não autorizados acessem o sistema e
evitar que esta senha possa ser “capturada” durante a transmissão.
Diante do exposto acima, desenvolva um programa em linguagem C que recebe a senha do usuário
(X), composta de 4 dígitos (X=x1x2x3 x4), sendo x4 o dígito de controle, testado de acordo com a expressão:
3
x 4 = 9 - { [(2  K) * x K )]/ 12}
K =1
Se o valor de x4 , obtido a partir da expressão acima, não corresponder ao valor digitado pelo usuário o
sistema deverá informar que a senha é inválida e encerrar o programa. Caso contrário, deverá ser
informado ao usuário que a senha é válida e, em seguida, esta senha deverá ser codificada para que,
posteriormente, possa ser enviada de forma a possibilitar o acesso remoto. A codificação deverá ser feita
da seguinte forma: o programa deverá converter o número X de 4 dígitos na forma x1x2x3 x4 (por exemplo:
x = 4583, no qual x1 = 4, x2 = 5, x3 = 8 e x4 = 3) em um número Y = y1y2y3y4 , correspondente a X codificado,
usando a seguinte regra:
y1 = ((x3 + 1) /6 + 1)
y2 = ((x1 + 2) /3 + 2)
y3 = ((x2 + 3) /5 + 4)
y4 = ((x2 + x1) /4 + 3)
Obs.: O programa deve ler X (número inteiro, que deverá ser lido de uma única vez) , verificar se X é válido
ou não (fornecendo a mensagem ao usuário) e imprimir Y.
3,0
3. Escreva um programa em linguagem C que calcula a resistência equivalente de um circuito elétrico.
Características do programa:
a) O usuário deverá a escolher uma entre duas opções: circuito em série ou circuito em paralelo;
b) O usuário deverá fornecer o número de resistores (o número máximo de resistores deverá ser 10) e o
valor da resistência de cada resistor;
c) O cálculo da resistência equivalente para o circuito em série e em paralelo, deverá ser feito em duas
funções distintas.
d) O programa deverá apresentar como saída as seguintes informações:
- O tipo do circuito (série ou paralelo);
- O valor da resistência de cada resistor (em ohm);
- A resistência equivalente do circuito (em ohm).
e) O programa deverá ser organizado em dois arquivos:
- O arquivo prog.c, que conterá o programa principal;
4,0
- O arquivo func.c, que conterá as funções.
Obs.: Os valores devem ser apresentados com duas casas decimais.
SUCESSO!
Download