Mudanças entre as edições de "AULA 18 - Programação 1 - Graduação"
Linha 33: | Linha 33: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | 4. Implemantar uma | + | 4. Implemantar uma função que recebe como parâmetro o endereço de duas variáveis do tipo char e |
− | após a chamada da função os valores das variáveis devem | + | após a chamada da função os valores das variáveis devem ser convertidos para caixa alta (maiúsculas). |
<syntaxhighlight lang=c> | <syntaxhighlight lang=c> |
Edição atual tal como às 13h20min de 21 de maio de 2015
Exercícios Adicionais ponteiros
1. Implementar um programa para ler dados para dentro das variáveis x e y e somar o conteúdo das mesmas colocando o resultado em x SEM referenciar estas variáveis no scanf ou na expressão de soma.
#include <stdio.h>
main()
{
float x,y;
}
2. Implementar uma função que compara duas strings passadas como parâmetro. A função retorna 0 se as strings forem iguais e 1 se diferentes. Usar ponteiros.
3. Implementar uma função que recebe como parâmetro o endereço de duas variáveis float que contêm a parte real e imaginária de um número complexo no formato polar (ângulo em radianos). A função deve converter do formato polar retangular colocando a coordenada x no primeira variável cujo endereço foi fornecido como parâmetro e a coordenada y na segunda variável (Olhar AULA 15).
void converte_polar_retang(float *parte1, float *parte2)
{
}
main()
{
float num1=1.5, num2=10.6;
/*chamar a função aqui */
/* imprimir os valores de num1 e num2 aqui */
}
4. Implemantar uma função que recebe como parâmetro o endereço de duas variáveis do tipo char e após a chamada da função os valores das variáveis devem ser convertidos para caixa alta (maiúsculas).
main()
{
char alfa='a', beta='b';
capitaliza(&alfa, &beta);
/* aqui os valores de alfa e beta deverão ser A e B */
}
5. Implementar uma função que recebe uma string contendo uma cadeia de caracteres com dígitos numéricos e retorna o valor inteiro da string. Usar ponteiros.
int a_toi(char *p)
{
}
main()
{
char *p="123";
int x;
x = a_toi(p);
/* neste ponto x deve conter 123 */
}
6. O código abaixo implementa a série responsável pelo cálculo da raiz quadrada de um número.
#include <stdio.h>
float raiz_quadrada(float numero);
int main( int argc, char **argv)
{
float numero;
printf("Entre com um número positivo por favor : ");
scanf("%f",&numero);
printf("A raiz quadrada de %.3f é %.5f \n",numero,raiz_quadrada(numero));
return(0);
}
float raiz_quadrada (float numero)
{
int n;
float recorre = numero;
for (n = 0; n < 10; ++n)
recorre = recorre/2 + numero/(2*recorre);
return(recorre);
}
7. O código abaixo implementa uma variação em que número é passado por parâmetro através do programa principal e retorna a raiz quadrada de um número para o SO.
#include <stdio.h>
#include <stdlib.h>
float raiz_quadrada (float numero)
{
int n;
float recorre = numero;
for (n = 0; n < 10; ++n)
recorre = recorre/2 + numero/(2*recorre);
return(recorre);
}
int main( int argc, char *argv[])
{
float numero;
if(argv[1]==NULL){
printf("\n%s: falta número",argv[0]);
}
numero=atof(argv[1]);
printf("\n%.4f \n",raiz_quadrada(numero));
return(0);
}
<< | Aula 18 | >> |
---|