Respostas dos Exercícios. Lista 1 1.a) Escreva uma função que receba como parâmetro uma temperatura dada em graus Fahrenheit e retorna a temperatura.

Slides:



Advertisements
Apresentações semelhantes
Técnicas de Programação II Revisão TP1 Parte2
Advertisements

Programação II Estruturas de Dados
Linguagem C Estruturas de Seleção.
Matrizes e Funções - Continuação
PROGRAMAÇÃO I PONTEIROS.
Programação II Estruturas de Dados Aula 02 - continuação
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Uso de parâmetros na linha de comando. Parâmetros da função main:
 São utilizadas para dividir um código maior (mais complexo) em partes menores (mais simples).  Quando uma mesma tarefa é realizada várias vezes em um.
PONTEIROSPONTEIROS REVISÃO. Ponteiros Ponteiros representam endereços de memória Existem os ponteiros constantes e os ponteiros variáveis. Variáveis do.
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Ponteiros.
Programação de Computadores I – Ponteiros Profa. Mercedes Gonzales Márquez.
PCI- Funções e Procedimentos Profa. Mercedes Gonzales Márquez.
Fundamentos de Programação 1
Aula Prática 6 Ponteiros Monitoria  Quando declaramos uma matriz:  tipo meuArray[tam];  O compilador aloca a matriz em uma região de memória.
FUNÇÕES Dilvan Moreira (baseado em material de Z. Liang)
1 Aula 06 – Funções Prof. Filipe Mutz Colocar mais exemplos de funções simples no começo.
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Alocação Dinâmica de Memória.
Resolução comentada do problema "Desordens" Prof. Adolfo Neto Departamento Acadêmico de Informática Universidade Tecnológica Federal do Paraná
Estrutura Sequencial COUT CIN
Estruturas de Dados Aula 2: Estruturas Estáticas
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS Aulas Práticas – 2017
//. retangulo. c - exibe um retangulo vermelho no vídeo
Algoritmos e Estruturas de Dados I
Algoritmo e Estrutura de Dados I
INF1007: Programação 2 2 – Alocação Dinâmica
1) Complete as seguintes frases:
Algoritmos e Estruturas de Dados I
Fundamentos de Programação 1
Profa. Mercedes Gonzales Márquez
INF1007: Programação 2 1 – Ponteiros
Algoritmos e Estruturas de Dados I
Introdução à Computação para Engenharia MAC2166
Programação em C Aula 2.
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS Aulas Práticas
Algoritmos e Estruturas de Dados I
FUNDAMENTO DE PROGRAMAÇÃO
Algoritmos e Estruturas de Dados I
Fundamentos de Programação 1
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
FUNDAMENTO DE PROGRAMAÇÃO
FUNDAMENTO DE PROGRAMAÇÃO
Criação e manipulação de objetos
Programação de Computadores I – Arquivos
FUNDAMENTO DE PROGRAMAÇÃO PROF. WELLINGTON FRANCO
Algoritmos e Estruturas de Dados I
Exercício 1 Faça um programa que receba como entrada o nome e o salário de um funcionário de uma empresa e que calcule o novo valor do salário do.
Algoritmos e Técnicas CEFET/RN.
Estruturas de Repetição
Programação de Computadores I – Ponteiros
Técnicas de Programação
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS Aulas Práticas
Fundamentos de Programação 1
Rosemary Silveira Filgueiras Melo
Linguagem de Programação II
Programação de Computadores I – Arquivos
Programação de Computadores I – Ponteiros
DHD – Desenvolvimento em Hardware
Computação Eletrônica Vetores e Matrizes
DHD – Desenvolvimento em Hardware
Exercício sobre Interface Java
Estruturas definidas pelo programador
Representação de Algoritmos
Tipos Primitivos de Dados
DHD – Desenvolvimento em Hardware
Programação de Computadores LINGUAGEM C – AULA 03 – PROF. WELLINGTON TELLES.
Fundamentos de Programação 1
JAVA - BÁSICO COL. ESTADUAL MARIA AGUIAR TEIXEIRA
Aula 2 Professores: Conteúdo: Dante Corbucci Filho
Transcrição da apresentação:

Respostas dos Exercícios

Lista 1

1.a) Escreva uma função que receba como parâmetro uma temperatura dada em graus Fahrenheit e retorna a temperatura em graus Celsius. (T (F) = T (C) x 9/5 + 32)

double converte_para_celsius(double fahreinheit) { double celsius; celsius = 5 * (fahreinheit - 32) / 9; return celsius; }

1.b) Escreva uma função que receba como parâmetro um inteiro com três algarismos e retorna o seu valor invertido (exemplo: o invertido de 498 é 894).

int inverte(int numero) { int invertido, unidade, dezena, centena; unidade = numero % 10; dezena = (numero % 100) / 10; centena = numero / 100; invertido = 100 * unidade + 10 * dezena + centena; return invertido; }

1.c) Escreva uma função que receba como parâmetros os inteiros x e y e retorna o maior múltiplo de x que seja menor do que ou igual a y (exemplo: o maior múltiplo de 7 menor que 50 é 49).

int maior_multiplo(int x, int y) { int maior_multiplo; maior_multiplo = y – (y % x); return maior_multiplo; }

2) Uma loja vende seus produtos no sistema entrada mais duas prestações, sendo a entrada maior do que ou igual às duas prestações; estas devem ser iguais, inteiras e as maiores possíveis. Por exemplo, se o valor da mercadoria for R$ 270,00, a entrada e as duas prestações são iguais a R$ 90,00; se o valor da mercadoria for R$ 302,75, a entrada é de R$ 102,75 e as duas prestações são iguais a R$ 100,00. Escreva um programa que receba o valor da mercadoria e imprima na tela o valor da entrada e das duas prestações, de acordo com as regras acima.

#include void main() { float compra, entrada; int parcelas; parcelas = compra / 3; entrada = compra – (2 * parcelas); printf(“Entrada = %f\n”, entrada); printf(“Parcelas = %d\n”, parcelas); }

3) Escreva um programa que converta um intervalo de tempo dado em segundos para horas, minutos e segundos. Por exemplo, se o tempo dado for segundos o programa deve imprimir na tela 1 h 4 min 10 s.

#include void main() { int tempo, horas, minutos, segundos; horas = tempo / 3600; minutos = (tempo % 3600) / 60; segundos = tempo % 60; printf(“%d horas, %d minutos e %d segundos\n”, horas, minutos, segundos); }

4) Um programa para gerenciar os saques de um caixa eletrônico deve possuir algum mecanismo para decidir o número de notas de cada valor que deve ser disponibilizado para o cliente que realizou o saque. Um possível critério seria o da "distribuição ótima" no sentido de que as notas de menor valor disponíveis fossem distribuídas em número mínimo possível. Por exemplo, se a máquina só dispõe de notas de R$ 50, de R$ 10, de R$ 5 e de R$ 2, para uma quantia solicitada de R$ 87, o programa deveria indicar uma nota de R$ 50, três notas de R$ 10, uma nota de R$ 5 e uma nota de R$ 2. Escreva um programa que receba o valor da quantia solicitada e imprima na tela a distribuição das notas de acordo com o critério da distribuição ótima.

#include void main() { int s, saque, notas100, notas50, notas20, notas10, notas5, notas2, notas1; notas100 = saque / 100; s = saque % 100; notas50 = s / 50; s = s % 50; notas20 = s / 20; s = s % 20; notas10 = s / 10; s = s % 10; notas5 = s / 5; s = s % 5; notas2 = s / 2; notas1 = s % 2; printf(...); }

Lista 2

1) Implementar uma função de nome troca1 que tem como parâmetros dois inteiros, valor1 e valor2, e não retorna nada. Essa função deve trocar os valores de valor1 e valor2 e imprimir os seus valores trocados. Exemplo: se a função receber como parâmetros valor1=32 e valor2=99, então a função deve imprimir a mensagem fim da função: valor1=99 e valor2=32 ao final da sua execução (ainda dentro da função).

void troca1(int valor1, int valor2) { int aux; aux = valor1; valor1 = valor2; valor2 = aux; printf(“fim da função: valor1=%d e valor2=%d\n”, valor1, valor2); }

2) Implementar uma função de nome troca2 que tem como parâmetros duas variáveis capazes de armazenar endereços de memória de inteiros (que tipo de variável é capaz de fazer isso?), end_valor1 e end_valor2. Essa função deve trocar o conteúdo dos endereços armazenados nessas variáveis, ou seja, o conteúdo armazenado pelo primeiro parâmetro deve ser armazenado no endereço do segundo parâmetro e vice-versa. Assim como na função anterior, essa função deve imprimir o conteúdo dos endereços de end_valor1 e end_valor2 ao final da sua execução.

void troca2(int* end_valor1, int* end_valor2) { int aux; aux = *end_valor1; *end_valor1 = *end_valor2; *end_valor2 = aux; printf(“fim da função: end_valor1=%d e end_valor2=%d\n”, *end_valor1, *end_valor2); }

3) Implemente um programa para usar e testar as duas funções criadas anteriormente. Para isso, neste programa, crie duas variáveis inteiras: x=1 e y=100. Depois disso, faça as seguintes operações: 1.Chame a função troca1 passando as variáveis x e y como parâmetros e nesta ordem. 2.Imprima na tela os valores de x e de y. 3.Chame a função troca2 passando as variáveis x e y como parâmetros e nesta ordem. Note que a função troca2 não recebe inteiros como parâmetros, mas endereços de memória de inteiros. Então, o que devo fazer? 4.Imprima na tela os valores de x e y.

#include void main() { int x, y; x = 1; y = 100; troca1(x, y); printf(“x = %d e y = %d\n”, x, y); troca2(&x, &y); printf(“x = %d e y = %d\n”, x, y); }