Mudanças entre as edições de "Go: Exercícios"

De Aulas
 
(7 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
 +
  
  
 
Afluentes: [[Sistemas Distribuídos e Mobile]]
 
Afluentes: [[Sistemas Distribuídos e Mobile]]
 
 
= Exercícios de Go =
 
= Exercícios de Go =
 
Utilizando a linguagem de programação Go, desenvolva programas para resolver os seguintes exercícios.
 
Utilizando a linguagem de programação Go, desenvolva programas para resolver os seguintes exercícios.
 +
 +
[https://forms.gle/WF91S8Txy7f6k9Gx8 Formulário de participação] (aberto apenas 28/08/2024)
  
 
== Exercício 1 ==
 
== Exercício 1 ==
Linha 11: Linha 13:
 
2) Crie um vetor de números Float64 e já na inicialização da variável coloque elementos no vetor referente às notas finais dos alunos de uma turma. Calcule a média das notas da turma e imprima na tela.
 
2) Crie um vetor de números Float64 e já na inicialização da variável coloque elementos no vetor referente às notas finais dos alunos de uma turma. Calcule a média das notas da turma e imprima na tela.
  
3) Faça um programa em C que mostre o resultado das seguintes expressões:
+
3) Faça um programa que mostre o resultado das seguintes expressões:
  
 
* (-(-9) + sqrt((-9) * (-9) - 4 * 3 * 6)) / (2 * 3)
 
* (-(-9) + sqrt((-9) * (-9) - 4 * 3 * 6)) / (2 * 3)
 
* ((pow(3, 2) == 9) && (acos(0) == 0)) || (4 % 8 == 3)
 
* ((pow(3, 2) == 9) && (acos(0) == 0)) || (4 % 8 == 3)
  
4) Escreva programas em C para converter uma temperatura dada em graus Fahrenheit para graus Celsius.
+
4) Escreva programas para converter uma temperatura dada em graus Fahrenheit para graus Celsius.
  
 
== Exercícios 2 ==
 
== Exercícios 2 ==
1) Faça um programa em C que leia os valores A, B, C e imprima na tela se a soma de A + B é menor que C.
+
1) Faça um programa que leia os valores A, B, C e imprima na tela se a soma de A + B é menor que C.
  
 
2) Faça um programa que leia o nome, o sexo e o estado civil de uma pessoa. Caso sexo seja “F” e estado civil seja “CASADA”, solicitar o tempo de casada (anos).
 
2) Faça um programa que leia o nome, o sexo e o estado civil de uma pessoa. Caso sexo seja “F” e estado civil seja “CASADA”, solicitar o tempo de casada (anos).
Linha 72: Linha 74:
  
 
10) Escreva um programa que leia um valor inicial A e imprima a sequência de valores do cálculo de A! e o seu resultado. Ex: 5! = 5 X 4 X 3 X 2 X 1 = 120
 
10) Escreva um programa que leia um valor inicial A e imprima a sequência de valores do cálculo de A! e o seu resultado. Ex: 5! = 5 X 4 X 3 X 2 X 1 = 120
 +
 +
== Exercícios 4 ==
 +
 +
1. O que há de errado com o programa abaixo?
 +
 +
<syntaxhighlight lang=go>
 +
package main
 +
 +
import "fmt"
 +
 +
func main() {
 +
x := 10
 +
p := &x
 +
fmt.Println("O valor de x é ", p)
 +
}
 +
</syntaxhighlight>
 +
 +
2. Seja o seguinte trecho de programa
 +
 +
<syntaxhighlight lang=go>
 +
var i, j int = 3, 5
 +
p := &i
 +
q := &j
 +
</syntaxhighlight>
 +
 +
Qual será o valor das seguintes expressões:
 +
 +
* a) p==&i;
 +
* b) *p - *q;
 +
* c) &p==&i;
 +
* d) 3* *p/(*q)+7
 +
 +
3. Explique o programa abaixo. Encontre o erro, corrija-o para que o mesmo escreva o número 10 na tela.
 +
 +
<syntaxhighlight lang=go>
 +
package main
 +
 +
import "fmt"
 +
 +
func main() {
 +
var x int
 +
p := &x
 +
q := &p
 +
x = 10
 +
fmt.Println(&q)
 +
}
 +
</syntaxhighlight>
 +
 +
== Exercícios 5 ==
 +
 +
1. Fazer uma função que retorna a soma, a diferença e o produto entre dois números.
 +
 +
2. Faça uma função que passa dois inteiros como parâmetro e troca seus valores. Faça um programa que utilize essa função.
 +
 +
3. Fazer uma função que retorna a razão entre dois números. A função deve retornar pelo comando return o valor 1 se a operação foi possível e o valor 0 se a operação não foi possível (divisão por zero, por exemplo).
 +
 +
4. Fazer uma função para ler e retornar o valor das 3 notas de um aluno.
 +
 +
== Exercícios 6 ==
 +
1. Ler os dados para vários clientes, guardar todos na memória (em um vetor de structs), e imprimir o maior salário e a média das idades. Faça o programa de duas formas:
 +
 +
* a) não orientada a objetos
 +
* b) orientada a objetos

Edição atual tal como às 19h56min de 28 de agosto de 2024


Afluentes: Sistemas Distribuídos e Mobile

Exercícios de Go

Utilizando a linguagem de programação Go, desenvolva programas para resolver os seguintes exercícios.

Formulário de participação (aberto apenas 28/08/2024)

Exercício 1

1). Tendo 3 notas, sejam elas n1, n2 e n3, tire a média aritmética das notas e depois imprima a nota. Caso o aluno tirou igual ou mais que sete, informe que ele foi aprovado, caso a nota seja maior que quatro, mas menor que sete, então está de exame e, caso seja menor que quatro, informe que foi reprovado.

2) Crie um vetor de números Float64 e já na inicialização da variável coloque elementos no vetor referente às notas finais dos alunos de uma turma. Calcule a média das notas da turma e imprima na tela.

3) Faça um programa que mostre o resultado das seguintes expressões:

  • (-(-9) + sqrt((-9) * (-9) - 4 * 3 * 6)) / (2 * 3)
  • ((pow(3, 2) == 9) && (acos(0) == 0)) || (4 % 8 == 3)

4) Escreva programas para converter uma temperatura dada em graus Fahrenheit para graus Celsius.

Exercícios 2

1) Faça um programa que leia os valores A, B, C e imprima na tela se a soma de A + B é menor que C.

2) Faça um programa que leia o nome, o sexo e o estado civil de uma pessoa. Caso sexo seja “F” e estado civil seja “CASADA”, solicitar o tempo de casada (anos).

3) Faça um programa para receber um número qualquer e informar na tela se é par ou ímpar.

4) Faça um programa que leia dois valores inteiros A e B se os valores forem iguais deverá se somar os dois, caso contrário multiplique A por B. Ao final de qualquer um dos cálculos deve-se atribuir o resultado para uma variável C e mostrar seu conteúdo na tela.

5) Encontrar o dobro de um número caso ele seja positivo e o seu triplo caso seja negativo, imprimindo o resultado.

6) Escreva um programa que lê dois valores booleanos (lógicos) e então determina se ambos são VERDADEIROS ou FALSOS.

7) Faça um programa que leia uma variável e some 5 caso seja par ou some 8 caso seja ímpar, imprimir o resultado desta operação.

8) Escreva um programa que leia três valores inteiros e diferentes e mostre-os em ordem decrescente.

9) Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um programa que calcule seu peso ideal, utilizando as seguintes fórmulas:

  • para homens: (72.7 * h) – 58
  • para mulheres: (62.1 * h) – 44.7

10) O IMC – Indice de Massa Corporal é um critério da Organização Mundial de Saúde para dar uma indicação sobre a condição de peso de uma pessoa adulta. A fórmula é IMC = peso / ( altura ) 2 Elabore um programa que leia o peso e a altura de um adulto e mostre sua condição de acordo com a tabela abaixo.

IMC em adultos Condição

  • Abaixo de 18,5 Abaixo do peso
  • Entre 18,5 e 25 Peso normal
  • Entre 25 e 30 Acima do peso
  • Acima de 30 obeso

Exercício 3

1) Desenvolver um programa que efetue a soma de todos os números ímpares que são múltiplos de três e que se encontram no conjunto dos números de 1 até 500.

2) Desenvolver um programa que leia a altura de 10 pessoas. Este programa deverá calcular e mostrar :

  • A menor altura do grupo
  • A maior altura do grupo

3) Desenvolver um programa que leia um número não determinado de valores e calcule e escreva a média aritmética dos valores lidos, a quantidade de valores positivos, a quantidade de valores negativos e o percentual de valores negativos e positivos.

4) Escrever um programa que leia uma quantidade desconhecida de números e conte quantos deles estão nos seguintes intervalos: [0-25], [26-50], [51-75] e [76-100]. A entrada de dados deve terminar quando for lido um número negativo.

5) Faça um programa estruturado que leia uma quantidade não determinada de números positivos. Calcule a quantidade de números pares e ímpares, a média de valores pares e a média geral dos números lidos. O número que encerrará a leitura será zero.

6) Escrever um programa que gera e escreve os números ímpares entre 100 e 200.

7) Escrever um programa que leia um valor para uma variável N de 1 a 10 e calcule a tabuada de N. Mostre a tabuada na forma: 0 x N = 0, 1 x N = 1N, 2 x N = 2N, ..., 10 x N = 10N.

8) Escreva um programa que leia um valor inicial A e uma razão R e imprima uma sequência em P.A. contendo 10 valores.

9) Escreva um programa que leia um valor inicial A e uma razão R e imprima uma sequência em P.G. contendo 10 valores.

10) Escreva um programa que leia um valor inicial A e imprima a sequência de valores do cálculo de A! e o seu resultado. Ex: 5! = 5 X 4 X 3 X 2 X 1 = 120

Exercícios 4

1. O que há de errado com o programa abaixo?

package main

import "fmt"

func main() {
	x := 10
	p := &x
	fmt.Println("O valor de x é ", p)
}

2. Seja o seguinte trecho de programa

var i, j int = 3, 5
p := &i
q := &j

Qual será o valor das seguintes expressões:

  • a) p==&i;
  • b) *p - *q;
  • c) &p==&i;
  • d) 3* *p/(*q)+7

3. Explique o programa abaixo. Encontre o erro, corrija-o para que o mesmo escreva o número 10 na tela.

package main

import "fmt"

func main() {
	var x int
	p := &x
	q := &p
	x = 10
	fmt.Println(&q)
}

Exercícios 5

1. Fazer uma função que retorna a soma, a diferença e o produto entre dois números.

2. Faça uma função que passa dois inteiros como parâmetro e troca seus valores. Faça um programa que utilize essa função.

3. Fazer uma função que retorna a razão entre dois números. A função deve retornar pelo comando return o valor 1 se a operação foi possível e o valor 0 se a operação não foi possível (divisão por zero, por exemplo).

4. Fazer uma função para ler e retornar o valor das 3 notas de um aluno.

Exercícios 6

1. Ler os dados para vários clientes, guardar todos na memória (em um vetor de structs), e imprimir o maior salário e a média das idades. Faça o programa de duas formas:

  • a) não orientada a objetos
  • b) orientada a objetos