2ª Aula de Problemas. Uma nota sobre o exercício 3 da 2ª aula de problemas.

Documentos relacionados
Computação e Programação

Computação e Programação

Computação e Programação

Computação e Programação

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes

Computação e Programação Exame Época de recurso

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Objectivos. João Sousa Miguel Pedro Silva

//conteúdo do arquivo pacote.h

Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Operações e Expressões

Objectivos. Iniciar a programação de funções. Estudar a chamada de funções. Estudar a forma como são executadas as funções

Programação científica C++

Construção de Classes

Linguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo

Engenharia de Software

Aula 05: Condicionais (Parte 2)

Computação e Programação Exame Época de recurso

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

INOVAÇÃO TECNOLÓGICA E LÓGICA E ARDUINO EMPREENDEDORISMO. Prof. Dr. Daniel Caetano

Aula 6: Comandos Estruturados Estrutura Condicional

ANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa

Aula 10 Comandos de Repetição

ESTRUTURA COM DECISÃO COMPOSTA

Aula 8: Estruturas de Repetição: O comando while

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Linguagem de Programação C++

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1105 INTRODUÇÃO À PROGRAMAÇÃO EM C

Utilizando cin: primeiros passos

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA. Prof. Dr. Daniel Caetano

Computação e Programação. Exame Época de Recurso

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi

Fundamentos de Programação

Operações com Arquivos

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

Aula 4: Introdução à Linguagem C++

PCS Laboratório de Programação Orientada a Objetos 1a. Prova. 02 de Setembro de 2015

Introdução à Programação em C Input / Output

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA EXERCÍCIOS E CONSTRUÇÃO DE PROGRAMAS SEQUENCIAIS. Prof. Dr. Daniel Caetano

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA/INDUSTRIAL

Outras Linguagens. Aulas 26 e 27. DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos

LÓGICA DE PROGRAMAÇÃO ESTRUTURAS DE DECISÃO PARA ENGENHARIA. Prof. Dr. Daniel Caetano

ESTRUTURA DE DADOS LAÇOS E VETORES

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURAS DE DECISÃO. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURAS DE DECISÃO. Prof. Dr. Daniel Caetano

PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Puca Huachi Vaz Penna / José Américo T. Messias

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURAS DE DECISÃO. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Overloading de Operadores

Aula 08: Repetição (Parte 3)

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I

Linguagens compiladas: C++ Fora do livro adoptado

ITENS FUNDAMENTAIS Programando em C++

Aula 14: Funções Passagem de Parâmetros por Referência

Aula 11: Laços e exercícios

CCO 016 Fundamentos de Programação

Programação estruturada em C++: extensões ao C. João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005)

Carlos Eduardo Batista. Centro de Informática - UFPB

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

exatasfepi.com.br Informática C/C++ André Luís Duarte Feliz é o homem que acha sabedoria, e o homem que adquire entendimento; Provérbios 3:13

Programação Computacional C/C++

Física Computacional 7 Classes

Algoritmos - Paulo Roberto

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Overloading de Operadores

Estrutura de dados 1. Ponteiros

Aula 17: Funções (Parte III) e Introdução a Vetores

Aula 15: Introdução a Funções

1 a Frequência

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva

Aula 10: Manipulação do fluxo de laços

PROGRAMAÇÃO COMPUTACIONAL

Nome: Número: Computação e Programação. Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Programação de Computadores

Computação e Programação. Exame Época Normal

Computação e Programação (2007/2008-1º Semestre)

Problema 2 (1 valor) M = [50:2:248 ; 249:-2:51] Problema 3 (1 valor)

Puca Huachi Vaz Penna / José Américo T. Messias

Funções. definição, declaração e chamada

Técnicas de Programação:

Programação Estruturada em C++: Extensões ao C

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Torneio Estudantil de Computação Multi-Linguagem de Aveiro. Escola Superior de Tecnologia e Gestão de Águeda Universidade de Aveiro TECLA 2009

LISTA DE EXERCÍCIOS 2

CIC 111 Análise e Projeto de Algoritmos II

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva

U.C. (21093) Programação por Objetos. XX de Julho de INSTRUÇÕES --

Frequência Introdução à Programação IGE e ETI 2004/2/10 1º semestre de 2003/2004 ISCTE

Aula 04. Agregados Homogêneos. Agregados Heterogêneos. Matrizes

Transcrição:

2ª Aula de Uma nota sobre o exercício 3 da 2ª aula de problemas. De seguida apresenta-se a resolução do exercício 3, considerando que não era necessário fornecer uma tolerância em baldes. Note que nesse caso não é necessário utilizar uma estrutura de selecção (if-else). Mas qual é a desvantagem desta resolução? 1

Exercício 3 ENUNCIADO: O Sr. Alberto é pintor de interiores e trabalha com dois tipos de tinta: a tinta de água e a tinta plástica. Primeiro o Sr. Alberto estima a área da casa a pintar, depois pergunta ao cliente que partes da casa quer pintar com tinta de água e calcula a percentagem da casa (em termos de área) que será pintada com esta tinta. Ele sabe, por experiência, que 5 l de tinta de água pintam cerca de 50 m², e 5 l de tinta plástica pintam cerca de 30 m². O Sr. Alberto necessita de um programa para calcular o número de latas, de 5 l, de cada tinta que cada cliente teria de pagar. NOTA: Como o Sr. Alberto pode querer trabalhar no futuro com baldes de tamanho superior, não utilize explicitamente o valor (literal) de 5 litros na implementação do programa. 2

Descrição Objectos (entidades) do programa Tipo Espécie Nome Teclado istream variável cin Écran ostream variável cout várias prompts string constante Descrições das saída string constante Tamanho do balde double constante tamanhodobalde Area pintada por litro de tinta de água Area pintada por litro de tinta plástica double constante areaporlitropintadapelatintaplastica Área total para pintar double variável areatotalparapintar Percentagem da área total a pintar com tinta de água Nº de baldes necessários de tinta de água Nº de baldes necessários de tinta plástica double constante areaporlitropintadapelatintaagua double variável percareatotaltintaagua int variável numbaldesnectintaagua int variável numbaldesnectintaplastica 3

Algoritmo: 1) Declarar e inicializar todas as constantes e variáveis da tabela. 2) Enviar para o écran a frase Indique a área total a pintar [em metros^2]: 3) Ler do teclado o valor de área e atribuir a areatotalparapintar. 4) Enviar para o écran a frase Indique a percentagem da área total a pintar com tinta de água [valor de 0... 100]: 5) Ler do teclado o valor da percentagem e atribuir a percareatotaltintaagua. 6) Calcular: numbaldesnectintaagua = ( (areatotalparapintar * percareatotaltintaagua / 100) / areaporlitropintadapelatintaagua ) / tamanhodobalde 4

Algoritmo: 7) Calcular: numbaldesnectintaplastica = ( (areatotalparapintar * (1 - percareatotaltintaagua / 100)) / areaporlitropintadapelatintaplastica ) / tamanhodobalde 8) Enviar para o écran a frase Numero necessário de baldes, de, seguido do valor de tamanhodobalde, seguido de litros, de tinta de água: seguido do valor de numbaldesnectintaagua. 9) Enviar para o écran a frase Numero necessário de baldes, de, seguido do valor de tamanhodobalde, seguido de litros, de tinta plástica: seguido do valor de numbaldesnectintaplastica. 5

Implementação em C++: /***************************************************************** Este programa permite calcular o número de baldes, de 5 litros, de tinta de água e de tinta plástica, que são necessários para pintar um interior de uma casa. Inputs: Área total a pintar e percentagem da área toral que é pintada com tinta de água. Outputs: envia para o ecran o número de baldes, de 5 litros, de tinta de água e de tinta plástica, que são necessários para pintar um interior de uma casa. ****************************************************************** Escrito por: PrimeiroNome UltimoNome, Nº xxxxxx, data: dia/mes/ano ******************************************************************/ #include <iostream> // cout,cin,>>,<< #include <cmath> // ceil(arg) -- recebe um double e calcula o valor inteiro //superior mais proximo do arg, e devolve um double using namespace std; 6

int main(){ // declaração e inicialização de constantes e variáveis const double tamanhodobalde = 5.0; // em litros const double areaporlitropintadapelatintaagua = 50.0/5.0; //valores do Sr. //Alberto const double areaporlitropintadapelatintaplastica = 30.0/5.0; //valores do //Sr. Alberto double areatotalparapintar = 0.0; double percareatotaltintaagua = 0.0; int numbaldesnectintaagua = 0; int numbaldesnectintaplastica = 0; cout << "\nindique a 'area total a pintar [em metros^2]: "; // prompt cin >> areatotalparapintar; // leitura da área total a pintar cout << "\nindique a percentagem da 'area total a pintar com tinta" << " de 'agua [valor de 0 a 100 %]: "; // prompt cin >> percareatotaltintaagua; // leitura da percentagem da 'area total a //pintar com tinta de 'agua 7

// cálculo do número de baldes de tinta de água necessários (valor inteiro) numbaldesnectintaagua = (int) ceil(((areatotalparapintar*percareatotaltin taagua/100)/areaporlitropintadapelatintaagua)/tamanhodobalde); // cálculo do número de baldes de tinta plástica necessários (valor inteiro) numbaldesnectintaplastica = (int) ceil(((areatotalparapintar*(1-percareatotaltintaagua/100))/ areaporlitropintadapelatintaplastica)/tamanhodobalde); // apresentação no ecran dos resultados cout << "\n\nnumero necessario de baldes, de " << tamanhodobalde << " litros, de tinta de 'agua: " << numbaldesnectintaagua; cout << "\n\nnumero necessario de baldes, de " << tamanhodobalde << " litros, de tinta plastica: " << numbaldesnectintaplastica << "\n\n"; return 0; } // fim de main() 8