Lista de Exercícios 4

Documentos relacionados
Lista de Revisão Prova 1

Lista de Exercícios 1 Variáveis, Entrada e Saída de Dados

Lista de Exercícios 3 Laço de Repetição For e While

Lista de Exercícios 2 Condicionais

Lista de Exercícios ICC 1 Ponteiros

1ª Lista de Exercícios

Lista 2 TP060. Exercícios Vetores

ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO

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

Exercícios de Repetição

Introdução à Computação - aulas 01 e 02 -

Manipulação de Strings

PYTHON - Strings. Introdução à Programação SI1

Programação Procedimental

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Programação de Computadores I BCC 701 Lista de Exercícios Módulo

Paradigmas de Programação

Material Didático Unificado.

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Segunda lista de exercícios

INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P2

Aula prática 5. Funções Recursivas

Exercícios: Vetores e Matrizes

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Lista de Exercícios Estrutura de Repetição

Escreva em Java a classe NumeroComplexo que represente um número complexo. A classe deverá ter os seguintes construtores:

Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1

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

Algoritmos e Programação

Algoritmos e Estrutura de Dados Aula 02 Listas em Python

Exercícios Repetição

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

Exercícios: comandos condicionais

Departamento de Informática PUC-Rio INF Estruturas de Dados Lista 2 Completa (Gerada em 8 de maio de 2006)

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II

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

Lista de Exercícios 5

ESTRUTURAS DE REPETIÇÃO - PARTE 1

INSTRUÇÕES DE REPETIÇÃO

Passo-a-passo para desenvolver um Programa usando a Linguagem Python

Computação 1 - Python Aula 12 - Teórica: Interação com o usuário e programa principal. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 25

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Lista de Exercícios 4

Estruturas de Repetição. Leonardo Murta

Universidade Estadual do Sudoeste da Bahia Departamento de Estudos Básicos e Instrumentais Disciplina: Introdução à Ciência da Computação Prof.

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

Prova 1 QUESTÃO 1. (1) nusp % 3 == 1. MAC2166 Introdução à Computação para a Engenharia. # include <stdio.h>

Computação 2. Aula 3. Diego Addan Vetores de caracteres (strings)

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

Estrutura de Condição, Escolha e Repetição

Universidade Federal de Mato Grosso do Sul. Lista de Exercícios 2

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28

Seleção Múltipla Laços (while, do-while, for) AULA 05

Aula 15 - Estruturas de Repetição (p3)

Exercícios: comandos condicionais

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Computação 1 - Python Aula 11 - Teórica. programa principal. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 29

Lista de Exercícios Complementares 1 - Prof. Red. Entrada e Saída de Dados

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II

LISTA DE EXERCÍCIOS 2

Estruturas de Repetição. João Medeiros FATERN

Manipulação de Strings. Vanessa Braganholo

Exercícios: Comandos de Repetição

Working 03 : Conceitos Básicos II

Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática. Oficina de Programação CI

Lista: Lógica Proposicional - Dedução Natural (Gabarito)

Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab.

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Linguagem de programação Strings

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função.

Pedro Vasconcelos DCC/FCUP. Programação Funcional 5 a Aula Definições recursivas

Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

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

CADERNO DE EXERCÍCIOS ALGORITMOS

, se x = y. , se x > y

Oficina de Python Prof. Me. José Carlos Perini

Pseudolinguagem (ou Portugol) Profº Elton Rodrigo

Exercícios TVC2 PARTE I:

Aula 03 - Introdução ao Scilab (p2)

Algoritmos e Programação

Registros, Vetores e Matrizes

Lista de Exercícios 2

LISTA DE EXERCÍCIOS - ro. 04

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.

Transcrição:

Introdução à Ciência da Computação - 1191 Lista de Exercícios Funções Frutíferas Observações: As listas de exercícios serão corrigidas por um corretor automático, portanto é necessário que as entradas e saídas do seu programa estejam conforme o padrão especificado em cada questão (exemplo de entrada e saída). Por exemplo, não use mensagens escritas durante o desenvolvimento do seu código como Informe a primeira entrada. Estas mensagens não são tratadas pelo corretor, portanto a correção irá resultar em resposta errada, mesmo que seu código esteja correto. As questões estão em ordem de dificuldade. Cada lista possui 7 exercícios, sendo 1 questão fácil, ou médias e ou difíceis. Assim como as listas, as provas devem ser feitas na versão Python ou superior. Leia com atenção e faça exatamente o que está sendo pedido.

Questão A - Função de Comparação Escreva uma função compare que dado dois números x e y, retorne 1 se x for maior que y, se for igual a y, e -1 se x for menor que y. Usando o retorno da função, imprima na tela: x e maior que y se o retorno for 1, x e igual a y se o retorno for, e x e menor que y, caso contrário. Duas linhas de entrada correspondentes aos inteiros x e y. Será impresso na tela a mensagem x e maior que y se o retorno da função for 1, x e igual a y se o retorno da função for, e x e menor que y, caso contrário. Exemplo de 5-1 Exemplo de x e menor que y x e igual a y x e maior que y Tabela 1: Questão A

Questão B - Função para de Dados Usando uma função, faça um programa que leia números inteiros e imprima na tela o maior deles. No caso de valores iguais, imprima qualquer um dos maiores. Caso o maior número seja múltiplo do primeiro número n lido, imprima n na tela. Dez números inteiros, considere que o primeiro número lido nunca será. O maior número maior e o primeiro número n lido, caso m = a n, a Z. Exemplo de 1 5 6 7 8 9-1 -5-8 1 - -8-16 -6-18 56-51 Exemplo de 9-1 Tabela : Questão B

Questão C - Pares do Intervalo Usando recursividade, faça um programa que dado um inteiro n positivo lido do teclado, retorne todos os números pares maiores ou iguais a dois, que são menores ou iguais a n. Um único inteiro n. Todos os números pares maiores do que zero, que são menores ou iguais a n. Um por linha. Exemplo de 15 Exemplo de 8 6 1 1 8 6 Tabela : Questão C

Questão D - Soma de Sequência Par Usando funções recursivas, faça um programa que dado um inteiro n lido do teclado, retorne e imprima na tela a soma de todos os números pares de até n -, incluindo n -, se for o caso. Caso n seja menor que, imprima na tela -1. Um único inteiro n. Será impresso na tela a soma de todos os pares de até n -. Caso n seja menor que o programa deverá imprimir -1 na tela. Exemplo de Exemplo de 15 9-1 -1 Tabela : Questão D

Questão E - Quadrado de Pares Usando funções faça um programa que leia um valor n indefinidas vezes. O programa deve encerrar quando o valor de n for zero. Para cada n lido apresente o quadrado de cada um dos valores pares (conforme formato especificado abaixo) de 1 até n, inclusive n, se for o caso. Inteiro n. Será impresso na tela o quadrado de todos os números pares de 1 até n que são menores ou iguais a n, conforme exemplo abaixo. Exemplo de 7 1 5 Exemplo de 6ˆ = 6 ˆ = 16 ˆ = ˆ = ˆ = 8ˆ = 6 6ˆ = 6 ˆ = 16 ˆ = ˆ = 16 ˆ = ˆ = Tabela 5: Questão E

Questão F - Mínimo Múltiplo Comum O mínimo múltiplo comum (mmc) de dois inteiros a e b é o menor inteiro positivo que é múltiplo simultaneamente de a e de b. Se não existir tal inteiro positivo, por exemplo, se a = ou b =, então mmc(a,b) é zero por definição. O mínimo múltiplo comum é útil em operações de soma e subtração de frações vulgares, onde é preciso um denominador comum entre as frações operadas. Usando recursividade faça um programa que leia dois números separados por espaço indefinidas vezes e calcule o seu mmc. O programa deve encerrar quando a entrada conter um número negativo. Cada linha de entrada conterá dois inteiros a e b. O mínimo múltiplo comum de a e b. Exemplo de 8 1 9-1 5 7 1-5 -5 7 1 9 - Exemplo de 9 1 9 1 18 Tabela 6: Questão F

Questão G - Definição Recursiva de Strings Seja uma string s definida da seguinte forma: s ::= nil n : s onde nil representa a string vazia, e n:s denota a string com primeiro elemento n e cauda s (sendo s também uma string). O comprimento de uma string é definido recursivamente por: { ; se s = nil length(s) = 1 + length(s ); se s = a : s A concatenação de strings também pode ser definida por uma função recursiva: { s; se s1 = nil concat(s1, s) = a : (concat(s1, s)); se s1 = a : s1 O reverso de strings é definido por: { s; se s = nil rev(s) = concat(rev(s ), (n : nil)); se s = n : s Uma lista é prefixo da outra se: T rue; se s1 = nil e s nil prefix(s1, s) = prefix(s1, s ); se s1 = a : s1 e s = b : s F alse; caso contrário Considerando o código dado abaixo e usando as definições recursivas acima, complete o programa abaixo. Dado duas strings s1 e s, o trecho de código acima escreve na tela parte do que é especificado em. A entrada consistirá apenas de duas strings s1 e s. Não terá como entrada duas strings iguais.

Escreva na tela s1 concatenada com s, o reverso de s1 e se s1 é prefixo de s. No primeiro exemplo s1 é a string vazia (nil). Exemplo de b aaa bbb cd cdd Exemplo de b True aaabbb aaa False cdcdd dc True Tabela 7: Questão G