Mudanças entre as edições de "AULA 15 - Programação 1 - Graduação"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada)
Linha 72: Linha 72:
 
Implementar uma função que some dois números complexos no formato ''polar'' e retorna a soma no formato ''polar''.
 
Implementar uma função que some dois números complexos no formato ''polar'' e retorna a soma no formato ''polar''.
  
=Avaliação Semestre Passado=
 
 
''Professor Eraldo''.
 
 
==Avaliação: Turma 1==
 
 
Implementar as funções indicadas abaixo:
 
 
<syntaxhighlight lang=c>
 
#include <stdio.h>
 
 
struct tipo_local{
 
  char rua[30];
 
  int numero;
 
  char cidade[30];
 
  char estado[3];
 
};
 
 
struct tipo_jogo {
 
  int ganhadores_sena;
 
  int ganhadores_quina;
 
  float premio_sena;
 
  float premio_quina;
 
  struct tipo_local local;
 
  int resultado[6];
 
} Jogos[5] =
 
  {
 
{ 1, 5, 1200000, 500000, {"Rua Pedro da Silva", 30, "Florianopolis", "SC"}, {1,2,3,4,5,6}},
 
{ 4, 10, 1500000, 100000, {"Rua Joao da Silva", 30, "Cruz Alta", "RS"},{10,20,33,44,54,6}},   
 
{ 3, 20, 2000000, 300000, {"Rua Maria da Silva", 30, "Curitiba", "PR"}, {1,2,3,4,5,43}},
 
{ 2, 50, 1300000, 600000, {"Rua Jose da Silva", 30, "Tijucas", "SC"}, {1,2,3,44,5,6}},
 
{ 10, 30, 1800000, 550000, {"Rua Ana da Silva", 30, "Itajai", "SC"}, {1,2,33,4,5,6}},
 
  };
 
 
/* retorna a media dos premios da sena por pessoa em todos os jogos */
 
 
float media_premio_sena()
 
{
 
}
 
 
/* retorna
 
  0 se NÃO existe jogo existente com o vetor passado
 
  1 se existe jogo com sena
 
*/
 
 
int teste_jogo(int vet[6])
 
{
 
}
 
 
int num_jogos_estado(char estado[3])
 
{
 
}
 
 
void main()
 
{
 
}
 
</syntaxhighlight>
 
 
==Avaliação: Turma 2==
 
 
Implementar as funções indicadas abaixo:
 
 
<syntaxhighlight lang=c>
 
#include <stdio.h>
 
 
struct tipo_local{
 
  char rua[30];
 
  int numero;
 
  char cidade[30];
 
  char estado[3];
 
};
 
 
struct tipo_jogo {
 
  int ganhadores_sena;
 
  int ganhadores_quina;
 
  float premio_sena;
 
  float premio_quina;
 
  struct tipo_local local;
 
  int resultado[6];
 
} Jogos[5] =
 
  {
 
{ 1, 5, 1200000, 500000, {"Rua Pedro da Silva", 30, "Florianopolis", "SC"}, {1,2,3,4,5,6}},
 
{ 4, 10, 1500000, 100000, {"Rua Joao da Silva", 30, "Cruz Alta", "RS"},{10,20,33,44,54,6}},   
 
{ 3, 20, 2000000, 300000, {"Rua Maria da Silva", 30, "Curitiba", "PR"}, {1,2,3,4,5,43}},
 
{ 2, 50, 1300000, 600000, {"Rua Jose da Silva", 30, "Tijucas", "SC"}, {1,2,3,44,5,6}},
 
{ 10, 30, 1800000, 550000, {"Rua Ana da Silva", 30, "Itajai", "SC"}, {1,2,33,4,5,6}},
 
  };
 
 
/* retorna a media dos premios da quina (prêmio por por pessoa) em todos os jogos
 
  que ocorreram em um dado estado*/
 
 
float media_premio_quina(char estado[3])
 
{
 
}
 
 
/* retorna
 
  0 se NÃO existe jogo com sena  existente  no vetor passado
 
  1 se existe jogo com sena
 
*/
 
 
int teste_jogo_sena(int vet[6])
 
{
 
}
 
 
/* retorna o total de jogos na mesma cidade */
 
int total_jogos_mesmo_local(char estado[3])
 
{
 
}
 
 
void main()
 
{
 
}</syntaxhighlight>
 
  
  
Linha 190: Linha 78:
 
! style="background: #cdc5bf;" | [[AULA 14 - Programação 1 - Graduação | << ]]
 
! style="background: #cdc5bf;" | [[AULA 14 - Programação 1 - Graduação | << ]]
 
! style="background: #cdc5bf;" | Aula 15
 
! style="background: #cdc5bf;" | Aula 15
! style="background: #cdc5bf;" | <>
+
! style="background: #cdc5bf;" | [[AULA 16 - Programação 1 - Graduação | >> ]]
 
|}
 
|}

Edição atual tal como às 13h25min de 30 de abril de 2015

Exercícios com Structs

Exercício 1

Implementar uma função converte_para_polar que recebe como parâmetro um número complexo na forma retangular (representado por uma struct). A função deve retornar uma struct contendo o número complexo na forma polar.Usar as funções sqrtf e atanf da [matemáticas biblioteca matemática]. Como converter:

ou

NOTE que as funções atanf e similares retornam em RADIANOS.

#include <stdio.h>
#include <math.h>

struct tipo_ret {
 	float x;
 	float y;
};

struct tipo_polar {
 	float mod;
 	float ang;
};


/* Função para converter complexo retangular em polar */

struct tipo_polar converter_ret_pol(struct tipo_ret num_ret)
{
  struct tipo_polar num_polar;
  float aux;
  
  aux = num_ret.x*num_ret.x + num_ret.y*num_ret.y;
  
  /* falta a lógica para detectar o quadrante */
  num_polar.mod = sqrtf(aux);
  num_polar.ang = atanf(num_ret.y/num_ret.x);
  return num_polar; 
}

/* Função para imprimir complexo retangular */
void imprimir_complexo_ret(struct tipo_ret num_ret)
{
  printf("Coordenada x = %f", num_ret.x);
  printf("Coordenada y = %f\n", num_ret.y);
}

/* Função para imprimir complexo retangular */
void imprimir_complexto_pol(struct tipo_ret num_ret)
{
  printf("Coordenada x = %f", num_ret.x);
  printf("Coordenada y = %f\n", num_ret.y);
}

main()
{
  struct tipo_ret num1;
  struct tipo_polar num2;
  
  num1.x = 5;
  num1.y = 10;
  num2 = converter_ret_pol (num1);  
}

Exercício 2

Implementar uma função que some dois números complexos no formato retangular e retorne a soma como um complexo retangular.

Exercício 3

Implementar uma função que some dois números complexos no formato polar e retorna a soma no formato polar.



<< Aula 15 >>