TP_RevisaoC I

Propaganda
```Disciplina: T&eacute;cnicas de Programa&ccedil;&atilde;o_______________________________________________________
Centro de Ci&ecirc;ncias e Tecnologia
Departamento de Sistemas e Computa&ccedil;&atilde;o
Disciplina: T&eacute;cnicas de Programa&ccedil;&atilde;o
Profs.: Joseana Macedo Fechine
Jos&eacute; Eust&aacute;quio Rangel de Queiroz
DSC/CCT/UFCG
Exerc&iacute;cio de Revis&atilde;o
DATA: 10/05/2004
DISCIPLINA
T&eacute;cnicas de Programa&ccedil;&atilde;o
Exerc&iacute;cios de Revis&atilde;o I – Linguagem C
Campina Grande – PB
Maio, 2004
DSC/CCT/UFCG ___________________________________________________________________
1
Disciplina: T&eacute;cnicas de Programa&ccedil;&atilde;o_______________________________________________________
Exerc&iacute;cios de Revis&atilde;o 1 − Linguagem C
1)
do programas abaixo.
1.1)
Programa 1
#include &lt;stdio.h&gt;
void main(void)
{
int m[2][2] = {{14, 29}, {58,33}};
int v1 = 0, v2 = 1;
char str[] = &quot;AEIOU&quot;;
printf(&quot;[%4d]&quot;, m[++v1][v2++]);
printf(&quot;[%-4d]&quot;, v1);
v2 += v1;
printf(&quot;[%04d]&quot;, v2);
printf(&quot;[%4.2s]&quot;, str);
v1 = (m[0][1]&gt;m[1][0])?2:3;
printf(&quot;[%c]&quot;, str[v1]);
}
1.2)
Programa 2
#include &lt;stdio.h&gt;
void main(void)
{
int n1=10, n2=8;
char txt[]=&quot;ABCDEF&quot;;
float vf=13.0;
printf(&quot;[%3d]&quot;, n1);
printf(&quot;[%04d]&quot;, n2);
printf(&quot;[%10s]&quot;, txt);
printf(&quot;[%c]&quot;, txt[1]);
printf(&quot;[%-8.3s]&quot;, txt);
printf(&quot;%10.2f&quot;, vf);
}
2)
Informe a opera&ccedil;&atilde;o realizada pelos programas abaixo.
2.1)
Programa 1
#include &lt;stdio.h&gt;
int main()
{
int x;
scanf(&quot;%d&quot;,&amp;x);
printf(&quot;%d&quot;,x);
return (0);
}
2
Disciplina: T&eacute;cnicas de Programa&ccedil;&atilde;o_______________________________________________________
2.2)
Programa 2
int main()
{
float Nota1,Nota2,Nota3,Nota4, Media;
printf(&quot;Digite a 1 nota&quot;);
scanf(&quot;%f&quot;, &amp;Nota1);
printf(&quot;Digite a 2 nota&quot;);
scanf(&quot;%f&quot;, &amp;Nota2);
printf(&quot;Digite a 3 nota&quot;);
scanf(&quot;%f&quot;, &amp;Nota3);
printf(&quot;Digite a 4 nota&quot;);
scanf(&quot;%f&quot;, &amp;Nota4);
Media = (Nota1 + Nota2 + Nota3 + Nota4) /
4;
printf(&quot;A media e: %f&quot;, Media);
return 0;
}
2.3)
Programa 3
#include &lt;stdio.h&gt;
int main(){
int valor, resto;
float nota,notaf;
clrscr();
printf (“Digite uma nota: );
scanf (“%f”, &amp;nota);
valor = nota * 10;
resto = valor % 10;
if (resto &lt;= 5)
notaf = (valor – resto) / 10.0;
else
notaf = (valor + (10 – resto))/10.0;
printf (“Nota Final : %f”, notaf);
return 0;
}
3.
Usando a Linguagem C, solucione os problemas abaixo apresentados.
3.1)
Escreva um programa que ordene inversamente os primeiros cem n&uacute;meros inteiros.
3.2)
Num laborat&oacute;rio de F&iacute;sica, em uma experi&ecirc;ncia relativa a Movimento
Uniformemente Variado, foram encontrados os seguintes valores: s 0 = 2 m,
v0 = 3 m/s, a = 10m/s&sup2;. Digitado o valor de t, em segundos, apresentar em tela o
valor de s, em metros. (Dica: Lembre-se da express&atilde;o s = s0 + v0.t + &frac12;.a.t&sup2;)
DSC/CCT/UFCG ___________________________________________________________________
3
Disciplina: T&eacute;cnicas de Programa&ccedil;&atilde;o_______________________________________________________
3.3)
Escrever um programa que receba, via teclado, os valores do espa&ccedil;o percorrido e
do tempo gasto por um ve&iacute;culo em movimento e calcule e apresente em tela sua
3.4)
O crit&eacute;rio de avalia&ccedil;&atilde;o semestral de determinada escola envolve as seguintes
notas:
P1 – primeira avalia&ccedil;&atilde;o do semestre.
P2 – segunda avalia&ccedil;&atilde;o do semestre.
Escreva um programa que leia as notas das provas (P1 e P2) e das atividades
semestrais (A), calcule e apresente a m&eacute;dia ponderada, sabendo que &agrave;s duas
provas s&atilde;o atribu&iacute;dos pesos iguais (4), enquanto a nota das atividades recebe peso
2.
3.5)
Elaborar um programa para calcular e imprimir o volume (V) de uma esfera e a &aacute;rea
(A) de sua superf&iacute;cie, dado o valor de seu raio (R). (Dica: Lembre-se que as
express&otilde;es para o c&aacute;lculo do volume e da &aacute;rea da esfera s&atilde;o, respectivamente,
V = 4/3 R&sup3; e A = 4R&sup2;.
3.6)
Escrever um programa que receba, via teclado, um determinado n&uacute;mero inteiro e
apresente em tela uma mensagem informando se o n&uacute;mero &eacute; par ou &iacute;mpar.
3.7)
Para tornar segura a transmiss&atilde;o de dados, costuma-se codific&aacute;-los antes de
transmiti-los. Suponha um n&uacute;mero X qualquer de 3 d&iacute;gitos na forma d1d2d3 (e.g.
237, no qual d1 = 2, d2 = 3 e d3 = 7). Escreva um programa em C que transforme o
n&uacute;mero X = d1d2d3 em um n&uacute;mero Y = f1f2f3, correspondente a X codificado, usando
a seguinte regra:
f1 = ((d3 + 7) mod 10)
f2 = ((d1 + 6) mod 9)
f3 = (9 mod (d2 + 1))
Obs.: O programa em C deve ler X e imprimir Y.
3.8)
O acesso ao Laborat&oacute;rio de Processamento de Sinais do DEE/UFCG &eacute; controlado a
partir de uma porta autom&aacute;tica. Para abrir a porta referido laborat&oacute;rio, &eacute; necess&aacute;rio
o uso de uma senha, composta por 4 d&iacute;gitos, no formato Y = d1d2d3C, onde C &eacute; o
d&iacute;gito de controle da senha (e.g, se Y = 7207, ent&atilde;o d1 = 7, d2 = 2 d3 = 0 e C = 7). O
d&iacute;gito C da senha &eacute; uma forma de seguran&ccedil;a que impede que pessoas n&atilde;o
consiga digitar uma senha, ela &eacute; testada para verificar se &eacute; v&aacute;lida. O setor de
seguran&ccedil;a comp&otilde;e a senha gerando aleatoriamente os d&iacute;gitos d 1, d2, d3 e d4 e o
d&iacute;gito C &eacute; calculado da seguinte forma:
3
C = 9 - ( [  (7 - K) * d k ] mod 10)
K =1
Assim, se d1 = 7, d2 = 2 d3 = 0 ent&atilde;o X = 720 e C = 7. Assim, a senha v&aacute;lida &eacute;
Y=7207. Se a senha digitada for X = 7206, a senha &eacute; inv&aacute;lida e a porta permanece
fechada. Escreva um algoritmo que leia o n&uacute;mero X = d1d2d3 e gere o n&uacute;mero Y
conforme a regra acima.
3.9)
Escreva um programa em C que apresente em tela uma seq&uuml;&ecirc;ncia de 30 n&uacute;meros
que obede&ccedil;am &agrave; seguinte regra: (i) os dois primeiros n&uacute;meros s&atilde;o 1; e (ii) qualquer
outro n&uacute;mero corresponde &agrave; soma dos dois anteriores ( 1 1 2 3 5 8 13 21 .... ). Esta
seq&uuml;&ecirc;ncia &eacute; conhecida como s&eacute;rie de Fibonacci.
4
Disciplina: T&eacute;cnicas de Programa&ccedil;&atilde;o_______________________________________________________
3.10) Uma empresa distribuidora de energia el&eacute;trica adotou normas de economia de
energia. Para cada im&oacute;vel, a meta de economia deve ser uma redu&ccedil;&atilde;o de 25% da
m&eacute;dia de consumo dos meses maio, junho e julho de 2003. Escreva um programa
em linguagem C, que leia o consumo dos meses mencionados e o consumo do m&ecirc;s
atual para v&aacute;rias resid&ecirc;ncias. O programa deve calcular a meta de economia,
informando se o consumidor est&aacute; dentro da meta ou ultrapassou o limite. No final do
c&aacute;lculo da meta de economia de cada im&oacute;vel, o programa dever&aacute; exibir uma
mensagem perguntando se o usu&aacute;rio deseja calcular mais uma meta; caso a
resposta seja negativa, ser&aacute; informado ao usu&aacute;rio a porcentagem de im&oacute;veis que
atingiram a meta e a porcentagem de im&oacute;veis que n&atilde;o a atingiram.
DSC/CCT/UFCG ___________________________________________________________________
5
```