Buscar

Aula 01 Introdução a Lógica 2017

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 24 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 24 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 9, do total de 24 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

Prévia do material em texto

Estácio de Sá 
Professor Rogério 	 	Disciplina: Lógica de Programação (algoritmos) 
Curso de Engenharia Civil , Engenharia de Produção, Automação
AULA 01: Conceitos Básicos de Programação: Lógica de Programação e Algoritmos.
Conceitos Básicos
	O homem sempre procurou criar máquinas que o auxiliassem em seu trabalho, diminuindo esforço e economizando tempo. Dentre essas máquinas, o computador vem se mostrando uma das mais versáteis, rápidas e seguras. O computador pode auxiliar em qualquer tarefa. É muito trabalhador, possui muita energia, mas não tem iniciativa, nenhuma independência, não é criativo nem inteligente, por isso precisa receber instruções nos mínimos detalhes.
	A finalidade de um computador é receber, manipular e armazenar dados. Visto somente como um gabinete composto de circuitos eletrônicos, cabos e fontes de alimentação, certamente ele parece não ter nenhuma utilidade. O computador só consegue armazenar dados em discos, imprimir relatórios, gerar gráficos, realizar cálculos, entre outras funções, por meio de programas. Portanto, a finalidade do computador é realizar a tarefa de processamento de dados, isto é receber dados por um dispositivo de entrada (por exemplo, o teclado), realizar operações com esses dados e gerar uma resposta que será expressa em um dispositivo de saída (por exemplo, o monitor de vídeo).
	Um computador possui duas partes distintas que trabalham juntas: o hardware (composto pelas partes físicas) e o software (composto pelos programas).
	Quando se desenvolve um software para realizar determinado tipo de processamento de dados, deve-se escrever um programa ou vários programas interligados. No entanto, para que o computador compreenda e execute esse programa, devemos escrevê-lo usando uma linguagem que tanto o computador quanto o criador do software entendam. Essa linguagem é chamada de linguagem de programação.
	As etapas para o desenvolvimento de um programa são:
Análise: nesta estuda-se o enunciado do problema para definir os dados de entrada, o processamento e os dados de saída.
Algoritmo: ferramentas (descrição narrativa, fluxograma ou português estruturado) que são utilizados para descrever o problema com suas soluções.
Codificação: o algoritmo é transformado em códigos da linguagem de programação escolhida para se trabalhar.
O que é Lógica.
	
	O homem por si só é um ser lógico, e essa lógica é um dom que não se aprende de uma hora para outra. Resulta, em geral, de experiências do dia a dia. Usamos a lógica quando executamos ordenadamente uma série de rotinas predeterminadas, tais como: levantar da cama, pegar chinelos, trocar uma lâmpada e etc.
	Conceito de lógica: conjunto de leis, princípios ou métodos que determinam um raciocínio coerente, induzindo a uma solução prática e eficaz do problema.
Exercício 1: Qual a sequência lógica a seguir:
a) 1, 4, 9, 16, 25, ______
b) 1 1 2 3 5 8 13 ______
c) U	 D 	T	Q	C	S	S ____ _____
Algoritmos
Lógica não computacional
	Algoritmos é uma sequência de passos que visa atingir um objetivo bem definido.
	Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa.
	Algoritmo é uma sequência finita de instruções ou operações cuja execução, tem tempo finito, resolve um problema computacional.
	Analisando as definições anteriores, pode-se perceber que executamos no dia-a-dia vários algoritmos:
Algoritmo 1: Trocar uma Lâmpada
Passo 1 - Pegar a lâmpada nova.
Passo 2 - Pegar a escada.
Passo 3 - Posicionar a escada embaixo da lâmpada queimada.
Passo 4 - Subir na escada com a lâmpada nova na mão.
Passo 5 - Retirar a lâmpada queimada.
Passo 6 - Colocar a lâmpada nova.
Passo 7 - Descer da escada.
Passo 8 - Testar o interruptor.
Passo 9 - Guardar a escada.
Passo 10 - Jogar a lâmpada velha no lixo
Importante: Essa atividade pode ser realizada de uma maneira diferente, pois às vezes um problema pode ser resolvido de diversas maneiras, porém, gerando a mesma resposta, ou seja, podem existir vários algoritmos para solucionar o mesmo problema.
Exercício 02: Algoritmo 2 - Um homem precisa atravessar o rio com um barco que possui capacidade apenas para transportar ele mesmo e mais uma de suas três cargas, que são: um lobo, um bode e um maço de alfafa.
Aula 1: Exercícios Complementares
Exercício 3) Três irmãos receberam um pacote de formato diferente, contendo uma camisa e um cheque. Partindo das premissas abaixo, pode-se descobrir o nome dos três irmãos, o formato do pacote, a cor da camisa e o valor do cheque que cada um ganhou?
Premissas
O cheque de R$ 350,00 estava no mesmo pacote da camisa roxa.
O cheque de R$ 400,00 estava no pacote oval.
O cheque de Bento era no valor de R$ 250,00.
A camisa de Benedito era Rosa.
A camisa abóbora não estava no pacote redondo.
Antônio não desembrulhou o pacote quadrado.
Resposta:
	Nome
	Pacote
	Camisa
	Cheque
	
	
	
	
	
	
	
	
	
	
	
	
Exercício 4) Retire três palitos da figura A e obtenha apenas três quadrados.
Qual será o próximo símbolo da sequência da figura B?
Reposicione dois palitos na figura C e obtenha uma figura com cinco quadrados iguais.
	A)
	B)
	C)
Exercício 5) Observe as multiplicações a seguir:
12.345.679 × 18 = 222.222.222
12.345.679 × 27 = 333.333.333
... ...
12.345.679 × 54 = 666.666.666
Para obter 999.999.999 devemos multiplicar 12.345.679 por quanto?
Exercício 6) Qual o valor da pedra que deve ser colocada em cima de todas estas para completar a sequência abaixo?
5) Desenhe 5 círculos. Nos círculos 1 e 2 coloque uma moeda de R$ 0,05 e nos círculos 4 e 5 uma moeda de R$ 0,10.
	Objetivo: Desenvolva um algoritmo que troque as moedas de lugar
	Regras: Cada moeda só avança em uma direção e só um círculo.
		 Se encontrar outra moeda, poderá saltá-la desde que o próximo círculo esteja desocupado.
�
Aula 02: Programação utilizando a linguagem C.
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:
	Exemplo:
		João tem 25 anos. (INTEIRO)
		Esta classe tem 40 alunos. (INTEIRO)
		Ana tirou 9.5 em matemática. (REAL)
		A altura de Pedro é 1.85m (REAL)
		A placa daquele carro é “BPP 6745”. (CARACTERE)
		O nome dela é : “Maria”. (CARACTERE)
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.
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.
	
Identificador: Toda variável 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.
Estrutura Sequencial em C-C++
#include <nome da biblioteca>
main( )
{ 
 Bloco de comandos;
}
Bibliotecas
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.
É importante salientar que a linguagem C/C++ é sensível a letras maiúsculas e minúsculas, ou seja, considera que letras maiúsculas são diferentes de minúsculas (por exemplo, a é diferente de A).
 Sendo assim, todos os comandos devem, obrigatoriamente, ser escritos com letras minúsculas.
Comando de atribuição.
	
Utilizar o igual (=). Exemplo: a = 10;
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.
Comando de entrada de dados.
	O comando de entrada é utilizado para receber dados digitados pelo usuário. Os dados recebidos são armazenados em variáveis. São os comandos de entrada: cin >> e o gets. 
Exemplos: 
	int a, b;
	char nome[30];
	float cheque;
	char opcao; 
	cout << “Entre com o valor de a : “;
cin >> a;
cout << “Entre com o valor de b: “
cin >> b”;	 
	cout << “Cheque : “ ;
	cin >> cheque;
	cout << “nome : “;
	gets (nome);
cout <<“Opção : “;
	cin >> opcao;
Exercício 7: Desenvolva na linguagem LINGUAGEM C/C++ o seguinte algoritmo:
Exiba na tela do computador a mensagem:
 	Aprendendo programação!!!.
 Na disciplina de Lógica
	
	Construção em Linguagem C
	
	#include <iostream.h>
main(){
 cout << "Aprendendo programação \n";
 cout << "Na disciplina de Lógica \n"; 
 
 system("pause");
}
salvar o arquivo: exemplo01.cpp 
OPERADORES ARITMÉTICOS NA LINGUAGEM C/c++
Os operadores aritméticos utilizados na linguagem C/C++ são: +, -, *, / e % (resto da divisão).
Prioridades ou precedência de operadores
Prioridade mais alta: *  /   %
Prioridade mais baixa:   +   - 
Exemplos: 
10 + 6 / 2 *20 = 70 
10 % 3 = 1 
4 + 5 * 3= 19
(4 + 5) * 3= 27
Obs : Parêntese garantem maior prioridade;
Ex:   para a expressão  2*(4+2) o resultado será 12 
 para a expressão  2*4+2 o resultado será 10
Funções: pow (base, potencia) => Exemplo =>42 => pow (4,2) = 16
 25½ = pow (25, 0.5) = 5
pow (3,2) = 9
pow (9, 0.5) = 3
pow (5, 3 ) = 125
pow (27, 0.33333) = 2.99996704181
Exercício 8: Resolva as expressões determinando o valor de x.
	x = 5 + 3 * 2 + 8
	b) x = ( 5 + 3 * 2) % 4 
	c) x = 64 / pow (4,2)
Exercício 9: Resolva na Linguagem C/C++ as expressões abaixo.
#include <iostream.h>
#include <math.h>
main(){
 int x1, x2, x3;
 x1 = 5 + 3 * 2 + 8;
 cout << "x1 vale:"<< x1 << "\n";
 x2 = ( 5 + 3 * 2) % 4;
 cout << "x2 vale:"<< x2 << "\n";
 x3 = 64 / pow (4,2);
 cout << "x3 vale: "<< x3 <<"\n";
 system("PAUSE");
}
Aula 2: Exercícios complementares
Método para a construção de Algoritmos
Ler atentamente o problema a ser resolvido
Definir os dados de entrada
Definir o processamento, ou seja, quais os cálculos a serem realizados
Definir os dados de saída
Construir o algoritmo
Testa o algoritmo utilizando simulações
Exercício 10) Calcular os juros simples de uma aplicação financeira. Juros = capital * taxa/100 *periodo
 ANÁLISE ALGORITMO CODIFICAÇÃO TESTE	
//entrada
capital
taxa
período
// processamento	
Calcular juros
//saída
juros
Exercício 11) Calcular o valor de uma viagem de uma cidade a outra.
 ANÁLISE ALGORITMO CODIFICAÇÃO TESTE	
//entrada
distancia
valorLitro
desempenho
pedagio
//processamento
Calcular valorTotal
//saída
valorTotal
�
Aula 03: Operadores Relacionais, Lógicos e Linearização
Operadores Relacionais: São necessárias para fazer algum tipo de comparação. O resultado é sempre um valor lógico verdadeiro (true) ou falso (false).
	== (igualdade) , >, <, >=, <=, != (diferente)
	Exemplo: 
10 > 7 => 1 (verdadeiro ou true)
7 != 7 => 0 (falso ou false)
(30 % 7) != 6 => 1 (verdadeiro ou true)
 
Importante: um sinal de = significa atribuição
Exercício 12) Qual o valor lógico das expressões abaixo.
	(2+5) > 4
 
	b) 3 != 3 
	c) (2*5) > 3 
	d) pow (3,2) <= 16
(Exercício 13) Resolva na Linguagem C/C++ as expressões acima.
#include <iostream.h>
main(){
 int x1, x2;
 x1 = (2+5) > 4;
 cout << "x1: "<<x1 << "\n";
 x2 = 3 != 3;
 cout << "x2: "<<x2 << "\n";
 system("PAUSE");
}
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
Complete a tabela verdade abaixo:
	Proposição A
	Proposiçao B
	Operador e (A && B)
	Operador ou (A || B)
	Operador não (! A)
	Verdadeiro
	verdadeiro
	V
	v
	F
	Verdadeiro
	Falso
	F
	v
	F
	Falso
	verdadeiro
	F
	V
	V
	Falso
	Falso
	F
	F
	v
	Exemplo:
	(( 4 > 5) && (2 != 4)) ( F && V ( F
(( 4 > 5) || (2 != 4)) ( F || V ( V
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) 
 ( 
c) 
 ( 
d) 
( 
Exercício 14 : Calcular o valor de x1 e x2 em uma equação do 2º grau (considere que o valor de delta é positivo).
 ANÁLISE ALGORITMO CODIFICAÇÃO TESTE	
//entrada de dados
a
b
c
// processamento
Calcula delta
Calcula x1
Calcula x2
// Saída
x1
x2
Aula 4: Fluxograma e Exercícios de revisão
Fluxograma 
	
Consiste em analisar o enunciado do problema e escrever, utilizando símbolos gráficos predefinidos, a solução.
	
	
Indica o início e fim da solução
	
	Indica que uma entrada de dados (em uma variável).
	
	
Indica o qual o sentido do fluxo de instruções
	
	Indica saída de dados, normalmente em um monitor.
	
	
Indica um processo, normalmente uma atribuição de valores a uma variávei 
	
	
Indica decisão.
 
Exercício 15) Calcular o valor do perímetro de um retângulo. Perimetro = 2*comprimento + 2*largura
 ANÁLISE ALGORITMO CODIFICAÇÃO TESTE	
//entrada
comprimento
largura
// processamento
Calcular o perimetro
// saída
perimentro
Exercício 16) Calcule a área e o perímetro de um quadrado.(fórmulas: area = lado*lado e perímetro = 4*lado).
 ANÁLISE ALGORITMO CODIFICAÇÃO TESTE	
// entrada
lado
//processamento
Calcular a area
Calcular o perímetro
// saída
area
perimetro
Exercício 16) Dado o valor em quilômetros, converte esse valor em metros.
 ANÁLISE ALGORITMO CODIFICAÇÃO TESTE	
//entrada
quilometros
//processamento
Converter para metros
//saída
metros
Exercício 17) 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íquidio: R$ 950.00
 ANÁLISE ALGORITMO CODIFICAÇÃO TESTE	
//entrada
salarioBruto
//processamento
Calcular imposto
Calcular salarioLiquido
// saída
imposto
salarioLiquido
	
Exercício 18) Calcule o volume de uma esfera. (fórmula: 
)
 ANÁLISE ALGORITMO CODIFICAÇÃO TESTE	
 
 Teste (Tela): 
entrada de dados: Valor do raio:3
 raio Volume vale: 113.04
processamento: 
 cálculo do volume
saída de dados: 
 volume
	
�
Exercício 19) Calcule a média final (média ponderada) da disciplina de lógica de programação, de acordo com a seguinte fórmula: 
)
 ANÁLISE ALGORITMO CODIFICAÇÃO TESTE	
 Teste (Tela): 
entrada de dados nota da prova:8
 nota da prova nota do trabalho:6
 nota do trabalho nota final: 7.6
 
 processamento
 calcular nota final 
saída
 nota final 	
�
Aula 5: Exercícios para desenvolver em Classe 
Exercícios: Desenvolva a codificação de acordo (na linguagem C) de acordo com o fluxograma.
Exercício 20) Um funcionário recebe um salário fixo mais 4% de comissão sobre vendas. Faça um programa que receba o salário fixo do funcionário e o valor de suas vendas, calcule e mostre a comissão e seu salário final.
 ANÁLISE ALGORITMO CODIFICAÇÃO TESTE	
Exercício 21) Faça um programa que receba o peso de uma pessoa, calcule e mostre:
O novo peso, se a pessoa engordar 15% sobre o peso digitado;
O novo peso, se a pessoa emagrecer 20% sobre o peso digitado.
 ANÁLISE ALGORITMO CODIFICAÇÃO TESTE	
Exercício: Vamos fazer os programas na linguagem C, sem algoritmo (fluxograma).
Exercício 22) Faça um programa que calcule e mostre a área de um losango. Sabendo-se que Area = (diagonal maior * diagonal menor) / 2
Exercício 23) Faça um programa que receba o valor do salário mínimo e o valor do salário de um funcionário, calcule e mostre a quantidade de salários mínimos que esse funcionário ganha.
Exercício 24) Faça um programa que receba o ano do nascimento de uma pessoa e o ano atual, calcule e mostre: 
A idade da pessoa em anos;
A idade da pessoa em meses;
A idade da pessoa em dias.
�
Aula 6: 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;
}
Exemplo. Desenvolva um programa que consulte uma pessoa sobre o seu dinheiro disponível e se ela tem R$ 10,00 ou mais, ela irá ao cinema, se tiver menos, ela ficará em casa.
Teste 1 : 	Qual e o dinheiro disponível: 5
 	Vou ficar em casa!!
Teste 2:	Qual e o dinheiro disponível: 15
 	Vou ao cinema!!
Algoritmos
Exercício 24. 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.
Exercício 25. 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.
Algoritmo						Codificação
Exercício 26) 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. 
Exercício 27. 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
�
Exercício 28) 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 
	Elabore um algoritmo que mostre a condição de um indivíduo segundo o IMC:
	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
�
Aula 7. Exercícios para desenvolvimento em sala de aula
 Exercício 29) Uma companhia de seguros classifica seus segurados em três categorias de grupo de risco baseadas na idade. Somente pessoas com pelo menos18 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.
Exercício 30) 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.
Exercício 31) 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 7: Exercício Complementar
Exercício 32) 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 e do imposto pagos, 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: 
Salário 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
�
Exercício de Revisão
1) Resolva as expressões lógicas, determinando se a expressão é verdadeira (true) ou falsa (false):
a.) (12 < 13) = 
b.) (6 < 8) || (3 > 7) = 
c.) !(pow (2,4) < 23) = 
d.) ( 15 == 6) || ( 16< 7) && ! (a+5-6 = 8) {onde a = 7} =
2) Construa a tabela verdade.
3) Identificar o tipo de dado (inteiro, real, caractere) de cada valor abaixo.
a) 21 : 		b) “bola” :		c) 0.21 :		d) 4 :		e) “0.21” :
4) Assinale com um X os nomes de variáveis válidos.
( ) abc		( ) 3abc 		( ) a 		( ) 123a 	( ) –a 			( ) acd1 
( ) A&a 	( ) guarda-chuva ( ) A123 	( ) Aa		( ) guarda_chuva ( ) ABC DE
( ) etc.		( ) b316		
5) Qual é a regra para os nomes de variáveis (identificadores) em uma linguagem de programação?
6) Desenvolva a linearização das expressões abaixo.
	a)
	b)
 
	c) 
7) Sendo P, Q, R variáveis inteiras e S, variável real, cujos valores, em um determinado momento da execução do programa, são respectivamente 2, 3, 12 e 4.5, quais são os valores de cada uma das seguintes expressões aritméticas? 
a) 100 * (Q / P) + R =
b) P * (R % 5) – Q/2 =
c) pow (R – Q, 0.5) + S = 
8) Complete a tabela.
	Variáveis
	Relações
	X
	Y
	Z
	COR
	NOME
	(X*X + Y) > Z
	COR ==”AZUL” 
	NOME != “JOSE”
	1
	2
	5
	“AZUL”
	“PAULO”
	FALSE
	
	
	4
	3
	1
	“VERDE”
	“JOSE”
	
	
	
	1
	1
	2
	“BRANCO”
	“PEDRO”
	
	
	
	1
	2
	1
	“AZUL”
	“JOSE”
	
	
	
9) Considerando as variáveis (A=3, B=16, NOME=”MIRIAM” E PROFISSAO=”ADVOGADO”), avalie as expressões a seguir.
a) ( (A+1) > pow (B, 0.5 ) || (NOME != “ANA”)
b) ( (A+1) > pow (B, 0.5 ) && (PROFISSAO!= “MEDICO”)
10) O que é case sensitive?
11) As expressões abaixo estão formato utilizado pela linguagem utilizada pela Linguagem C. Escreva as expressões na forma convencional.
a) sqrt ( 10 + x / 45) = __________________________________
b) b*b – 4*a*c = ________________________________________
12) Resolva as expressões determinando o valor de x.
a) x = 14 - 8 / 4 + 3 = ________________________________
b) x = 5 + 3 * 2 - 4 = _____________________________
c) x = 64 / (pow (4, 2)) = ____________________________________
d) x = 30 + 60 / 5 = ____________________________________
13) Assinale com um X os nomes de variáveis (identificadores) válidos e explique os não válidos.
a) ( ) resposta ___________________________________________________________
b) ( ) estacio+ ________________________________________________________
c) ( ) a2333r ___________________________________________________________
d) ( ) func_primeiro_nome __________________________________________________
 
14) Quais são os operadores relacionais presentes na linguagem C?
15) Quais são os operadores lógicos presentes na linguagem C?
16) Quais são os operadores aritméticos presentes na linguagem C?
17) Faz parte do desenvolvimento de uma algoritmo declarar as variáveis que armazenarão dados a ser manipulados pelo algoritmo. De acordo com as regras para criação dos nomes para as variáveis, assinale a alternativa que possui um exemplo de nome INCORRETO:
a) nome_aluno b) num1 c) cad1_id d) salariofinal e) 2nota 
18) Assinale com um X os nomes de variáveis válidos.
( ) abc		( ) 3abc 		( ) a 		( ) 123a 	( ) –a 			( ) acd1 
( ) A&a 	( ) guarda-chuva ( ) A123 	( ) Aa		( ) guarda_chuva ( ) ABC DE
( ) etc.		( ) b316		
19) Analise os algoritmos abaixo e assinale o correto: (O algoritmo está sendo usado para calcular a área de um quadrado a partir da leitura do lado do quadrado).
	a) main(){
 float lado;
 cout << "Digite o valor do lado : ";
 cin >> lado;
 area = pow (lado,2); 
 cout << "\n A area vale : " << area; 
 system("pause"); 
}
	b) main(){
 float lado, area;
 cout << "Digite o valor do lado : ";
 cin >> lado;
 area = pow (lado,2); 
 cout << "\n A area vale : " << area; 
 system("pause"); 
}
	c) main(){
 float lado, area;
 cout << "Digite o valor do lado : ";
 area = pow (lado,2); 
 cout << "\n A area vale : " << area; 
 system("pause"); 
}
	d) main(){
 cout << "Digite o valor do lado : ";
 cin >> lado;
 area = pow (lado,2); 
 cout << "\n A area vale : " << area; 
 system("pause"); 
}
20) Assinale a alternativa que possui o resultado da saída da execução do algoritmo abaixo, supondo que o usuário tenha digitado 500.00 (quinhentos reais) para o salário do funcionário (variável salario):
main () {
 float salario, valorc;
 cout << “Digite salário de um funcionario:”;
 cin >> salario;
 valorc=salario * 5/100;
 cout << “\n Comissão é:” << valorc;
 system("pause"); 
}
a) Comissão é: 5.00 b) Comissão é: 25.00 c) Comissão é:50.00 d) Comissão é:45.00 e) Comissão é:20.00
21) Observe o programa abaixo com muita atenção e suponha que você digitou nessa ordem 30, 50. Selecione a opção cujo conteúdo é igual aos valores exibidos na tela.
    float ha,total;   
 int h; 
    cin  >>  ha;
 cin  >>  h; 
    total  =  ha * h * 4.5; 
    cout  <<  total ; 
    cout  <<  total * 0.1; 
    cout  <<  total * 0.9; 
	a) 6750
 675
 6075
	b) 6750
 67.5
 6682.5
	c) 6750
 675
 607.5
	d) 67500
 675 
 66825
	e) 67500
 6750
 60750
22) Façaum programa que calcule o aumento de um salário. Ele deve solicitar o valor do salário e a porcentagem do aumento. Exiba o valor do aumento e do novo salário.
23) Faça um programa que solicite o preço de uma mercadoria e o percentual de desconto. Exiba o valor do desconto e o preço a pagar.
 24) Faça um programa para ler um valor e escrever se é positivo ou negativo (considere o valor zero como 
positivo).
25) Ler as notas da 1a. e 2a. avaliações de um aluno. Calcular a média aritmética simples e escrever uma mensagem que diga se o aluno foi ou não aprovado (considerar que nota igual ou maior que 6 o aluno é aprovado). Escreva também a média.
26) Ler o ano atual e o ano de nascimento de uma pessoa. Escrever uma mensagem que diga se ela poderá ou não votar este ano (não precisa considerar o mês em que a pessoa nasceu).
27) Ler o salário fixo e o valor das vendas efetuadas pelo vendedor de uma empresa. Sabendo-se que ele recebe uma comissão de 3% sobre o total das vendas até R$ 1.500,00 mais 5% sobre o que ultrapassar este valor, calcular e escrever o seu salário total.
28) Uma sorveteria vende três tipos de picolés. Sabendo-se que o picolé do tipo 1 é vendido por R$ 0.50, o do tipo 2 por R$ 0.60 e o do tipo 3 por R$ 0.75, faça um algoritmo que, para cada tipo de picolé, mostre a quantidade vendida e o total arrecadado.
Teste 1: Tipo de Picole: 1		 Teste 2:	Tipo de Picole: 2
	 Quantidade: 100				Quantidade: 3
	 Valor a Pagar: 50,00				Valor a Pagar: 1.80
29) Um hotel cobra R$ 60.00 a diária e mais uma taxa de serviços. A taxa de serviços é de: 
• R$ 5.50 por diária, se o número de diárias for maior que 15;
• R$ 6.00 por diária, se o número de diárias for igual a 15;
• R$ 8.00 por diária, se o número de diárias for menor que 15.
 Construa um programa que mostre o nome e o total da conta de um cliente.
 #include <iostream.h>
#include <math.h>
main()
{ // declaração de variáveis
 float volume, raio;
 // entrada de dados
 cout << "Valor do raio: ";
 cin>> raio;
 // processamento
 volume= 4 * 3.14 * pow (raio,3)/3;
 // saída de dados
 cout << " Volume vale : " << volume;
 system("pause");
} 
#include <iostream.h>
main()
{ 
 float notaP, notaT, notaFinal;
 
 cout << "nota da prova: ";
 cin>> notaP;
 cout << "nota do trabalho: ";
 cin>> notaT;
 
 notaFinal=notaP*0.8 + notaT*0.2;
 
 cout<< "nota final : " << notaFinal;
 system("pause");
}
#include <iostream.h>
#include <math.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>
#include <math.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>
#include <math.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>
#include <math.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"); }
#include <iostream.h>
main(){
 float dinheiro;
 cout << " Dinheiro: ";
 cin >> dinheiro; 
 if (dinheiro >= 10){
 cout << " Vou ao cinema \n"; 
 } 
 else{
 cout << " Fico em casa \n"; 
 } 
 system("pause");
 }
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");
} 
#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 total: " << valorTotal << "\n";
 system("pause");
}
#include <iostream.h>
#include <math.h>
main(){
 float a, b, c, delta, x1,x2; 
 cout << " valor de a: ";
 cin >> a;
 cout << " valor de b: ";
 cin >> b;
 cout << " valor de c: ";
 cin >> c;
 delta = pow (b,2) - 4*a*c;
 x1 = (-b+pow (delta,0.5)) / (2*a);
 x2 = (-b-pow (delta,0.5)) / (2*a);
 cout<< " x1 vale: " << x1 << "\n";
 cout<< " x2 vale: " << x2 << "\n";
 system("pause");}
valor de a: 1
valor de b: 3
valor de c: -4
x1 vale: 1
x2 vale: -4
distancia:100
valor do litro:2.79
Km por litro: 10
pedagio: 10
valor total :37.9
� EMBED PBrush ���
Linguagem de programação C	Página � PAGE \* MERGEFORMAT �19�
_1342674974.unknown
_1423135953.unknown
_1471112290.unknown
_1500310798/ole-[42, 4D, A6, 3A, 01, 00, 00, 00]
_1500310799/ole-[42, 4D, 16, A7, 00, 00, 00, 00]
_1500310797/ole-[42, 4D, E6, 67, 00, 00, 00, 00]
_1436181678.unknown
_1468394290/ole-[42, 4D, F6, 93, 03, 00, 00, 00]
_1423135280.unknown
_1342674877.unknown
_1342674940.unknown
_1342674823.unknown

Outros materiais