Buscar

Aula 01 Engenharia de Automação Programação em 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 32 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 32 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 32 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Estácio de Sá de Ourinhos 
Professor Rogério Lazanha	 
Disciplina: LINGUAGEM DE PROGRAMAÇÃO PARA CONTROLE E AUTOMAÇÃO
Curso de Engenharia de Automação
Aula 01: Disciplina: Linguagem de Programação
Contextualização
Linguagem de programação é um método padronizado para expressar instruções para um computador. Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias.
Ementa
Operadores aritméticos e lógicos. 
Entrada de dados e saída dados.
Comandos de atribuição, seleção e repetição.
Vetores. 	
Funções. 
Arquivos. 
Técnicas de Programação.
Contextualização
A autonomia em programação de computadores tem grande importância na engenharia de uma maneira geral, na medida em que a automatização dos processos específicos através de recursos computacionais passa pelo domínio destes processos. No caso de controle e automação, a importância é ainda maior, pois viabiliza a utilização de interfaces e bibliotecas especialistas. A disciplina tem como objetivo fornecer ao aluno o embasamento teórico e prático para que ele possa desenvolver programas em linguagem C utilizando as bibliotecas padrão da linguagem e bibliotecas externas específicas.
Objetivo Geral
Desenvolver a capacidade de elaborar e implementar programas na área de Engenharia.
Bibliografia Básica
CELES, Waldemar; CERQUEIRA R. F. G.; RANGEL NETTO, J.L.M., Introdução à estrutura de dados. Rio de Janeiro: Campus, 2004. 
DEITEL, Harvey M.; DEITEL, Paul J. Como programar em C. 2. ed. Rio de Janeiro: LTC, c1999. 
KERNIGHAN, Brian W.; RITCHIE, Dennis M. C: a linguagem de programação padrão ANSI. Rio de Janeiro: Campus, 2002.
Histórico da Linguagem C
C é uma das linguagens de programação mais populares e existem poucos Sistemas Operacionais para as quais não existem compiladores para C. A linguagem C tem influenciado muitas outras linguagens de programação mais notavelmente C++, que originalmente começou como uma extensão para a linguagem C.
Dados são os fatos em sua forma primária ou é o registro de um evento.
Exemplo:
 nome de um empregado;
 número de horas trabalhadas em uma semana;
 número de peças em estoque;
 pedidos de venda. 
Tipos de Dados: Os dados necessários para a execução de um programa deverão ser identificados em um dos tipos abaixo:
	
int: O tipo de dado int (inteiro) serve para armazenar valores numéricos inteiros. 
char: serve para armazenar caracteres.
float: O tipo de dado float serve para armazenar números de ponto flutuante, ou seja, com casas decimais.
double: O tipo de dado double serve para armazenar números de ponto flutuante de dupla precisão.
void: Indica um tipo indefinido. Usado geralmente para informar que uma determinada função não retorna nenhum valor.
unsigned int - O mesmo que o int, porém a faixa de valores válidos só para números inteiros positivos.
Variáveis: Nos algoritmos destinados a resolver um problema no computador, cada variável corresponde a uma posição de memória, cujo conteúdo pode variar ao longo do tempo durante a execução de um programa. Embora possa assumir diferentes valores, ela só pode armazenar um valor a cada instante.
Constantes: Um dado é constante quando não sofre nenhuma alteração ao decorrer do programa. Ou seja, do início ao fim da execução do programa o seu valor permanece o mesmo, inalterado. A declaração de constantes pode ser feita de duas maneiras: 
Usando a palavra reservada “const”. 
Exemplo: const int x = 10; 
Usando a palavra reservada “define”. 
Exemplo: #define X = 10
	
Identificador: Toda variável/constante tem um nome que é formado por um ou mais caracteres, sendo o primeiro obrigatoriamente uma letra e os caracteres seguintes, letras ou dígitos, não sendo permitido o uso de símbolos especiais, exceto o _ (underline). Não são aceitos palavras reservadas da linguagem.
Exemplo: nomes válidos: a, a1, nome_funcionario. 
	
Case sensitive é um termo da língua inglesa que significa sensível ao tamanho, ou sensível a maiúsculas e minúsculas, ele é usado para indicar que há diferenças entre letras com caixa alta e com caixa normal.
Operadores Aritméticos: +, -, *, / e % (resto da divisão).
Operadores Relacionais: == (igualdade), >, >=, <, <=, != (diferente).
Operadores Lógicos: São utilizados para combinar duas ou mais expressões. Retornam verdadeiro (true) ou falso (false).
	&&: e lógico
	| | : ou lógico
	!: negação
Linearização de Comandos: Todas as expressões matemáticas devem ser colocadas em uma linha, devendo ser feito o mapeamento dos operadores (precedência).
a) 
 ( 
b) 
 ( 
Estrutura Sequencial na linguagem C-C++
#include <nome da biblioteca> 
main( ) { 
 Bloco de comandos; 
}
As Bibliotecas são arquivos contendo várias funções que podem ser incorporadas aos programas escritos em C/C++. A diretiva #include faz com o texto contido na biblioteca especificada seja inserido no programa. 
Há várias bibliotecas que podem ser inseridas em um programa escrito na linguagem C, entre elas estão: iostream.h, stdio.h, conio.h e math.h. 
Declaração de variáveis.
	As variáveis são declaradas após especificarmos os seus tipos, de acordo com os exemplos abaixo:
	int a; // int => inteiro
	float b; // float => real
	char opcao; // char => um caracter
	char nome[50] // char ... [50] => conjunto de caracteres.
Comando de Saída de dados em C/C++.
	O comando de saída, cout, é utilizado para mostrar dados no monitor do computador. 
 
cout: mostra uma mensagem na tela ou o valor de uma variável.
Exemplo: 	cout << “mensagem”; // mostra mensagem 
		cout << “valor de uma variável : “ << delta; // mostra mensagem e depois o valor de delta.
Exercícios: Desenvolva na linguagem LINGUAGEM C os seguintes algoritmos:
1 e 2. Exiba na tela do computador a mensagem: Aprendendo programação!!!.
	1
	2
	#include <iostream.h>
main(){
 cout << "Aprendendo programação";
 system(“pause”);
}
salvar o arquivo: exemplo01.cpp 
	 #include <iostream.h>
main(){
 cout << "Aprendendo \n programação \n";
 system(“pause”);
}
salvar o arquivo: exemplo01.cpp 
Exercícios: Desenvolva na linguagem C os seguintes exercícios.
3. Calcular o valor de uma viagem de uma cidade a outra.
4. Calcular os juros simples de uma aplicação financeira. Juros = capital * taxa/100 *período
 
5. Calcular o valor do perímetro de um retângulo. Perimetro = 2*comprimento + 2*largura
6. Calcule a área e o perímetro de um quadrado. (fórmulas: area = lado*lado e perímetro = 4*lado).
7. Dado o valor em quilômetros, converte esse valor em metros.
8. Uma empresa paga o salário bruto dos funcionários e deduz 5% de imposto. 
 Qual o salário líquido e o valor do desconto para cada funcionário.
	Tela: 	Salário Bruto (R$): 1000.00
		Imposto de Renda: R$ 50.00
		Salário Líquido: R$ 950.00
	
�
AULA 02: ESTRUTURAS CONDICIONAIS (IF..ELSE)
Comando if – else
Comandos condicionais permitem que executemos blocos de comandos apenas em determinadas situações.
Até o momento, nossos programas executavam todas as instruções. Imagine esta situação, lemos dois números do teclado e queremos mostrar apenas o maior deles. O que podemos fazer até o momento é mostrar nenhum, algum (fixo) dos dois ou mostrar os dois, não podemos escolher, durante a execução do programa, qual mostrar. É justamente para este tipo de situação que usamos o comando if.
	Condicional Simples
if (condição) {
 comando1;
 comando2;...
}
	Estrutura Condicional Composta
if (condição) {
 comando1;
}
else {
 comando2;
}
	Estrutura Condicional Aninhadas
if (condição) {
 comando1;
}
else if (condição) {
 comando2;
}
else if (condição) {
 comando3;
}
else {
 comando4;
}
1. Um vendedor possui um salário fixo mensal. O vendedor ganha comissão de acordo com as suas vendas.
Se vender até R$ 50.000,00 ganha 5% de comissão sobre as vendas, caso contrário, ganha 8% de comissão sobre as vendas mensais. Calcule o salário final desse vendedor.
2. Desenvolva um algoritmo que leia um número inteiro e exiba na tela se o mesmo é par ou impar. O operador % tem como função retornar o resto inteiro de uma divisão.
	Teste 1:	Qual e o numero: 5
O número 5 é Impar.
	Teste 2: 	Qual e o numero: 10
 	O número 10 é Par.
					Codificação
3. Desenvolva um programa na linguagem C que leia duas provas bimestrais, calcule a média aritmética simples e exiba na tela:
a) “aprovado”: se o aluno obteve média >= 6.0.
b) “reprovado”: se o aluno obteve média < 6.0. 
4. Elabore um algoritmo que leia a idade de um nadador e exiba na tela a categoria que ele pertence:
	Se a idade é menor que 13 anos = infantil
	Se a idade é maior ou igual a 13 e a idade é menor que 21 = juvenil.
	Se a idade é maior que 21 = senior
�
5. O índice de Massa Corpórea (IMC) é uma fórmula que indica que se um adulto está acima do peso, se está obeso ou abaixo do peso ideal considerado saudável. A fórmula para calcular o IMC é: IMC = peso / (altura)2 
	Condição
	IMC em Adultos
	Abaixo do peso
	Abaixo de 18.5
	No peso normal
	Entre 18.5 (inclusive) e 25
	Acima do peso
	Entre 25 (inclusive) e 30
	Obeso
	Acima ou igual a 30
6. Uma companhia de seguros classifica seus segurados em três categorias de grupo de risco baseadas na idade. Somente pessoas com pelo menos 18 anos e não mais de 70 anos podem adquirir apólices de seguros, caso esteja fora dessa faixa informar “impossível seguro”. A tabela a seguir fornece o grupo de risco com sua respectiva idade:
 Idade 		 	 Grupo de Risco
18 a 24 				Baixo
25 a 40 				Médio
41 a70 				Alto
Desenvolva um programa que leia a idade e informe o seu grupo de risco, ou se é impossível realizar o seguro.
7. Elabore um algoritmo que calcule e escreva o salário de um determinado operário de uma fábrica de peças automotivas. Sabe-se que o salário do funcionário é calculado da seguinte forma: salário final = salário fixo + comissão.
	O salário fixo deverá ser lido pelo teclado e a comissão calculada de acordo com a quantidade de peças produzidas (também lidas) durante o mês pelo funcionário:
* se o total de peças <= 50 então a comissão = 0.
* se total de peças > 50 e o total de peças <=70 então a comissão = 10% sobre o salário fixo.
* se total de peças > 70 então a comissão = 20% sobre o salário fixo.
8. Faça um programa que receba o salário base de um funcionário. Calcule e mostre o novo salário de acordo com a tabela abaixo. O desconto deve ser aplicado sobre o salário base e depois soma-se a gratificação. 
	Salário base
	 Desconto
	Gratificação
	até 1000,00
	5%
	R$ 130,00
	de 1000,01 até 3000,00
	6%
	R$ 160,00
	Acima de 3000,00
	10%
	R$ 200,00
	Teste 1
Salário: 1000.00
Novo Salário: 1080,00
	Teste 2
Salário: 2500.00
Novo Salário: 2510,00
	Teste 3
Salário: 5000.00
Novo Salário: 4700,00
�
Aula 03 Estruturas de repetição 
Existem 03 estruturas de repetição presentes na linguagem C.
1) while 
2) for
3) do {
 } while
Estrutura de repetição while
while (< condição >){
 < comando >
}
	Quando usamos a estrutura de repetição while, o <comando> somente será executado, se a <condição> é avaliada como verdadeira, caso a <condição> é avaliada como falsa, o <comando> será ignorado.
Exemplos de utilização:
Exemplo 1: Crie um programa que exiba na tela 50 sinais de igual (=).
#include <iostream.h>
main(){
 int x;
 x=1;
 while (x<=50){
 cout << "=";
 x=x+1;
 }
 cout <<"\n";
 system("pause");
} 
Exemplo 2: Crie um programa que exiba na tela a seguinte tela.
======================================================= (50 sinais de igual)
| |
| |
| |
| | (20 linhas de | |).
| |
| |
| |
| |
| |
: : 
| |
=======================================================
Exemplo 3: Sequências numéricas.
a) 1, 2, 3, 4, 5 , .. , 50
b) 2, 4, 6, 8, 10, .. , 100
c) 100, 98, 96, 94, .. , 2
	Exemplo 3a)
#include <iostream.h>
main(){
 int x;
 x=1;
 while (x<=50){
 cout << x << " ";
 x=x+1;
 }
 cout <<"\n";
 system("pause");
}
	Exemplo 3b)
	Exemplo 3c)
	
Simulação ou teste de mesa.
(Exercício 01) Desenvolva um programa que exiba na tela a seguintes sequencias: 1- 2 - 3 - 4 - 5
	#include <iostream.h>
main(){
 int x;
 x=1; 
 while (x <= 5){
 cout << x << " - ";
 x = x+1;
 } 
 cout << "\n"; 
 system("pause");
}
	Teste de mesa ou Simulação
 x saída
1
2
3
4
5
(Exercício 02) Desenvolva um programa que exiba na tela a seguintes sequencias: 8 8 8 8 8 8 8 8 8 8 8 8 8 
	#include <iostream.h>
main(){
 int x;
 x=1; 
 while (x <= 13){
 cout << " 8 ";
 x = x+1;
 } 
 cout << "\n"; 
 system("pause");
}
	Teste de mesa ou Simulação
 x saída
 8 8 8 8 8 8 8 8 8 8 8 8 8
 
 
 
 
 
 
 
Comando de repetição for
É uma estrutura de repetição usada quando o número de repetições é conhecido durante a elaboração do algoritmo ou quando puder ser fornecido durante a execução. 
Estrutura do comando: for (valor inicial; condição; valor incremento) {
		 bloco de comandos; 
 }
valor inicial: - é uma expressão do tipo: <identificador> = <valor inicial>;
Ex: a = 0; // a variável a recebe o valor inicial 0.
condição: é uma expressão do tipo:
<identificador> <=, <, > ou >= <valor final>;
Ex: a <= 10; // a variável a poderá receber valores enquanto foremmenores ou iguais a 10.
 c >= 2; // a variável c poderá receber valores enquanto forem maiores ou iguais a 2. 
valor incremento
<identificador> = <identificador> + ou – valor
 Ex: a = a + 1;
 c = c – 2;
 a ++;
 x --;
Obs: o número de repetições do bloco de comandos será igual ao número de termos da série, portanto, na maioria das vezes, não importam os valores que a variável que controla a repetição assumirá.
�
Exercício de revisão utilizando o comando for.
(Exercício 01) Desenvolva um programa que exiba na tela o seu nome 5 vezes.
main(){
 int i;
 for (i=1; i<= 10; i=i+1){
 cout << " <seu nome > ";
 } 
 cout << "\n"; 
 system("pause");
}
(Exercício 02) Desenvolva um programa que solicite ao usuário 5 números quaisquer que representam a altura da turma, apresente a média desses valores.
main(){
 float altura, media, i;
 media = 0;
 for (i=1; i<=5 ; i=i+1) {
 cout << "Digite a sua altura : ";
 cin >> altura;
 media = media + altura; 
 } 
 media = media/5.0;
 cout << "A media das alturas da sala : "<< media <<"\n"; 
 system ("pause"); 
} 
(Exercício 03) Desenvolva um programa que leia as médias de N alunos e informe a situação de cada um deles (aprovado, se média >=6.0 e reprovado, caso contrário).
main(){
 float n, aprovado=0, reprovado=0, media , i;
 cout << "Entre com a quantidade de medias: ";
 cin>> n;
 for (i=1; i <= n ; i++) {
	 cout << "Entre com a nota do aluno: " ;
	 cin >> media;
	 if (media >= 6) {
		aprovado++; 
 }
	 else {
 reprovado++;
 }
 }
 cout << "Quantidade de aprovados: " << aprovado << “\n”;
 cout << "Quantidade de reprovados: " <<reprovado << “\n”;
 system ("pause"); 
} 
(Exercício 04) Desenvolva um programa que leia o peso de N alunos e informe quantos alunos pesam abaixo ou igual a 70 kg e quantos pesam mais de 70 kg.
(Exercício 05) Desenvolva um programa que leia a idade de 5 pessoas, calcule e exiba a maior e a menor idades digitadas.
main(){
 float idade, maior, menor , i; 
 maior = 0;
 menor = 999;
 for (i=1; i <= 5; i++) {
	 cout << "Entre com uma idade: ";
 cin >> idade;
	 if (idade > maior) {
	 	maior = idade;
 }	
	 if (idade < menor ) {
		menor = idade;
 }	
 }
 cout << " Maior idade: " << maior << "\n";
 cout << " Menor idade: " << menor << "\n";
 system ("pause"); 
}
Extras: Desenvolva os testes de mesa dos exercícios abaixo.
(Exercício 06) Calculo do fatorial de número (considere como entrada de dados, o número 5)
main(){
 int i, numero, fatorial; 
 cout << "Digite um numero : ";
 cin >> numero;
 fatorial = 1;
 for (i=2; i <= numero ; i=i+1){
 fatorial = fatorial * i; 
 } 
 cout << "Fatorial de " << numero << " e " << fatorial << "\n"; 
 system("pause");
}
(Exercício 07) Cálculo dos valores que são divisores de um número inteiro e positivo (considere como entrada de dados, o número 20)
main(){
 int numero, i;
 cout << "Digite um numero : ";
 cin >> numero;
 cout << "Divisores : ";
 for (i=1; i<=numero; i++){
 if (numero % i == 0){
 cout << i << " ";
 }
 } 
 cout << "\n"; 
 system ("pause"); 
}
�
Aula 04: Funções
Funções na linguagem C
As funções definem as ações a serem tomadas em diversos momentos da execução de um programa. Em termos simples, as funções realizam todas as tarefas para as quais o programa foi escrito, por exemplo, realizar cálculos, resumir informações, produzir relatórios e etc.
É um trecho de código que permite ser chamado com apenas um comando. Com o seu uso, este chamado poderá ser colocado em diferentes locais do código. 
O uso de funções permite:
1) modularização (divisão em módulos/tarefas/funções) do código.
2) melhora a manutenção: torna o programa mais legível e fácil de ser modificado, pois, se uma função tiver que ser feita será por uma única vez e todo o sistema se adaptará.
Fluxograma
Exemplo de Fluxograma
Estrutura básica
Estrutura: nome_da_função();
	Ou seja, dizemos o nome da função a qual queremos chamar e inserimos os caracteres de abre e fecha parênteses. Neste caso, como não existe nada entre parênteses, dizemos que não estamos passando variável nenhuma para a função que chamamos.
	
Declarando as Funções na linguagem C
	A declaração mais simples que podemos fazer de uma função é a seguinte:
<tipo da função> <nome_função> (<lista de parâmetros>) {
 [comandos]
}
No qual: <tipo da função> é um dos tipos de dados válidos para a função, como void, int, float, char. A primeira palavra-chave, void, define o valor retornado pelo método, neste caso, nenhum. Podemos usar qualquer tipo de dado válido como valor de retorno de um método. Nesse caso, ao terminar, o método seria obrigado a devolver um dado do tipo especificado. 
<nome_função> é um identificador que define o nome pelo qual a função é conhecida.
<comandos> consiste de uma lista ordenada de declaração de variáveis, de expressões e de comandos. 
Funções que retornam valores
	Algumas funções retornam valores. Por exemplo, considere o módulo principal (main) e o módulo fatorial (fat), o módulo principal (main) passa por parâmetros um número inteiro positivo e o módulo fatorial (fat) depois de processar este número devolve para o método principal o valor que corresponde ao fatorial do número. 
	Importante: os métodos que não forem declarados como do tipo void deverão obrigatoriamente utilizar o comando return.
Exercício do Fatorial.
#include <iostream.h>
int fatorial (int n){
 int i, fat;
 fat = 1;
 for (i=1; i<=n; i=i+1){
 fat = fat*i;
 } 
 return fat;
} 
main(){
 int n, resultado;
 cout << "Fatorial: ";
 cin >> n;
 resultado = fatorial(n);
 cout << "Fatorial : "<< resultado << "\n";
 system("pause");
} 
Aplicação Prática de Funções na Matemática
Combinações: Quando formamos agrupamentos com p elementos, (p<n) de forma que os p elementos sejam distintos entre si apenas pela espécie.
Combinação simples: Não ocorre a repetição de qualquer elemento em cada grupo de p elementos.
Fórmula: 
Exemplo: Seja C={A,B,C,D}, n=4 e p=2. As combinações simples desses 4 elementos tomados 2 a 2 são 6 grupos que não podem ter a repetição de qualquer elemento nem podem aparecer na ordem trocada. Todos os agrupamentos estão no conjunto: s={AB,AC,AD,BC,BD,CD}
Cálculo para o exemplo: C(4,2)=4!/[2!2!]=24/4=6
Programa na linguagem C:
	#include <iostream.h>
int fatorial (int n){
 int i, fat;
 fat = 1;
 for (i=1; i<=n; i=i+1){
 fat = fat*i;
 } 
 return fat;
} 
 
	main(){
 int n,p,resultado;
 cout << "Quantidade de Elementos do Grupo: ";
 cin >> n;
 cout << "Pares dos grupos : ";
 cin>> p;
 resultado = fatorial(n)/ (fatorial(p)*fatorial(n-p));
 cout << "Combinacao : "<< resultado << "\n";
 system("pause");
} 
Exercícios Práticos.
1. Desenvolva uma função que receba como parâmetro dois números reais e faça a função devolver o calculo da soma dos números 
 #include<iostream.h>
float calc(float a ,float b) {
 float soma = a+b;
 return soma;
}
main(){
float a,b,soma;
cout << "valor de a: ";
cin>> a;
cout << "valor de b: ";
cin >> b;
soma = calc (a,b);
cout << "soma vale : "<<soma<<"\n";
system("pause");
} 
PROPOSTO: Desenvolver uma função que receba como parâmetro 3 provas regimentais, faça a própriafunção calcular e retornar a media dessas provas. 
2. Desenvolva uma função que receba como parâmetro o valor do salário bruto de um funcionário e faça a própria função calcular e devolver o valor do novo salário com um aumento de acordo com a tabela abaixo:
	Salário Bruto
	% de aumento
	Até 2.000,00
	20%
	De 2.000,01 até 5.000,00
	15%
	Acima de 5.000,00
	10%
	Fluxograma
	
Codificação em C
#include <iostream.h>
float calculo(float salarioBruto){
 if (salarioBruto <= 2000){
 return salarioBruto*1.20;
 }
 else if (salarioBruto <= 5000){
 return salarioBruto*1.15;
 }
 else {
 return salarioBruto*1.10;
 }
}
main(){
 float salarioBruto, salarioLiquido;
 cout<< "Salario Bruto: ";
 cin>> salarioBruto;
 salarioLiquido=calculo(salarioBruto);
 cout<<"SalarioLiquido:"<< salarioLiquido<<"\n";
 system("pause");
}
PROPOSTO: Desenvolva uma função que receba como parâmetro o valor de um veículo novo. Faça a função calcula o valor do IPI de acordo com a tabela abaixo: 
	Valor Veiculo
	IPI
	Ate 30.000
	40%
	Acima de 30000
	50%
	
	
	O veículo também deve pagar o ICMS que é calculado de acordo com a tabela abaixo:
	Valor Veiculo
	ICMS
	Ate 30.000
	20%
	Acima de 30000
	25%
	
	
3.) Dado o enunciado, complete o programa abaixo com a correta função, comando ou variável necessária para que o programa funcione corretamente.
a) Desenvolva um programa que solicite ao usuário o VALOR BRUTO de uma compra e o TIPO da pessoa que efetuou a compra (F-Física e J-Jurídica). Desenvolva uma função que receba como parâmetro esses dados e conceda um desconto de 5% para o TIPO de pessoa física, caso contrário, conceda 10%. Exiba o novo valor da compra com desconto.
_________________ calcula (float ___________________, char ______________________) {
 if (tipoPessoa =='f'){
 return valorBruto*0.05;
 }
 else{
 return valorBruto*0.1;
 } 
}
main(){
 float valorBruto, desconto, valorDesconto;
 char tipoPessoa; 
 cout<<"Valor Bruto: ";
 cin >> valorBruto;
 cout<<" Tipo Pessoa : ";
 cin>> tipoPessoa;
 desconto = calcula (valorBruto, tipoPessoa);
 valorDesconto= valorBruto - desconto;
 cout<<"valor com desconto: "<< valorDesconto<<"\n";
 system("pause");
}
b).  Crie uma função em linguagem C que receba 2 números e retorne o maior valor.
#include <iostream.h>
float __________________________( _______________________, float ______________________){
 if (n1>n2){
 ______________________ n1;
 }
 else{
 _______________________ n2;
 }
} 
main(){
 float n1, n2, maior;
 cout <<"primeiro numero : ";
 cin >> n1;
 cout <<"segundo numero : ";
 cin >> n2;
 maior = calcula(n1,n2);
 cout << "maior : "<<maior<<"\n";
 system("pause");
} 
 
4) Desenvolva um programa que solicite ao usuário o número de horas trabalhadas e o valor do salário mínimo, calcule e mostre o salário a receber seguindo estas regras:
Desenvolva uma função que calcule a hora trabalhada que vale a metade do salário mínimo.
Desenvolva uma função que calcule o salário bruto que equivale ao número de horas trabalhadas multiplicado pelo valor da hora trabalhada.
Desenvolva uma função que calcule o imposto que equivale a 3% do salário bruto.
Desenvolva uma função que calcule o salário a receber que equivale ao salário bruto menos o imposto.
#include <iostream.h>
// função que calcule a hora trabalhada que vale a metade do salário mínimo.
float calcula1 (float sMinimo){ 
 ___________________________________________________________________________ 
}
//função que calcule o salário bruto que equivale ao número de horas trabalhadas multiplicado pelo valor da hora trabalhada.
float calcula2 (float valorHora,float numeroH){ 
 ___________________________________________________________________________ 
}
// função que calcule o imposto que equivale a 3% do salário bruto.
float calcula3 (float sBruto){ 
 ___________________________________________________________________________ 
}
// função que calcule o salário a receber que equivale ao salário bruto menos o imposto.
float calcula4 (float sBruto, float imposto){
 ___________________________________________________________________________ 
}
main(){
 float numeroH, sMinimo, valorHora, sBruto,imposto,sLiquido;
 cout<< "Qual o numero de horas trabalhadas : ";
 cin>> numeroH;
 cout << "Qual o valor do salário Minimo: ";
 cin >> sMinimo;
 valorHora = calcula1(sMinimo);
 sBruto = calcula2 (valorHora,numeroH);
 imposto = calcula3 (sBruto);
 sLiquido = calcula4 (sBruto,imposto);
 cout << "Salario Liquido : "<< sLiquido<<"\n";
 system("pause");
}
5) Desenvolva um programa que solicite ao usuário o salário base de um funcionário. Calcule e mostre o novo salário de acordo com a tabela abaixo. Desenvolva uma função que calcule o desconto que deve ser aplicado sobre o salário base. 
	Salário base
	 Desconto
	
	até 1000,00
	5%
	
	de 1000,01 até 3000,00
	6%
	
	Acima de 3000,00
	10%
	
#include <iostream.h>
float __________________________ (______________________________________________) {
 if (salarioBase<=1000){
 
 _______________________________________________________________________
 } 
 else if (salarioBase<=3000){
 _______________________________________________________________________
 } 
 else{ 
 _______________________________________________________________________ 
 } 
} 
float calcula2(float salarioBase, float desconto){
 return salarioBase - desconto; 
} 
main(){
 float salarioBase, salarioLiquido, desconto;
 cout << "Digite o salario base : ";
 cin >> salarioBase;
 desconto = calcula1 (salarioBase);
 salarioLiquido= calcula2 (salarioBase, desconto);
 cout << "Salario Liquido : "<<salarioLiquido<<"\n";
 system("pause");
}
6) Baseado nos exercícios anteriores, faça o exercício abaixo.
Faça um programa que receba o salário base de um funcionário. Calcule e mostre salário a receber, o valor da gratificação (utilize função) e do imposto pago (utilize função), sabendo-se que esse funcionário tem gratificação e imposto (este são calculados cada um em cima do salário base) conforme tabela abaixo:
	Salário
	Gratificação
	Imposto
	até 2000,00
	10%
	8%
	de 2000,01 até 8000,00
	15%
	9%
	Acima de 8000,00
	20%
	11%
Teste 1:				Teste 2: 
Salario base: 2000.00			Salário base: 5000.00
Gratificação: 200.00			Gratificação: 750.00
Imposto: 160.00			Imposto: 450.00
Salário a Receber: 2040.00		Salário a Receber: 5300.00
7) Indique se são verdadeiras ou falsas as seguintes afirmações:
a) [ ] Uma função na linguagem C pode devolver simultaneamente mais do que um valor.
b) [ ] Uma função na linguagem C pode não ter parâmetros.
c) [ ] Uma função na linguagem C tem que devolver sempre um número.
d) [ ] Uma função na linguagem C tem uma instrução return que termina a execução da função.
e) [ ] Em uma função na linguagem C o nome da função é opcional.
f) [ ] Uma função na linguagem C não deve mais que 10 linhas. 
8) Assinale a alternativa incorreta relacionada ao conceito de função:
a) As funções definem as ações a serem tomadas em diversos momentos da execução de um programa.
b)O uso de funções permite que o programa crie desvios condicionais iguais ao do comando if..else.c) É um trecho de código que permite ser chamado com apenas um comando, com o seu uso, esse chamado poderá ser colocado em diferentes locais do código.
d) O uso de funções permite a modularização (divisão em módulos ou a divisão em pequenos programas). 
e) Melhora a manutenção e torna o programa mais legível e fácil de ser modificado, pois, se uma função sofrer alteração todo o sistema se adaptará e essa nova modificação. 
Exercício extra: Desenvolva um programa que simule uma calculadora.
#include<iostream.h>
float soma(float a ,float b) {
 return a+b;
}
float mult(float a ,float b) {
 return a*b;
}
float sub(float a ,float b) {
 return a-b;
}
float divi(float a ,float b) {
 return a/b;
}
float menu(){
 float opcao;
 system("cls");
 cout << "1 - soma\n";
 cout << "2 - multiplicacao\n";
 cout << "3 - subtracao\n";
 cout << "4 - divisao\n";
 cout << "5 - fim \n";
 cout << " opcao: ";
 cin >> opcao;
 return opcao;
} 
 
main(){
 float a,b,opcao, resposta;
 for (;;){
 opcao = menu();
 if (opcao == 5){
 break;
 }
 if ((opcao < 1) || (opcao >5)){
 cout << "opcao incorreta";
 
 } 
 else { 
 cout << "valor de a: ";
 cin>> a;
 cout << "valor de b: ";
 cin >> b;
 if (opcao == 1){
 resposta=soma(a,b);
 } 
 else if (opcao == 2){
 resposta=mult(a,b);
 }
 else if (opcao == 3){
 resposta=sub(a,b);
 }
 else if (opcao == 4){
 resposta=divi(a,b);
 } 
 cout << "resposta : "<< resposta<< "\n";
 }
 system("pause");
 } 
}
�
Aula 5: Vetores e Matrizes
1. O que é uma matriz ou vetor?
Vetor é uma estrutura de dados que possui apenas uma dimensão
Matriz é uma estrutura de dados do tipo vetor com duas ou mais dimensões. 
Os itens de um vetor ou matriz são todos do mesmo tipo de dados.
2. Vetor / Matriz em linguagem C
Exemplo de declaração de vetor com 1 dimensão usando a linguagem C.
float nota[6];
Onde: O valor 6 representa a quantidade de colunas que o vetor possui.
Exemplo de declaração de matriz com 2 dimensões usando linguagem C.
float media[5][2];
Onde: O valor 5 representa a quantidade de linhas e o valor 2 representa a quantidade de colunas.
Dizemos que esta matriz é do tipo 5 X 2.
Como temos 5 linhas com 2 posições de armazenamento em cada linha, temos capacidade para armazenar até 10 elementos (itens) do tipo float. 
Será necessário utilizar um índice para cada dimensão da matriz, logo uma matriz bidimensional terá 2 índices, um para posicionar a linha, outro para a coluna. Assim, como no vetor, o índice da primeira posição é zero.
Como atribuir valores a uma matriz?
Suponha a matriz como declarada:
float media[5] [2];
para atribuir uma valor precisamos identificar a posição usando os índices:
media [0][0] = 5;
//Atribui o valor 5 na primeira linha e primeira coluna.
media [1][0] = 7;
// Atribui o valor 7 na segunda linha, primeira coluna.
Preenchendo uma matriz
Para fazer o preenchimento de uma matriz, devemos percorrer todos os seus elementos e atribuir-lhes um valor. Isto pode ser feito tanto gerando valores para cada elemento da matriz, como recebendo os valores pelo teclado. Um método interessante para percorrer um vetor/matriz é usar uma estrutura de repetição for.
Exemplo de Vetores
Desenvolva um programa, utilizando VETOR, que leia as seguintes notas de um aluno e calcule a sua média. Utilize uma função que receba como parâmetro o Vetor e retorne o valor da média.
Exemplo:
	8.0
	7.5
	8.5
	9.0
	8.0
	
0
	
1
	
2
	
3
	
4
#include <iostream.h>
float media (float V[100]){
 return (V[0]+V[1]+V[2]+V[3]+V[4])/5;
} 
main(){
 float V[100], resultado; 
 // leitura do vetor
 cout << "Digite 5 valores: \n";
 cin >> V[0]>>V[1]>>V[2]>>V[3]>>V[4];
 // calculo da media
 resultado = media(V);
 cout << "Media : "<< resultado<<"\n";
 system("pause");
} 
Exemplo de Matrizes
Agora, vamos representar as notas em Física, abaixo das de Matemática. Teremos uma matriz 2x5, ou seja, uma matriz de duas linhas e 5 colunas:
	8.0
	7.5
	8.5
	9.0
	8.0
	 0,0
	0,1
	0,2
	0,3
	0,4
	8.9
	9.0
	8.6
	8.4
	8.0
	 1,0
	 1,1
	 1,2
	 1,3
	 1,4
#include <iostream.h>
#include <math.h>
float mediaMatematica (float V[100][100]){
 return (V[0][0]+V[0][1]+V[0][2]+V[0][3]+V[0][4])/5;
} 
float mediaFisica (float V[100][100]){
 return (V[1][0]+V[1][1]+V[1][2]+V[1][3]+V[1][4])/5;
} 
main(){
 float V[100][100], resultado; 
 // leitura da matriz
 cout << "Digite 5 notas de matemática: \n";
 cin >> V[0][0]>>V[0][1]>>V[0][2]>>V[0][3]>>V[0][4];
 cout << "Digite 5 notas de Física: \n";
 cin >> V[1][0]>>V[1][1]>>V[1][2]>>V[1][3]>>V[1][4];
 // calculo da media
 resultado = mediaMatematica(V);
 cout << "Media Matematica : "<< resultado<<"\n";
 resultado = mediaFisica(V);
 cout << "Media Fisica : "<< resultado<<"\n"; 
 system("pause");
} 
Agora é a sua vez:
Vamos representar as notas de Química, abaixo das notas de Física. Teremos uma matriz 3x5, ou seja, uma matriz de três linhas e 5 colunas:
	8.0
	7.5
	8.5
	9.0
	8.0
	8.9
	9.0
	8.6
	8.4
	8.0
	6.8
	7.1
	7.0
	7.6
	6.5
Para  declarar a matriz 2x5, fazemos: float notas[2][5];
Note que temos duas linhas: notas[0][] e notas[1][], e em cada linha dessa temos 5 elementos.
Ou seja, é uma matriz de duas linhas e cinco colunas.
Sempre o primeiro número é a linha e o segundo é a coluna.
Para declarar matrizes e inicializar, devemos colocar cada linha entre chaves {}, e separar elas por vírgulas, veja:
float notas[2][5] = { {8.0, 7.5, 8.5, 9.0, 8.0 }, {8.9, 9.0, 8.6, 8.4, 8.0 } };
Uma maneira mais simples de ver essas linhas e colunas, como tabela, é da seguinte maneira:
float notas[2][5] = { {8.0, 7.5, 8.5, 9.0, 8.0 },
                              {8.9, 9.0, 8.6, 8.4, 8.0 } };
Para declarar a matriz 3x5, fazemos::
float notas[3][5];
Veja como fica nossa matriz, ou tabela, declarada e inicializada:
float notas[3][5] = { {8.0, 7.5, 8.5, 9.0, 8.0 }, {8.9, 9.0, 8.6, 8.4, 8.0 }, {6.8, 7.1, 7.0, 7.6, 6.5 } };
De uma maneira mais fácil de entender:
float notas[3][5] = { {8.0, 7.5, 8.5, 9.0, 8.0 }, 
                             {8.9, 9.0, 8.6, 8.4, 8.0 }, 
                             {6.8, 7.1, 7.0, 7.6, 6.5 } };
Note que notas[0] se refere ao vetor de notas de Matemática.
Note que notas[1] se refere ao vetor de notas de Física.
Note que notas[2] se refere ao vetor de notas de Química.
Por exemplo: qual foi a quarta nota de Física do aluno?
Ora, o vetor de Física é notas[1], e a quarta nota é o elemento [3] desse vetor.
Então a quarta nota de Física do aluno está armazenada em: notas[1][3], que é 8.4
Generalizando, para declarar uma matriz de ‘linha’ linhas e de ‘coluna’ colunas, fazemos:
tipo nome[linha][coluna];
Problema Proposto e resolvido:
	Calcule o valor do determinante para uma Matriz 2x2.
 V = = = V[0][0]* V[1][1] - V[0][1]* V[1][0] = 4*5 – 3*2 = 14.
#include <iostream.h>
#include <math.h>
float determinante (float V[100][100]){
 return (V[0][0]*V[1][1]) - (V[0][1]*V[1][0]);
}
 
main(){
 float V[100][100], resultado ; 
 // leitura da matriz
 cout << "Digite a 1. linha da Matriz \n";
 cin >> V[0][0]>>V[0][1];
 cout << "Digite a 2. linha da Matriz: \n";
 cin >> V[1][0]>>V[1][1];
 // calculo do determinte.
 resultado = determinante(V);
 cout << "Determinante : "<< resultado<<"\n"; 
 system("pause");
} 
Agora é a sua vez:	
Calcule ovalor do determinante para uma Matriz 3x3.
V = 	| 2 3 4 | =>	| 2 3 4 | 2 3 => 	| 0,0 0,1 0,2 | 0,0 0,1 => elementos da diagonal principal 
	| 5 1 3 |	| 5 1 3 | 5 1 	| 1,0 1,1 1,2 | 1,0 1,1 menos
	| 6 7 2 | 	| 6 7 2 | 6 7		| 2,0 2,1 2,2 | 2,0 2,1 elementos da diagonal secundária
(V[0][0]*V[1][1]*V[2][2] + V[0][1]*V[1][2]*V[2][0] + V[0][2]*V[1][0]*V[2][1]) –
 (V[2][0]*V[1][1]*V[0][2] + V[2][1]*V[1][2]*V[0][0] + V[2][2]*V[1][0]*V[0][1]) 
(2*1*2 + 3*3*6 + 4*5*7) – (6*1*4 + 7*3*2 + 2*5*3) => 198 – 96 =>
102.
 
PROBLEMA RESOLVIDO:
Sistemas lineares: são úteis para todos os campos da matemática aplicada, em particular, quando se trata de modelar e resolver numericamente problemas de diversas áreas. Nas engenharias, na física, na biologia, na química e na economia, por exemplo, é muito comum a modelagem de situações por meio de sistemas lineares.
Solução de uma Sistema Linear com 2 incógnitas.
Para verificação, digite os seguintes sistemas.
	2x + 3y = 8
 x - y = -1
solução: (1,2)
	3x + y = 9
 2x - 3y = 3
solução: (2,3)
	2x - 5y = 11
3x + 6y = 3
solução: (3,1)
	x + 2y = 5
2x - 3y = -4
solução: (1,2)
	3x + 3y = -3
5x – 2y = -12
Solução: (-2,1)
Método de solução usando Matrizes (CRAMER).
#include <iostream.h>
float calculo(float M[100][100]){
 return (M[0][0]*M[1][1]) - (M[0][1]*M[1][0]);
}
main(){
 float x,y,termoX1,termoX2,termoY1,termoY2,termoI1,termoI2;
 float M[100][100];
 float deltaX, deltaD, deltaY;
 cout << "EQUACAO 1 \n";
 cout << "x1 y1 = termo: ";
 cin >> termoX1 >> termoY1 >> termoI1;
 
 cout << "EQUACAO 2 \n";
 cout << "x2 y2 = termo: ";
 cin >> termoX2 >> termoY2 >> termoI2;
 
 M[0][0] = termoX1;
 M[0][1] = termoX2;
 M[1][0] = termoY1;
 M[1][1] = termoY2;
 deltaD = calculo (M);
 cout << "delta D : " <<deltaD << "\n";
 M[0][0] = termoI1;
 M[0][1] = termoI2;
 M[1][0] = termoY1;
 M[1][1] = termoY2;
 deltaX = calculo (M);
 cout << "delta X : " <<deltaX << "\n";
 M[0][0] = termoX1;
 M[0][1] = termoX2;
 M[1][0] = termoI1;
 M[1][1] = termoI2;
 deltaY = calculo (M);
 cout << "delta Y : " <<deltaY << "\n";
 cout << " x vale : "<< deltaX/deltaD << "\n";
 cout << " y vale : "<< deltaY/deltaD << "\n"; 
 system("pause");
}
Exercícios para Fixação.
1) Dada a matriz  , calcule a11 + a21 – a13 + 2a22.
2) Crie uma matriz de ordem 3 e :
a) Exiba a soma de cada uma das linhas da matriz.
b) Exiba a soma de cada uma das colunas da matriz.
c) Exiba a soma da diagonal principal.
Exercícios Práticos
1) Dadas duas Matrizes de ordem 2 (matriz A e matriz B). Desenvolva um programa que calcule e exiba:
a) A matriz C que é a soma da matriz A com a matriz B.
b) A matriz D que é a matriz resultante da multiplicação da matriz A com a matriz B.
#include <iostream.h>
main(){
 float A[100][100], B[100][100], C[100][100];
 float D[100][100];
 
 cout << "Digite a 1a. linha matriz A: ";
 cin >> A[0][0] >> A[0][1];
 cout << "Digite a 2a. linha matriz A: ";
 cin >> A[1][0] >> A[1][1];
 
 cout << "Digite a 1a. linha matriz B: ";
 cin >> B[0][0] >> B[0][1];
 cout << "Digite a 2a. linha matriz B: ";
 cin >> B[1][0] >> B[1][1];
 
 C[0][0] = A[0][0]+B[0][0];
 C[0][1] = A[0][1]+B[0][1];
 C[1][0] = A[1][0]+B[1][0];
 C[1][1] = A[1][1]+B[1][1];
 
 cout << "\n Matriz C: \n";
 cout << C[0][0] << " "<< C[0][1]<< "\n";
 cout << C[1][0] << " "<< C[1][1]<< "\n"; 
 
 D[0][0] = A[0][0]*B[0][0] + A[0][1]*B[1][0];
 D[0][1] = A[0][0]*B[0][1] + A[0][1]*B[1][1];
 D[1][0] = A[1][0]*B[0][0] + A[1][1]*B[1][0];
 D[1][1] = A[1][0]*B[0][1] + A[1][1]*B[1][1];
 
 cout << "\n Matriz D: \n";
 cout << D[0][0] << " "<< D[0][1]<< "\n";
 cout << D[1][0] << " "<< D[1][1]<< "\n"; 
 system("pause");
} 
2) Dada uma matriz M de ordem 3. Escreva um programa que calcule e exiba:
a) a soma dos elementos da 1ª. linha dessa matriz M.
b) a soma dos elementos da 1ª. coluna dessa matriz M.
c) a soma dos elementos da diagonal principal dessa matriz M.
#include <iostream.h>
main(){
 float A[100][100], somaL,somaC, somaD;
 
 cout << "Digite a 1a. linha matriz A: ";
 cin >> A[0][0] >> A[0][1] >> A[0][2];
 cout << "Digite a 2a. linha matriz A: ";
 cin >> A[1][0] >> A[1][1]>> A[1][2];
 cout << "Digite a 3a. linha matriz A: ";
 cin >> A[2][0] >> A[2][1]>> A[2][2];
 
 somaL= A[0][0] + A[0][1] + A[0][2];
 somaC = A[0][0] + A[1][0] + A[2][0];
 somaD = A[0][0] + A[1][1] + A[2][2];
 cout << "Soma 1a. Linha: "<<somaL<<"\n";
 cout << "Soma 1a. coluna: "<<somaC<<"\n";
 cout << "Soma Diagonal Principal: "<<somaD<<"\n";
 system("pause");
}
3) Uma loja vende sapatos femininos de três marcas X; Y; Z e tamanhos de 37 a 40. Os pares da marca X estão assim distribuídos:
	Tamanho 37
	25 pares
	Tamanho 38
	18 pares
	Tamanho 39
	10 pares
	Tamanho 40
	7 pares
	
	
   
Analogamente, a loja possui das marcas Y e Z, sapatos femininos assim distribuídos:
	Tamanho
	37
	38
	39
	40
	Quantidade da marca Y
	9
	28
	10
	8
	Quantidade da marca Z
	15
	12
	9
	3
Desenvolva um programa que calcule a quantidade de pares de sapatos, divididos por marca (X, Y e Z) e independente do tamanho, a loja possui. Calcule qual a quantidade total de pares de sapatos vendidos pela loja.
4) Dada uma matriz M de ordem 3. Escreva um programa que calcule e exiba a multiplicação de todos os elementos dessa matriz por uma constante k.
4) 01. Obter a matriz A = (aij)2x2 definida por aij = 3 i - j. 
Se a matriz é 2x2 então os valores de i e j variam de 1 a 2. Calculando os valores, temos:
A11 = 3 x 1 – 1 = 2  
A12 = 3 x 1 – 2 = 1  
A21 = 3 x 2 – 1 = 5  
A22 = 3 x 2 – 2 = 4  
Trabalho 1) Na confecção de três modelos de camisas (A, B e C)  são usados botões grandes (G) e pequenos (p). O número de botões por modelos é dado pela tabela: 
	 
	Camisa A
	Camisa B
	Camisa C
	Botões p
	3
	1
	3
	Botões G
	6
	5
	5
  
      O número de camisas fabricadas, de cada modelo, nos meses de maio e junho, é dado pela tabela: 
	   
	Maio
	Junho
	Camisa A
	100
	50
	Camisa B
	50
	100
	Camisa C
	50
	50
  
      Nestas condições, obter a tabela que dá o total de botões usados em maio e junho. 
SOLUÇÃO: O problema se resume na multiplicação das matrizes:
 X = 
	 
	Maio
	Junho
	Botões p
	500
	400
	Botões G
	1100
	1050
 
Trabalho 2: Visando fazer um levantamento das atuais condições de tráfego de uma malha rodoviária e definir alternativas para uma reformulação futura, foi realizada uma pesquisa de tráfego do tipo ORIGEM-DESTINO. Esta pesquisa submeteu aos motoristas que trafegavam pela região em estudo um questionário com as seguintes perguntas:
	1- de onde veio? (origem)
 1-Belo Horizonte
 2-São Paulo
 3-Brasilia
	2- para onde vai? (destino)
 1-Rio de Janeiro
 2-Petrópolis
 3-Juiz de Fora
	3- qual o tipo de veículo?
 1-Automóvel
 2-Caminhão
 3-Ônibus.
A fim de fornecer respostas a algumas questões formuladas pelos engenheiros responsáveis pelo estudo do problema, fazer um programa que calcule e exiba:
Cada grupo vai desenvolver suas próprias estatísticas e abaixo alguns exemplos:
a) O número de veículos que tem Belo Horizonte como origem;b) A quantidade de ônibus que se originam de Brasília e se destinam a Petrópolis ou Rio de Janeiro.
n: 5
main()
fatorial()
3�
1�
3�
�
6�
5�
5�
�
100�
50�
�
50�
100�
�
50�
50�
�
500�
400�
�
1100�
1050�
�
2
�
 1�
�
5�
 4�
�
#include <iostream.h>
main(){
float salarioFixo, comissao, vendas,salarioFinal;
cout<< “Salario Fixo: “;
cin >> salarioFixo;
cout << “Vendas : “;
cin >> vendas;
if (vendas <= 50000) {
 comissao = vendas * 0.05;
}
else {
 comissao = vendas *0.08;
}
salarioFinal = salarioFixo + comissao;
cout << “Salario Final : “<< salarioFinal<<”\n”;
system (“pause”);
}
Salario Bruto: 1000
Imposto: 50
Liquido: 950
#include <iostream.h>
main(){
 float idade;
 cout << " Idade: ";
 cin >> idade;
 if (idade < 13){
 cout << " Infantil \n";
 } 
 else if (idade < 21) {
 cout << " Juvenil \n";
 }
 else {
 cout << " Senior \n"; 
 } 
 system("pause");
 }
#include <iostream.h>
main(){
 float prova1, prova2, media;
 cout << "Prova 1: ";
 cin >> prova1;
 cout << "Prova 2: ";
 cin >> prova2;
 media = (prova1 + prova2)/2;
 if (media >= 6.0){
 cout << "Aprovado \n";
 } 
 else {
 cout << "Reprovado \n";
 }
 system("pause");
 }
#include <iostream.h>
main(){
 int numero;
 cout << "Numero: ";
 cin>> numero;
 
 if (numero % 2 == 0){
 cout <<"Par \n";
 }
 else{
 cout << "Impar \n";
 } 
 system("pause");
}
#include <iostream.h>
#include <math.h>
main(){
 float peso, altura, imc; 
 cout << " Peso : ";
 cin >> peso;
 cout << " Altura : ";
 cin >> altura;
 imc = peso/pow (altura,2);
 if (imc < 18) { 
 cout << " abaixo do peso \n";
 }
 else if (imc < 25){
 cout << " peso ideal \n"; 
 } 
 else if (imc < 30){
 cout << " acima do peso \n"; 
 }
 else {
 cout << " obeso \n"; 
 }
 system("pause");
}
fatorial: 120
Valores da Matriz
valor em KM: 10
metros: 10000
#include <iostream.h>
main(){
 //declarar as variaveis
 float metros, quilometros; 
 cout << "valor em KM: ";
 cin >> quilometros;
 metros = quilometros*1000; 
 cout << "metros " << metros << "\n";
 system("pause");
}
Lado: 3
Area: 9
Perimetro: 12
#include <iostream.h>
main(){
 float lado, area, perímetro;
 cout << “ Lado : “;
 cin >> lado;
 area = lado * lado;
 perímetro = 4*lado
 cout<< “Area : “<< area << “\n”;
 cout<< “Perimetro: “<< perimetro << “\n”; 
 system (“pause”);
} 
#include <iostream.h>
main(){
 //declarar as variaveis
 float imposto,salarioLiquido;
 float salarioBruto;
 cout << "Salario Bruto: ";
 cin >> salarioBruto; 
 imposto = salarioBruto*0.05;
 salarioLiquido=salarioBruto-imposto; 
 cout<<"Imposto: "<<imposto << "\n";
 cout<<" Liquido: "<<salarioLiquido<<"\n";
 system("pause");
}
Comprimento:10
Largura: 5
Perimetro: 30
#include <iostream.h>
main(){
 float perimetro, comprimento, largura;
 cout << " Comprimento : ";
 cin >> comprimento; 
 cout << " Largura : ";
 cin >> largura;
 perímetro=2*comprimento+2*largura; 
 cout << "Perimetro: " << perimetro << "\n";
 system("pause");
} 
Capital: 1000
Taxa: 2
Periodo: 4
Juros vale: 80
#include <iostream.h>
main(){
 //declarar as variaveis
 float capital, taxa, periodo, juros;
 cout << " Capital : ";
 cin >> capital; 
 cout << " Taxa : ";
 cin >> taxa;
 cout << " Periodo : ";
 cin >> periodo;
 juros = capital*(taxa/100)*periodo; 
 cout << "Juros vale: " << juros << "\n";
 system("pause");
} 
distancia:100
valor do litro:2.79
Km por litro: 10
pedagio: 10
valor do combustível: 37.9
Índices da Matriz
Índices do vetor
#include <iostream.h>
main(){
 float distancia, valorLitro;
 float valorTotal, desempenho, pedagio; 
 cout << " distancia: ";
 cin >> distancia;
 cout << " valor do litro: ";
 cin >> valorLitro;
 cout << " Km por litro: ";
 cin >> desempenho;
 cout << " pedagio : ";
 cin >> pedagio;
 valorTotal=(distancia*valorLitro)/desempenho + pedagio;
 cout << " valor do combustivel " << valorTotal << "\n";
 system("pause");
}
Valores do vetor
Linguagem de programação C	Página � PAGE \* MERGEFORMAT �31�
_1342674877.unknown
_1342674974.unknown
_1517308175.unknown
_1502174517/ole-[42, 4D, 3E, A5, 07, 00, 00, 00]
_1342674940.unknown
_1342674823.unknown

Outros materiais