Lista de Exercícios 06 Modularização (Procedimentos e Funções)

Documentos relacionados
Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM

Lista de Exercícios 06 Modularização (Procedimentos e Funções) Todos os algoritmos devem ser descritos em PORTUGOL e implementados em Pascal e Matlab.

BCC201 Introdução à Programação ( ) Prof. Reinaldo Silva Fortes. Prática 05 Modularização

Lista de Exercícios 06 Modularização (Procedimentos e Funções)

Lista de Exercícios 06 Modularização (Procedimentos e Funções)

Lista de Exercícios 02 Estrutura Condicional

Lista de Exercícios 03a Algoritmos Repetição

Lista de Exercícios 02 Algoritmos Estrutura Condicional

Lista de Exercícios 2

Lista de Exercícios 03b Algoritmos Repetição

BCC201 Introdução à Programação ( ) Prof. Reinaldo Silva Fortes. Prática 04 Estruturas de Dados Homogêneas Vetores

Lista de Exercícios 02 Algoritmos Estrutura Condicional

Fundamentos de Programação Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte 15 de maio de 2018.

AULA TEÓRICA 03 COMANDO CONDICIONAL

Material Didático Proposto

Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais

Universidade Católica de Petrópolis Centro de Engenharia e Computação Campus Barão de Amazonas Programação II - Matlab

Aluno: No. 3ª. Avaliação 32/30 pontos (2 pontos extras)

Comandos de desvio de fluxo. Expressões lógicas.

Lista de Exercícios 02 Algoritmos Estrutura Condicional

Aluno: No. 3ª. Avaliação 25 pontos

CADERNO DE EXERCÍCIOS ALGORITMOS

Aluno: No. Exame Especial 100 pontos

Disciplina: Algoritmos e Programação Professor: Paulo César Fernandes de Oliveira, BSc, PhD

Aula 8 Comandos de Seleção

Lista de Exercícios 3

Sub-algoritmos (ou Funções)

ACH5531 Introdução à Computação

Linguagem de programação métodos/funções

Funções. Funções constituem ferramenta essencial para a modularização de código.

Modularidade. Objetivos: Introduzir noções básicas de modularidade. Funções e procedimentos

3. Linguagem de Programação C

Instituto de Computação Programação de Computadores (TCC00326)

Aula 05: Condicionais (if / else)

Lista de Exercícios 1 Algoritmos, Pseudocódigo e Fluxograma

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python

Resolvendo uma equação do 2º grau

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Estrutura Condicional - Exercícios Resolvidos Professor: Danilo Giacobo

Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Exercícios de Fixação 2 - RESPOSTAS Professor: Danilo Giacobo

Aula Teórica 09 Funções

No segundo caso, se a condição for verdadeira é executado o bloco-instruções1

Lógica de Programação

Lista de Exercícios Algoritmos Vetores

69) Acrescentar uma mensagem de VALOR INVÁLIDO no exercício [68], caso o segundo valor informado seja ZERO.

Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM

1.3. Algoritmos e Fluxogramas

Lista de Exercícios 04a Repetição. 5) Escreva um programa que imprima todos os números inteiros de 200 a 100 (em ordem decrescente).

Ler os valores dos coeficientes a, b e c Calcular o valor de delta Obter as raízes da equação Imprimir as raízes da equação

Lista de Exercícios II. 01. Desenvolva um programa em C que receba um valor numérico real, verifique e mostre se esse número é positivo.

Introdução a Programação de Jogos

Lista de Exercícios Revisão de Lógica. 01. Desenvolva um programa em C que receba três valores numéricos inteiros e mostre a soma desses três números.

Lista de Exercícios sobre Recursividade

Lista de Exercícios 03 Algoritmos Repetição

Prática 10 - Funções

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES

LISTA DE EXERCÍCIOS: 1ª Unidade

Maratona de Programação

CAPÍTULO 4 ESTRUTURAS DE CONTROLE

Lista de Exercícios 03a Repetição. 1) Escreva um programa que imprima todos os números inteiros de 0 a 50.

Português Estruturado (VISUALG)

Funções. Material Didático Unificado. BCC701 Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação

Funções. Material Didático Unificado. BCC701 Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação

Universidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 02

Aula Teórica 09 Funções

Lista de Exercícios 5

Exercícios Repetição

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

Estruturas de controle: Estrutura de DECISÃO

LISTA DE ATIVIDADES ...

Exercícios: comandos condicionais

1. Escreva um algoritmo em fluxograma que descreva a sequência 1, 5, 13, 17, 21, 25,?,?,?,?. Ou seja, até o seu 10º termo.

Aula Teórica 03. Comandos Condicionais (Decisão)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Introdução à Ciência da Computação

Exercícios: Comandos de Repetição

Introdução à Ciência da Computação

Modularização. Prof. Antonio Almeida de Barros Junior

Exercícios: comandos condicionais

Estruturas de seleção

FAETERJ Faculdade de Educação Tecnológica do Estado do Rio de Janeiro Programação e Estruturas de Dados em C Prof. Gilberto Quirgo de Souza

SSC 0301 IC para Engenharia Ambiental

Agenda. Programação estruturada. Sequência. Decisão: Desvio de fluxo INTRODUÇÃO. Expressões lógicas.

DCC001 - Programação de Computadores. Lista de Exercícios 02 - Estruturas de Dados Homogêneas (Vetores).

Introdução à Engenharia ENG1000

Programação de Computadores 1 Lista 2. Prof. Álvaro A. F. de Souza DECSI - ICEA - UFOP

Introdução a Programação de Jogos

ponteiros INF Programação I Prof. Roberto Azevedo

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Controle de Fluxo Comandos de repetição: while e do-while

Os exercícios abaixo podem ser resolvidos sob a forma de algoritmos ou programas Pascal

Solução da Lista de Exercícios Algoritmos - 01

MATLAB. Programação básica

3ª Lista de Exercícios de Programação I

Lista de Exercícios 04 Estruturas de Dados Homogêneas - Vetores

Transcrição:

Lista de Exercícios 06 Modularização (Procedimentos e Funções) Procedimentos: Passagem de parâmetros. 5) Escreva um procedimento que receba um número natural e imprima os três primeiros caracteres do dia da semana correspondente ao número. Por exemplo, 7 corresponde à SAB. O procedimento deve mostrar uma mensagem de erro caso o número recebido não corresponda à um dia da semana. Gere também um algoritmo que utilize esse procedimento, chamando-o, mas antes lo um valor para passagem de parâmetro. function l6p05b; X = input('digite um numero correspondente a um dia da semana: '); DIASEMANA(X); function DIASEMANA(NUM); if ( NUM >= 1 ) & ( NUM <= 7 ) if ( NUM == 1 ) fprintf(1,'%d corresponde a: DOM\n',NUM); if ( NUM == 2 ) fprintf(1,'%d corresponde a: SEG\n',NUM); if ( NUM == 3 ) fprintf(1,'%d corresponde a: TER\n',NUM); if ( NUM == 4 ) fprintf(1,'%d corresponde a: QUA\n',NUM); if ( NUM == 5 ) fprintf(1,'%d corresponde a: QUI\n',NUM); if ( NUM == 6 ) fprintf(1,'%d corresponde a: SEX\n',NUM); if ( NUM == 7 ) fprintf(1,'%d corresponde a: SAB\n',NUM); fprintf(1,'parametro recebido (%d) nao correspondente a um dia da semana!\n',num); UFOP ICEB DECOM 1º. Sem 2012 David Menotti 1

Funções que verificam uma situação, retorno booleano (verdadeiro, falso) 10) Um número é dito ser capicua quando lido da esquerda para a direita é o mesmo que quando lido da direita para a esquerda. O ano 2002, por exemplo, é capicua. Então, elabore uma função para verificar se um número possui essa característica. Caso o número seja capicua, a função deve retornar 1 e 0 em caso contrário. Escreva também um algoritmo para testar tal função. function l6p10; X = input('digite um numero: '); if CAPICUA(X) fprintf(1,'%d eh capicua!\n',x); fprintf(1,'%d nao eh capicua!\n',x); function REV = REVERSO(NUM); REV = 0; while ( NUM ~= 0 ) RET = mod(num,10); NUM = floor(num / 10); REV = REV * 10 + RET; function CAPICUA = CAPICUA(NUM); if (REVERSO(NUM) == NUM) CAPICUA = 1; CAPICUA = 0; UFOP ICEB DECOM 1º. Sem 2012 David Menotti 2

Funções que retornam um valor calculado 15) Criar uma função que verifique quantas vezes um número inteiro x é divisível por um número inteiro y. A função deve retornar -1 caso não seja possível calcular. Escreva também um algoritmo para testar tal função. function l6p15; X = input('digite um valor para x: '); Y = input('digite um valor para y: '); RET = VEZDIV(X,Y); if ( RET == -1 ) disp('impossivel calcular, divisao por zero!'); fprintf(1,'%d eh divisivel por %d - %d vez(es)',x,y,ret); function VEZ = VEZDIV(X,Y); if ( Y == 0 ) VEZ = -1; % divisao por zero VEZ = 0; RET = mod(x,y); while ( RET == 0 ) VEZ = VEZ + 1; X = floor(x / Y); RET = mod(x,y); UFOP ICEB DECOM 1º. Sem 2012 David Menotti 3

Funções retornando mais de um parâmetro 20) Construa uma função, que receba três coeficientes relativos à uma equação de segundo grau (a.x 2 + b.x + c = 0) e calcule suas raízes através da fórmula de báscara: b ± x = = b 2 4ac 2a A função deve levar em conta a possibilidade da existência de nenhuma, uma ou duas raízes. A função deve retornar o número de raízes ou -1 em caso de inconsistência. Os valores das raízes devem ser retornados. Construa também um algoritmo para utilizar a função construída. function l6p20; disp('equacao do 2o. grau - a0.x^2 + a1.x + a2 = 0'); AZ = input('digite o coeficiente a0: '); AU = input('digite o coeficiente a1: '); AD = input('digite o coeficiente a2: '); [RET,X1L,X2L] = EQ2(AZ,AU,AD); if ( RET == -1 ) disp('incosistencia, possivel a0 = 0!'); if ( RET == 0 ) disp('nao existe raiz real para tal equacao!'); if ( RET == 1 ) fprintf(1,'uma unica raiz real, x1 = x2 = %f\n',x1l); if ( RET == 2 ) disp('duas raizes reais diferentes!'); fprintf(1,'x1 = %f\n',x1l); fprintf(1,'x2 = %f\n',x2l); function [EQ2,X1,X2] = EQ2(A,B,C); if ( A == 0 ) EQ2 = -1; X1 = -1; X2 = -1; DELTA = B * B - 4 * A * C; if ( DELTA < 0 ) EQ2 = 0; X1 = -1; X2 = -1; if ( DELTA == 0 ) EQ2 = 1; X1 = -B / ( 2 * A ); X2 = X1; % DELTA > 0 EQ2 = 2; X1 = ( -B + sqrt(delta) ) / ( 2 * A ); X2 = ( -B - sqrt(delta) ) / ( 2 * A ); UFOP ICEB DECOM 1º. Sem 2012 David Menotti 4

Transformações 25) Crie uma função que realize a conversão da escala Kelvin (K - escala absoluta) para a escala Fahrenheit (F). Sabe-se que 273K equivale a 32ºF e a cada variação de 10 unidades na escala Kelvin equivale a 18 na escala Fahrenheit. A função deve retornar zero caso não seja possível realizar a conversão e um em caso contrário. Crie também um algoritmo para testar tal função. function L6P25; KL = input('entre com a temperatura na escala Kelvin: '); [VAL,FL] = CONVKF(KL); if ( VAL == 0 ) fprintf(1,'impossivel calcular, temperatura Kelvin negativa!\n'); fprintf(1,'a correspondente temperatura na escala Fahrenheit eh %.2f\n',FL); function [RET,F] = CONVKF(K); % 273K - 32F, 373K - 212F if ( K < 0 ) RET = 0; F = 0; RET = 1; F = ( 5 * 212-9 * (373-K) ) / 5; UFOP ICEB DECOM 1º. Sem 2012 David Menotti 5

Funções recursivas 30) O fatorial de um número n, inteiro e positivo, pode ser definido recursivamente, ou seja: 1 se n = 0 n! = n.( n 1)! se n 1 Então, pede-se que seja criada uma função recursiva que calcule o fatorial de um número n. A função deve retornar -1 caso não seja possível calcular o fatorial Além disso, crie um algoritmo que leia um valor, utilize a função criada para calcular o fatorial e imprima o valor computado. function l6p30; I = input('digite um numero: '); RET = FAT(I); if ( RET == -1 ) fprintf(1,'impossivel calcular o fatorial de %d\n',i); fprintf(1,'o Fatorial de %d eh %d\n',i,ret); function F = FAT(N); if ( N < 0 ) F = -1; if (N == 0) F = 1; F = N * FAT(N-1); UFOP ICEB DECOM 1º. Sem 2012 David Menotti 6