Buscar

Trabalho C

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

CCT-0308 – Estrutura de Dados
Lista de Exercícios p/ 29-set-2017
Crie um aplicativo em C que peça um número inicial ao usuário, uma razão e calcule os termos de uma P.G (Progressão Geométrica), armazenando esses valores em um vetor de tamanho 10.
Ex. Número Inicial: 5 –Razão: 3
5, 15, 45, 135, 405, 1215, ...
R: 
 #include <iostream> 
 #include <stdio.h> 
 
 using namespace std; 
 
 int main(){
 
 	int numero[10];
 
 	int razao,n1; //pa (prgressão aritmética 
 
 	cout << "Digite um valor inicial o qual iniciara nossa sequencia: "; 
 	cin >>n1; 
 
 	cout <<"Digite um numero como razao para nossa sequencia: "; 
 	cin >>razao;
 
 	for (int i=0; i<10; i++){
 
 		cout <<n1 << " "; 
 		n1=n1*razao;
 
 	}
 
 	return 0;
 
 }
Crie um programa em C que peça 10 números, armazene eles em um vetor e diga qual elemento é o maior, e seu valor.
R: 
#include <iostream> 
#include <stdio.h> 
 
 using namespace std;
 
 int main(){
 
 	int numero[10];
 
 	int maior=0;
 
 	for (int i=0; i<10; i++){
 
 		cout <<"Digite o valor do número " << i+1 <<":"; 
 		 cin >> numero[i];
 
 		if (numero[i]> maior){ 
 			 maior=numero[i]; 
 			} 
 		} 
 	cout <<"\nMaior número é: " <<maior; 
 	return 0; 
 } 
Crie um programa para cadastrar o nome e o telefone de até 100 pessoas. Depois de cadastrar, imprima na tela todas as pessoas e os telefones (usando struct)
R:
#include <stdio.h>
#include <iostream>
using namespace std;
int main() {
 
 int contador = 0;
 
 struct Cadastro { 
 
 char nome[10];
 char telefone[10];
 char imp[10]; 
 };
 
 struct Cadastro cad[100];
 
 for (; contador < 100; contador++){
 
 cout << "Entre com o nome do cadastro " << contador + 1<<":";
 cin >> cad[contador].nome;
 cout << "Entre com o telefone do cadastro " << contador + 1<<":";
 cin >> cad[contador].telefone;
 
 }
 
 cout << "Os cadastro efetuados foram: " << endl;
 
 for(int x = 0; x < contador; x++){
 
 cout << cad->nome << endl;
 cout << cad->telefone << endl;
 
 } 
 
 return 0;
 
}
Defina uma estrutura que armazene:
Matricula (inteiro)
Nome (texto – 30 caracteres)
AV1 (valor fracionário)
AV2 (valor fracionário)
Média (valor fracionário)
R: 
struct CadAluno{
 
 int matricula;
 char nome[30];
 float av1;
 float av2;
 float media; 
};
Escreva um programa que armazene os nomes e as notas dos alunos (AV1, AV2) em um vetor da estrutura acima e depois apresenta os nomes e as médias respectivas.
R:
#include <iostream>
#include <stdio.h>
using namespace std;
struct CadAluno{
 
 int matricula;
 char nome[30];
 float av1;
 float av2;
 float media; 
};
 
CadAluno n[3];
 
void entradados(){
 
for (int i = 0 ;i < 3; i++){ 
 
 cout << "Digite o nome do aluno: ";
 cin >> n[i].nome;
 
 cout << "Digite a nota da AV1: ";
 cin >> n[i].av1;
 
 cout << "Digite a nota da AV2: ";
 cin >> n[i].av2;
 
 }
 
};
float calculo(){
 
 float soma = 0,media;
 
 for (int i = 0 ;i < 3; i++){
 
 media = (n[i].av1 + n[i].av2) / 2;
 
 cout << "Media do aluno " << n->nome << " é: " << media << endl;
 
 }
 
};
 
int main(){
 
 char n; 
 entradados();
 calculo();
 
return 0;
}
Na definição de uma função, podemos afirmar:
Toda função tem parâmetros
Quando nadas retorna o tipo é void.
Quando todos os parâmetros são do mesmo tipo, é suficiente usar o tipo uma vez e separar os nomes dos parâmetros por vírgulas.
Na passagem por valor, o endereço da variável da função chamadora é passado para a função chamada.
Podemos afirmar:
Somente I e II estão corretas.
Somente II e III estão corretas. ← Alternativa Correta
Somente II e IV estão corretas.
Somente II, III e IV estão corretas.
Somente I e II está correta.
Escreva uma função que calcula a média de 2 notas float media (float a, float b)
R: 
float media(float a, float b){
 
 float n1,n2,media;
 
 n1 = a;
 n2 = b;
 
 media = (n1 + n2) / 2;
 
}
Escreva uma função int par(int n) que retorna 1 se o inteiro n é par e 0 se é ímpar.	
	R: int par(int num){ 
 	 	n = num; 
 		if( n %2 == 0){ 
 		cout << "1"; } 
 		else { 
 			cout << "0"; } 
}
Na linguagem C++: 
O endereço armazenado em um ponteiro deve ser do mesmo tipo que o ponteiro (ex. um ponteiro para um int não pode armazenar o endereço de um float). 
&v apresenta o endereço da variável v. 
Não é possível chamar uma função segundo seu endereço, ainda que por meio de um ponteiro que armazena o endereço de início dessa função. 
Está correto o que se afirma em
a) I, apenas.
b) II, apenas.
c) I e II, apenas. ←- Alternativa Correta
d) II e III, apenas.
e) I, II e III.
Sobre as funções, é CORRETO afirmar que:
a) 	na passagem por valor, o parâmetro que vai ser passado na chamada da função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a variável correspondente. 
b) 	na passagem por referência, o parâmetro que vai ser passado na chamada da função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a variável correspondente. ← Alternativa Correta
c) 	uma variável é dita global quando a sua passagem no momento da chamada de uma função se dá tanto por valor quanto por referência, enquanto que uma variável é dita local quando esta passagem se dá, apenas, por valor. 
d) 	na passagem por valor, o parâmetro passado na chamada da função é o ponteiro para a variável que contém o valor desejado.
Analise as seguintes afirmações relacionadas a conceitos básicos sobre Programação:
I. 	Um procedimento é um conjunto de comandos para uma tarefa específica referenciada por um nome no algoritmo principal, retornando um determinado valor no seu próprio nome. 
II. 	Podem-se inserir módulos em um algoritmo. Para isso, pode-se utilizar "Procedimentos" ou "Funções". As ações das "Funções" e dos "Procedimentos" são hierarquicamente subordinadas a um módulo principal.
III.	Cada "Função" ou "Procedimento" pode utilizar constantes ou variáveis do módulo principal ou definir suas próprias constantes ou variáveis. 
Uma variável global indica o endereço onde um valor é armazenado na memória do computador enquanto um ponteiro representa um valor numérico real.
Indique a opção que contenha todas as afirmações verdadeiras.
a) I e II.
b) II e III. ← Alternativa Correta
c) III e IV.
d) I e III.
e) II e IV.
	
Analise as seguintes afirmações relacionadas a conceitos básicos de Programação de Computadores.
O escopo de uma variável de programa é a faixa de instruções na qual a variável é visível. Uma variável é visível em uma instrução se puder ser referenciada nessa instrução.
Um registro é um agregado, possivelmente heterogêneo de elementos, cujos elementos individuais são identificados por nomes.
Uma matriz (array) é um agregado heterogêneo de elementos de dados, cujo elemento individual é identificado por sua posição em relação ao primeiro.
Um tipo Ponteiro é aquele em que as variáveis têm uma faixa de valores que consiste em uma string oucoleção de caracteres e um valor especial denominado Null.
Indique a opção que contenha todas as afirmações verdadeiras.
a) I e II
b) II e III
c) III e IV
d) I e III
e) II e IV

Outros materiais