COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN
|
|
|
- Martim Coelho Neto
- 9 Há anos
- Visualizações:
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 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
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.
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
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.
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
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)
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
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
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
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,
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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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 %
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
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
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
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
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
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
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 à
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
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
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:
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
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
