COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN

Tamanho: px
Começar a partir da página:

Download "COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN"

Transcrição

1 COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN Ficha da Aula Prática 5: Selecção e repetição. Funções. Sumário das tarefas e objectivos da aula: 1. Implementar estruturas de selecção e repetição. (revisão) 2. Implementar as novas formas de funções definidas pelo programador. 1

2 1. Estruturas de selecção e repetição. (revisão) 1.1 HANDS-ON 30. Write a script called prtemps that will prompt the user for a maximum Celsius value in the range from 16 to 20; error-check to make sure it s in that range. Then, print a table showing degrees F and degrees C until this maximum is reached. The first value that exceeds the maximum should not be printed. The table should start at 0 degrees F, and increment by 5 degrees F until the max (in C) is reached. Both temperatures should be printed with a field width of 6 and one decimal place. The formula is C = 5/9 (F 32). For example, the execution of the script might look like this (the format should be exactly like this): 1. Contexto do problema Prete-se desenvolver uma aplicação que peça ao utilizador um valor em graus Celsius entre 16 e 20, e crie uma tabela de conversão entre Fahrenheit e Celsius com valores entre 0 F e o valor introduzido pelo utilizador. 2.1 Esquema de processamento Entradas Limite superior da tabela (max_celsius) Saídas Tabela de conversão de temperaturas 2.2 Especificações funcionais e requisitos (EF) O programa deve perguntar ao utilizador o valor máximo da tabela em Celsius (max_celsius) (EF) O programa deve verificar que o valor pertence ao intervalo de -16 a 20 (EF) O programa deve apresentar uma tabela de conversão entre graus Fahrenheit e graus Celsius (REQ) A tabela apresentará valores no intervalo de 0 F até ao valor max_celsius (REQ) Os valores da tabela são apresentados em intervalos de 5 F (REQ) As temperaturas são apresentadas em campos com 6 caracteres de largura e com 1 casa decimal 2

3 2.3 Métodos de processamento Conversão em Celsius: temp_c = 5/9 (temp_f 32) 2.4 Fluxos de dados Utilizador Programa Pede o valor de max_celsius Introduz valor de max_celsius Apresenta tabela de conversão 3.1 Abordagem top-down Lista de tarefas: 3.3 Algoritmo principal 1) Repetir indefinidamente a) Apresentar mensagem pedindo ao utilizador um valor de temperatura entre -16 e 20 C b) Ler do teclado o valor de max_celsius c) Se -16 max_celsius 20 terminar repetição (1) d) Apresentar mensagem indicando que o valor não pertence ao intervalo desejado 2) Apresentar cabeçalho da tabela 3) Inicializar temp_f = 0 e temp_c = -5/9*32 4) Repetir enquanto temp_c max_celsius a) Apresentar uma linha com temp_f e temp_c no formato especificado nos requisitos b) Incrementar temp_f de 5 unidades c) Calcular temp_c recorro ao método Conversão em Celsius 3

4 2. Funções 2.1 Novos tipos de funções definidas pelo programador Estrutura da função Exemplo Função que devolve mais do que um valor: Função que não devolve valores: Função que não devolve nem recebe valores: function functionname() % Comments describing the function Outra função que não devolve nem recebe valores: function functionname % Comments describing the function Função com sub-funções: function [output arguments] = subfunction1 (input arguments) % Comment describing subfunction1 ( ) function [output arguments] = subfunctionn (input arguments) % Comment describing subfunctionn 4

5 Estudo Autónomo 2.2 Funções (implemente os exemplos em ficheiros com o nome das respectivas funções) 1 Write a function that will receive as an input argument a temperature in degrees Fahrenheit, and will return the temperature in both degrees Celsius and Kelvin. The conversion factors are: C = (F 32) * 5/9 and K = C Chame a função anterior na janela de comando com uma temperatura de 18 ºF 3 Implemente uma função que escreva uma palavra dada começando em qualquer uma das suas letras (ver exemplo de execução seguinte em caso de dúvida) function [C,K] = cels_and_kelv(f) % Esta função converte graus % Fahrenheit em Celsius e Kelvin % simultâneamente C = (F 32) * 5/9; K = C ; >> [C, K] = cels_and_kelv(18) C = K = function word_ring(wd) % Writes a word in a loop % starting by any of its letters for i = 0:length(wd)-1, new_wd = [wd(i+1:) wd(1:i)]; fprintf('%s\n', new_wd); Estudo Autónomo 4 Chame a função anterior na janela de comando com a palavra tec lado 5 Escreva uma função que crie um ficheiro de exemplo chamado example.dat, para o utilizador de um programa saber em que formato deve fornecer os ficheiros de dados. O ficheiro é composto por duas colunas de números reais com 5 posições e três casas decimais cada uma. >> word_ring('teclado') teclado ecladot cladote ladotec adotecl dotecla oteclad function test_file % Creates an example file in a % format that the main program % can read fl = fopen('example.dat','wt'); for x = 0:pi/10:pi, y = sin(x); fprintf(fl,'%5.2f %5.2f\n',x,y); fclose(fl); 6 Depois de correr a função test_file procure na sua directoria de trabalho e abra o ficheiro example.dat

6 7 Escreva uma função chamada dist_letra que pede ao utilizador para introduzir duas letras mínusculas, verifica que o utilizador realmente introduz letras mínusculas, e apresenta a distância entre as duas no alfabeto. Note que a verificação da introdução de dados deve ser feita duas vezes, utilize para tal uma sub-função. function dist_letra % Apresenta a distância entre duas letras inseridas pelo utilizador letra1 = insere_letra(1); letra2 = insere_letra(2); fprintf('distância: %d letras\n',... abs(letra1-letra2)); function letra = insere_letra(n) % Sub-função que pede e verifica a introdução de uma letra minúscula while true fprintf('\n%dª minúscula: ', n); letra = input('','s'); if letra >= 'a' && letra <= 'z' break fprintf('não era minúscula!'); 2.3 HANDS-ON 3. A vector can be represented by its rectangular coordinates x and y or by its polar coordinates r and θ. The conversions from polar to rectangular are x = r cos(θ) and y = r sin(θ). Write a function to receive the polar coordinates as input arguments and return the corresponding rectangular coordinates. 3. Bibliografia Capítulo 5 de Stormy Attaway (2009), Matlab: A Practical Introduction to Programming and Problem Solving, Elsevier. 6

Computação e Programação 2009 / 2010

Computação e Programação 2009 / 2010 Computação e Programação 2ª Aula de Problemas Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Exercícios Resolvidos [Livro 1] (Ver referências no slide 20) 3.3 Write a program to convert

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO º Semestre 205/206 MEMec, LEAN Ficha da Aula Prática 3: Estruturas de repetição. Sumário das tarefas e objectivos da aula:. Estruturas de repetição controladas por contador 2.

Leia mais

Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Objectivos e tarefas

Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Objectivos e tarefas Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Objectivos e tarefas Aplicar os passos do processo de desenvolvimento para a construção de um algoritmo 1 Exercícios Resolvidos 1 - EXERCÍCIO

Leia mais

Processo de Desenvolvimento

Processo de Desenvolvimento Processo de Desenvolvimento Problema Análise Testes OK Codificação Testes OK Produção 1. Contexto do problema 2. Análise / síntese do problema 3. Esquema de processamento 4. e testes 5. Codificação 6.

Leia mais

Computação e Programação

Computação e Programação Computação e Programação 7ª Aula de Problemas Sub-funções; Vectorização; Manipulação de strings; Estrutura try-catch Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Problema 1 Seja um

Leia mais

Computação e Programação

Computação e Programação Computação e Programação 10ª Aula de Problemas Tópicos Avançados sobre Funções Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Problema 1 3. The velocity of sound in air is 49.02xT^(1/2)

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 10 Exemplo de desenvolvimento de Programa Modular: Máquina de venda de bilhetes D.E.M. Área Científica de Controlo Automação e

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2015/2016 MEMec, LEAN Ficha da Aula Prática 6: Cadeias de caracteres (strings). Estruturas de dados (structures). Sumário das tarefas e objectivos da aula: 1. Utilizar

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN Ficha da Aula Prática 3: Entrada/saída de dados. Scripts e funções. Estruturas de selecção. Sumário das tarefas e objectivos da aula: 1. Utilizar

Leia mais

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem: Computação e Programação (2009/2010-1º Semestre) 1º Teste MEMec - LEAN (11/11/2009) DURAÇÃO: 1h30m RESOLUÇÃO Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha,

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2015/2016 MEMec, LEAN Ficha da Aula Prática 2: Entrada/saída de dados. Scripts. Estruturas de selecção. Sumário das tarefas e objectivos da aula: 1. Utilizar funções

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2015/2016 MEMec, LEAN Ficha da Aula Prática 1: Introdução ao MATLAB Tópicos da aula: 1. Introdução ao ambiente MATLAB 2. Representação numérica, variáveis, operadores

Leia mais

Computação e Programação. MEMec - LEAN 1º Semestre

Computação e Programação. MEMec - LEAN 1º Semestre Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Objectivos de CP Pretende-se promover o desenvolvimento de, Competências que

Leia mais

1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível?

1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível? P1 Conceitos (2,4 valores) 1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível? (0.8v) 1.b) Indique três vantagens de criar um programa

Leia mais

CADERNO DE EXERCÍCIOS ALGORITMOS

CADERNO DE EXERCÍCIOS ALGORITMOS J. EXERCÍCIOS SOBRE MODULARIZAÇÃO 77. Faça uma função que recebe um número inteiro por parâmetro e retorna verdadeiro se ele for par e falso se for ímpar. 78. Escreva um programa que leia o raio de um

Leia mais

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

Computação e Programação. Exame Época Normal Nome : Número : Computação e Programação 2015-2016 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 6 de janeiro de 2016 Exame sem

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teorica 18 Algoritmos de ordenação Função sort D.E.M. Área Científica de Controlo Automação e Informática Industrial Wrap Up da última

Leia mais

Computação e Programação

Computação e Programação Computação e Programação 8ª Aula de Problemas Cell arrays Estruturas Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Problema 1 Escreva uma função que recebe um cell array de strings e

Leia mais

Introdução à Programação 2006/07. Algoritmos

Introdução à Programação 2006/07. Algoritmos Introdução à Programação 2006/07 Algoritmos Cálculo da média de uma sequência Algoritmos: Exercício 1 Pretende-se escrever um programa que, dado um numero indeterminado de números introduzidos pelo teclado,

Leia mais

PROJECTO DE COMPUTAÇÃO E PROGRAMAÇÃO

PROJECTO DE COMPUTAÇÃO E PROGRAMAÇÃO PROJECTO DE COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2015/2016 (MEMec, LEAN) Caderno de Encargos Data limite para entrega da Parte 1: 30 de Outubro de 2015, 23h59m (hora do sistema Fénix) Data limite para

Leia mais

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

Introdução à Programação em C Input / Output Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then

Leia mais

Introdução à Programação em C

Introdução à Programação em C Introdução à Programação em C Tipos e Operadores Elementares Estruturas de Controlo Resumo Novidades em C Exemplo: Factorial Tipos de Dados Básicos Saltos Condicionais: if-then-else Valor de retorno de

Leia mais

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

Computação e Programação Exame Época de recurso Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v

Leia mais

Python 3.x Estrutura de Repetição while

Python 3.x Estrutura de Repetição while Python 3.x Estrutura de Repetição while Introdução à Ciência da Computação Prof. Edison Ishikawa Sumário Atribuição Atualizando variáveis Iterações Revisitando o laço for Laço while Rastreando um programa

Leia mais

Programação 2017/2018 MEEC

Programação 2017/2018 MEEC Mestrado em Engenharia Electrotécnica e de Computadores Programação 2017/2018 MEEC LABORATÓRIO 1 SEMANA DE 5 DE MARÇO A 9 DE MARÇO DE 2018 Ao desenvolver os seguintes programas tenha em atenção o bom uso

Leia mais

Funções em Matlab. Subprogramas em Matlab são funções.

Funções em Matlab. Subprogramas em Matlab são funções. MATLAB Funções Funções em Matlab Subprogramas em Matlab são funções. function [saida1, saida2,...] = nome_funcao(ent1, ent2,...) % Comentário numa linha que diz o que faz a função % Mais comentários %

Leia mais

Computação e Programação Exame 2ª Época

Computação e Programação Exame 2ª Época Computação e Programação 2012-2013 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame 2ª Época 30 de janeiro de 2013 Exame sem consulta (2 horas

Leia mais

MATLAB. Programação básica

MATLAB. Programação básica MATLAB Programação básica Tipo de dados logical Podem ter valores true ou false. Dados do tipo lógico podem ser utilizados com valores numéricos. São convertidos nos valores 0 e 1. Operadores relacionais

Leia mais

PROGRAMAÇÃO JAVA. Parte 3

PROGRAMAÇÃO JAVA. Parte 3 PROGRAMAÇÃO JAVA Parte 3 O PRIMEIRO PROGRAMA O Java executa uma instrução a seguir a outra, pela ordem em que estão escritas. Essa sequência poderá ser contrariada de forma especial: Alternativas: Ciclos

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERSIDADE DA BEIRA INTERIOR Programação MIEA 1º Semestre Frequência Resolução 13/12/2016 1. Escreva uma expressão lógica em linguagem C para cada uma das seguintes condições: (a) o valor da variável

Leia mais

Introdução à Programação em C (I)

Introdução à Programação em C (I) Introdução à Programação em C (I) IAED Tagus, 2009/2010 Organização de Ficheiros em C Organização Típica de Ficheiros em C Inclusão de bibliotecas de sistema Inclusão de bibliotecas locais Definição de

Leia mais

Ana Paula Tomás. Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto 2010/2011

Ana Paula Tomás. Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto 2010/2011 Ana Paula Tomás Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto 2010/2011 Aula 1 Objectivos e programa da disciplina. Critérios de avaliação. Um primeiro programa

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2015/2016 MEMec, LEAN Ficha da Aula Prática 11: Introdução à criação de programas em C. Sumário das tarefas e objectivos da aula: 1 Aprender os passos necessários à

Leia mais

1ª LISTA DE EXERCÍCIOS

1ª LISTA DE EXERCÍCIOS Departamento de Informática 205/2 ª LISTA DE EXERCÍCIOS Essa lista de exercícios deve ser resolvida integralmente usando o ambiente BOCA. Instruções gerais para o uso do BOCA: O BOCA é um programa que

Leia mais

Ficha 1 Noções de sequência e decisão em algoritmia

Ficha 1 Noções de sequência e decisão em algoritmia Ficha 1 Noções de sequência e decisão em algoritmia 1. Ler uma temperatura em Celsius e converter para Fahrenheit. Elabore o algoritmo e especifique as estruturas de dados necessárias para a resolução

Leia mais

Laços de repetição for, while, do-while

Laços de repetição for, while, do-while Computação Eletrônica Laços de repetição for, while, do-while Prof: Luciano Barbosa Estruturas de Repetição Imagine um programa que calcula a média de um aluno. Este programa é bastante simples, bastaria:

Leia mais

Aula Anterior. Decomposição algorítmica (continuação)

Aula Anterior. Decomposição algorítmica (continuação) Aula Anterior Decomposição algorítmica (continuação) Degenerescência da decomposição básica da solução em três etapas Método de decomposição modificado à entrada Associação de diferentes valores de entrada

Leia mais

MCG126 Programação de Computadores II

MCG126 Programação de Computadores II MCG126 Programação de Computadores II Turmas: A e B Professor: Isac Mendes Lacerda (Material original cedido gentilmente pela professora Janaína Gomide) 1 Bibliografia 2 Bibliografia Introdução à Programação

Leia mais