Mudanças entre as edições de "AULA 18 - Programação 1 - Graduação"
(Criou página com '=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 refere...') |
|||
(9 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
=Exercícios Adicionais ponteiros= | =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 | + | 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. | referenciar estas variáveis no scanf ou na expressão de soma. | ||
Linha 12: | Linha 12: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | 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. | + | 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. | 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. | + | 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). |
<syntaxhighlight lang=c> | <syntaxhighlight lang=c> | ||
− | void converte_polar_retang(float *parte1, float parte2) | + | void converte_polar_retang(float *parte1, float *parte2) |
{ | { | ||
} | } | ||
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> | ||
Linha 48: | Linha 48: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | 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. | + | 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. |
<syntaxhighlight lang=c> | <syntaxhighlight lang=c> | ||
Linha 66: | Linha 66: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | 6. O código abaixo implementa a série responsável pelo cálculo da raiz quadrada de um número. | ||
+ | |||
+ | <syntaxhighlight lang=c> | ||
+ | #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); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | <syntaxhighlight lang=c> | ||
+ | #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); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" | ||
+ | ! style="background: #cdc5bf;" | [[AULA 17 - Programação 1 - Graduação | << ]] | ||
+ | ! style="background: #cdc5bf;" | Aula 18 | ||
+ | ! style="background: #cdc5bf;" | [[AULA 19 - Programação 1 - Graduação | >> ]] | ||
+ | |} |
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 | >> |
---|