MAC2166 Introdução à Computação
|
|
|
- Ana Sofia Vieira Brandt
- 8 Há anos
- Visualizações:
Transcrição
1 Departamento de Ciência da Computação IME USP MAC2166 Introdução à Computação Escola Politécnica Primeiro Semestre de 2015 Prova Substitutiva QUESTÃO 1 Esta questão consiste na implementação de duas funções em Python. Uma das funções é o main() e a outra é uma função de nome lecker(). Dizemos que uma lista de números inteiros é lecker se ela tem apenas 1 elemento que é maior que seus vizinhos. Por exemplo, Item (a) [2, 5, 10, 46, 25, 12, 7] é lecker, pois 46 é único elemento que é maior que seus vizinhos, que são 10 e 25. [13, 5, 4, 2, 3, 0, 3, 14] não é lecker, porque 13 é maior que 5 (5 é o único vizinho do 13) e 3 é maior que 2 e 0 (2 e 0 são os vizinhos do 3); [6, 7, 8, 9, 10] é lecker, pois apenas 10 é maior que seus vizinhos (9 é o único vizinho do 10). [7, 6] é lecker, pois apenas 7 é maior que seus vizinhos (6 é o único vizinho de 7). [16, 16, 16] não é lecker, pois nenhum elemento é maior que seus vizinhos. [23] não é lecker, pois nenhum elemento é maior que seus vizinhos (23 não tem vizinhos). Escreva uma função lecker() que recebe uma lista de números e retorna True se a lista é lecker e False em caso contrário. def lecker(lista): '''(list) > bool Recebe uma lista e retorna True se ela é lecker. Uma lista de número é lecker se tem apenas 1 "máximo local". ''' n = len(lista) # lista muito pequena tratamos na mão if n == 1: return False # número de máximos locais no_máximos = 0 # verifique o início esquerdo da lista if lista[0] > lista[1]: no_máximos += 1 # verifique o meio da lista for i in range(1,n 1): if lista[i 1] < lista[i] and lista[i] < lista[i+1]: no_máximos += 1 # verifique o final da lista if lista[n 1] > lista[n 2]: no_máximos += 1 Item (b) return no_máximos == 1 Uma matriz é lecker se cada uma das listas formada por linhas da matriz e cada uma das listas formada por colunas da matriz forem lecker. Por exemplo, número de linhas = 3 número de linhas = 3 número de linhas = 4 número de linhas = 4 número de colunas = 4 número de colunas = 4 número de colunas = 3 número de colunas = 3 matriz: matriz: matriz: matriz: Py.html 1/6
2 A matriz é lecker! A matriz não é lecker! A matriz não é lecker! A matriz é lecker! Escreva uma função main() que leia inteiros n_lin e n_col, 0 < n_lin, n_col, e uma matriz de números inteiros com n_lin linhas e n_col colunas e imprime uma mensagem indicando se a matriz é ou não lecker. Utilize obrigatoriamente a função lecker() do item anterior mesmo que você não a tenha feito. A seguir está um exemplo de execução da função main(). O seu programa pode utilizar sem escrevê la uma função imprima_matriz() que recebe uma matriz e a imprime como mostrado no exemplo de execução. Verificador de leckerdesa Digite o número de linhas da matriz: 3 Digite o número de colunas da matriz: 4 Digite o elemento [0][0]: 1 Digite o elemento [0][1]: 2 Digite o elemento [0][2]: 3 Digite o elemento [0][3]: 5 Digite o elemento [1][0]: 8 Digite o elemento [1][1]: 7 Digite o elemento [1][2]: 6 Digite o elemento [1][3]: 4 Digite o elemento [2][0]: 9 Digite o elemento [2][1]: 10 Digite o elemento [2][2]: 11 Digite o elemento [2][3]: 12 número de linhas = 3 número de colunas = A matriz não é lecker! def main(): ''' Programa que verifica se uma dada matriz de números é lecker. ''' print("verificador de leckerdesa") # 1 leia as dimensões da matriz n_lin = int(input("digite o número de linhas da matriz: ")) n_col = int(input("digite o número de colunas da matriz: ")) # 2 leia os elementos e crie a matriz matriz = [] for i in range(n_lin): linha = [] for j in range(n_col): num = int(input("digite o elemento [%d][%d]: " %(i,j))) linha.append(num) matriz.append(linha) # 3 imprima a matriz imprima_matriz(matriz) # 4 a matriz é lecker até que se prove o contrário é_lecker = True # 5 verifique se as linhas são lecker i = 0 while i < n_lin and é_lecker: é_lecker = lecker(matriz[i]) i += 1 # vá para a próxima linha # 6 verifique se as colunas são lecker j = 0 while j < n_col and é_lecker: # copie a coluna para uma lista coluna = [] for i in range(n_lin): coluna.append(matriz[i][j]) Py.html 2/6
3 é_lecker = lecker(coluna) j += 1 # vá para a próxima coluna # 7 imprima o veredicto if é_lecker: print("a matriz e lecker!") else: print("a matriz não é lecker!") QUESTÃO 2 Nesta questão você escreverá um programa em Python que simula uma partida de uma versão simplificação de um jogo de cartas chamado War. (Esse jogo foi desenvolvido para muitas plataformas, incluindo Android, Apple IOS e Windows Phones. Como não há decisões no jogo e o resultado é totalmente aleatório, War não é considerado um jogo segundo algumas definições [Wikipedia].) War é um jogo entre dois jogadores. No início de uma partida de War as cartas de um baralho são embaralhadas. Em seguida, cada um dos dois jogadores recebe metade das 52 cartas do baralho. Cada carta recebida por um jogador é colocada em um monte à sua frente. Cada partida do jogo é composta por 26 rodadas. Em cada rodada, simultaneamente, cada jogador pega a carta que está no topo do seu monte e a mostra ao adversário. O vencedor da rodada é o jogador que tiver a carta de maior valor. Em uma rodada pode haver empate. O vencedor da partida é o jogador que vencer mais rodadas. Em uma partida também pode haver empate. Nesta questão, os jogadores da partida de War simulada pelo seu programa serão dois físicos ilustres do Instituto de Tecnologia da Califórnia (Caltech): Sheldon Cooper (Sheldon) e Leonard Hofstadter (Leonard). A seguir é exibido o resultado de uma partida de War jogada entre Sheldon e Leonard. Sheldon: K Q J D A A Q 7 K 6 9 Q D 6 9 J 8 D J Leonard: 4 9 D K 5 A 4 5 K A J Q 6 8 Venceu : S S S S E S L S S S S L S S L L S L S L S S S L S S Na partida exemplificada acima, cada coluna corresponde a uma rodada. Na linha com o rótulo Venceu, um caractere 'S' indica que Sheldon venceu a rodada correspondente à coluna, um caractere 'L' indica que Leonard venceu a rodada correspondente a coluna, e um caractere 'E' indica que houve empate. Como pode ser verificado, a primeira rodada foi vencida por Sheldon pois pegou o K enquanto a carta que Leonard pegou foi o 4. Na quinta rodada, tivemos um empate, Sheldon e Leonard pegaram cartas de mesmo valor, o 3 e o 3. A primeira rodada vencida por Leonard foi a sétima quando pegou o 4 enquanto que Sheldon pegou o 2. O vencedor da partida foi Sheldon pois ele venceu 18 das 26 rodadas. As constantes definidas abaixo devem ser obrigatoriamente utilizadas nessa questão, sem precisar redefini las. O valor de cada carta depende apenas de seu posto: 'A', '2', '3', '4', '5', '6', '7', '8', '9', 'D', 'J', 'Q', e 'K'. O dicionário VALOR tem como chave o posto de cada carta e apresenta o seu valor. # naipes, postos e valores de cada carta de acordo com o posto # NAIPES = ['u2661', 'u2665', 'u2662', 'u2663'] NAIPES = [' ', ' ', ' ', ' '] POSTOS = ['A', '2', '3', '4', '5', '6', '7', '8', '9', 'D', 'J', 'Q', 'K'] VALOR = {'A':14, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9, 'D':10, 'J':11, 'Q':12, 'K':13} Item (a) Escreva uma classe Carta que será usada para criar um objeto que representa uma carta de um baralho. Essa classe deve obedecer as especificações listadas a seguir. Construtor da classe: deve receber como parâmetros um string naipe (da lista NAIPES) e um string posto (da lista POSTOS) que serão usados para criar a representação de uma carta. pegue_naipe(): a classe deve possuir um método pegue_naipe() que retorna o naipe de um objeto da classe. pegue_posto(): a classe deve possuir um método pegue_posto() que retorna o posto de um objeto da classe. pegue_valor(): a classe deve possuir um método pegue_valor() que retorna o valor de um objeto da classe. Esse método deve utilizar o dicionários VALOR. class Carta: def init (self,naipe,posto): self.naipe = naipe self.posto = posto Py.html 3/6
4 def pegue_naipe(self): return self.naipe def pegue_posto(self): return self.posto def pegue_valor(self): return VALOR[self.posto] Item (b) Escreva uma classe Baralho que será usada para criar um objeto que representa um baralho. Essa classe deve obedecer as especificações listadas a seguir. Construtor da classe: para criar a representação de um baralho, o construtor da classe deve utilizar uma lista (= list) de objetos da classe Carta (item (a)). A representação de cada uma das 52 cartas de um baralho deve estar presente na lista. embaralhe(): a classe deve possuir um método embaralhe() que embaralha a lista de cartas de um dado objeto da classe. Para isso utilize a função random.shuffle() que recebe uma lista e embaralha os seu elementos. Não escreva a função random.shuffle(), apenas use a. pegue_carta(): a classe deve possuir um método pegue_carta() que remove e retorna a carta no final da lista de cartas de um dado objeto da classe. class Baralho(): # def init (self): self.baralho = [] for naipe in NAIPES: for posto in POSTOS: carta = Carta(naipe,posto) self.baralho.append(carta) # def embaralhe(self): random.shuffle(self.baralho) # def pegue_carta(self): carta = self.baralho.pop() return carta Item (c) Escreva uma classe Jogador que será usada para criar um objeto que representa um jogador de War. Essa classe deve obedecer as especificações listadas a seguir. Construtor da classe: recebe como parâmetro um string nome com o nome do jogador. Um jogador deve ser representado através de um string com o seu nome e uma lista contendo a representação das cartas no seu monte. No momento da criação, o monte de cartas do jogador está vazio. Cada uma das cartas no monte do jogador deve ser representada através de objetos da classe Carta (item (a)). A classe deve possuir um método que permita que ao utilizarmos a função print() com um objeto da classe Jogador, o nome do jogador e as todas as cartas no seu monte sejam mostrados como nos exemplos abaixo: Sheldon: J 5 J 3 Q Q K Leonard: A D 9 A K 3 D 6 recebe_carta(): a classe deve possuir um método recebe_carta() que recebe como parâmetro um objeto carta da classe Carta (item (a)) e põe a carta no topo do monte de cartas de um dado objeto da classe. pegue_carta(): a classe deve possuir um método pegue_carta() que remove e retorna a carta no topo do monte de cartas de um dado objeto da classe. class Jogador: def init (self, nome): self.nome = nome Py.html 4/6
5 self.monte = [] def str (self): no_cartas = len(self.monte_jogador) s = "%s: " %(self.nome) for i in range(no_cartas 1, 1, 1): carta = self.monte[i] s += carta.pegue_naipe() + carta.pegue_posto() + ' ' return s def recebe_carta(self,carta): self.monte.append(carta) def pegue_carta(self): carta = self.monte.pop() return carta Item (d) Neste item você deverá escrever uma função main() que simula uma partida de War entre os jogadores Sheldon e Leonard. A sua função deverá utilizar objetos das classes Carta (item (a)), Baralho (item (b)) e Jogador (item (c)). A seguir estão três exemplos de execução do programa. War entre Sheldon e Leonard Sheldon: Q K D J K Q A 8 7 A D J Leonard: 4 D 3 K D J Q A 8 J Q 3 9 A 4 5 K Venceu : S L S L S S S L L S L S S S S S L L S L E L L S S L Sheldon venceu a partida. War entre Sheldon e Leonard Sheldon: J 8 4 J A A A 5 K Q 2 Q 9 D K Q Leonard: 7 Q 9 7 K J A D K J 6 D D Venceu : E L E L L E L S L S S S S E L S S L L L S L L S S S Sheldon e Leonard empataram a partida. War entre Sheldon e Leonard Sheldon: 3 2 K Q A 3 5 D D J A D K Leonard: J Q 9 J Q K J 4 6 K 4 Q 6 5 A 8 D 5 A Venceu : L L S S L L L L S L S S L L S S L S L S S L S L S L Leonard venceu a partida. As mensagens emitidas pelo seu programa devem ser idênticas às mensagens mostradas no exemplo. Na simulação de uma partida um baralho deve ser criado e embaralhado. Cada um dos jogadores deve receber metade das 52 cartas do baralho. Cada carta recebida por um jogador é colocada no seu monte. Linhas com os nomes dos jogadores seguidos pelas cartas nos seus montes devem ser impressas, como mostra o exemplo. Em cada uma das rodadas, as cartas no topo dos montes dos jogadores são comparadas. No final da partida devem impressas duas linhas: uma linha contendo o rótulo Venceu: seguido das marcas correspondentes aos vencedor de cada rodada (= SHELDON ou LEONARD) ou ainda a marca representando empate (= EMPATE) e uma linha indicando o jogador que venceu a partida ou se houve empate (veja os exemplos de execução). A seguir estão alguma constantes que podem ser usadas pela sua função main(). # resultados de uma rodada SHELDON = 'S' LEONARD = 'L' EMPATE = 'E' # número de cartas e rodadas N_CARTAS = 52 N_RODADAS = 26 def main(): print("war entre Sheldon e Leonard") # 1 crie os jogadores sheldon = Jogador("Sheldon") leonard = Jogador("Leonard") # 2 crie baralho baralho = Baralho() # 3 embaralhe as cartas Py.html 5/6
6 baralho.embaralhe() # 4 distribua cartas for rodadas in range(n_rodadas): carta = baralho.pegue_carta() sheldon.recebe_carta(carta) carta = baralho.pegue_carta() leonard.recebe_carta(carta) # 5 mostre cartas dos jogadores print(sheldon) print(leonard) # 6 rodadas cont_sheldon = 0 # contador de rodadas vencidas por sheldon cont_leonard = 0 # contador de rodadas vencidas por leonard vencedores = 'Venceu :' for rodada in range(n_rodadas): # pegue cartas dos montes e seu valores carta_sheldon = sheldon.pegue_carta() valor_sheldon = carta_sheldon.pegue_valor() carta_leonard = leonard.pegue_carta() valor_leonard = carta_leonard.pegue_valor() # verifique quem ganhou a rodada if valor_sheldon == valor_leonard: vencedores += ' ' + EMPATE elif valor_sheldon > valor_leonard: vencedores += ' ' + SHELDON cont_sheldon += 1 else: # valor_sheldon < valor_leonard vencedores += ' ' + LEONARD cont_leonard += 1 # 7 mostre lista de vencedores print(vencedores) # 8 mostre vencedor if cont_sheldon == cont_leonard: print("sheldon e Leonard empataram a partida.") if cont_sheldon > cont_leonard: print("sheldon venceu a partida.") else: # cont_sheldon < cont_leonard: print("leonard venceu a partida.") Last modified: Tue Jun 30 20:30:25 BRT Py.html 6/6
Python. Resumo e Exercícios P3
Python Resumo e Exercícios P3 Resuminho Teórico Classes e Objetos Tudo em python é um objeto, objetos são instâncias de classes, como int, float, list, etc. a = 5 # a é um objeto da classe int b = 2.0
MAC2166 Introdução à Computação
MAC2166 Introdução à Computação Escola Politécnica Primeiro Semestre de 2015 Prova 3 Departamento de Ciência da Computação IME USP QUESTÃO 1 Nesta questão considere expressões na forma posfixa como no
MAC2166 Introdução à Computação
Departamento de Ciência da Computação - IME - USP MAC2166 Introdução à Computação Escola Politécnica - Primeiro Semestre de 2014 Prova 2 QUESTÃO 1 (str,str,str) -> str que recebe três sequências de caracteres
MAC2166 Introdução à Computação
Departamento de Ciência da Computação - IME - USP MAC2166 Introdução à Computação Escola Politécnica - Primeiro Semestre de 2016 Prova 1 QUESTÃO 1 Sejam a, b e c números inteiros tais que a b c > 0. Sabe-se
Python. Resumo e Exercícios P2 Parte 1
Python Resumo e Exercícios P2 Parte 1 Resuminho Teórico Listas Estrutura sequencial indexada. lista = [] # Lista vazia => [] lista.append(3) # Adiciona o numero 3 a lista => [3] lista.append(10) # Adiciona
DURAÇÃO DA PROVA: 2 horas
MAC2166 Introdução à Computação Grande áreas Civil, Mecânica, Petróleo e Química Escola Politécnica Segunda Prova 10 de maio de 2016 Nome: Assinatura: N ō USP: Turma: Professor: Instruções: 1. Não destaque
INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P2
INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P2 *Exercícios de provas anteriores escolhidos para você estar preparado para qualquer questão na prova. Resoluções em simplificaaulas.com. Listas(= tipo
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
Computação 1 - Python Aula 12 - Teórica: Interação com o usuário e programa principal 1/ 25 print: Usado para imprimir informações na tela. >>> print "Qual o seu nome?" Qual o seu nome? # Função que soma
FUNDAMENTOS DA PROGRAMAÇÃO 2º Teste, 1 de junho de 2013, 1h30m
FUNDAMENTOS DA PROGRAMAÇÃO 2º Teste, 1 de junho de 2013, 1h30m 1. (3.25) Escreva um programa que pede o nome (mais de 2 caracteres) e o sobrenome (mais de 4 caracteres) a um utilizador e gera um username
Computação 1 - Python Aula 11 - Teórica. programa principal. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 29
Computação 1 - Python Aula 11 - Teórica Interação com o usuário e programa principal 1/ 29 print: Usado para imprimir informações na tela. >>> print "Qual o seu nome?" Qual o seu nome? # Função que soma
Introdução à Computação - aulas 01 e 02 -
MAC2166 Introdução à Computação - aulas 01 e 02 - Mauro Cesar Bernardes 25/Fevereiro/2014 Agenda Instalação do Python Python Shell Variáveis Operadores relacionais Operadores numéricos Comando de saída
1. Uma função é um módulo (subprograma) que realiza uma tarefa específica. 3. Ao chamar uma função, passamos argumentos, no mínimo 0 e no máximo n.
1. Uma função é um módulo (subprograma) que realiza uma tarefa específica. 2. Para executar uma função é precisa chamá-la. 3. Ao chamar uma função, passamos argumentos, no mínimo 0 e no máximo n. 4. A
Prova Final de Linguagens de Programação - DCC024B -
Prova Final de Linguagens de Programação - DCC024B - Ciência da Computação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem consulta.
Prova 2. CI208 - Programação de Computadores. Nome: 1 o semestre Instruções para a prova
Sabe-se que 4 segmentos podem formar um quadrilátero apenas se a medida do maior segmento for menor que soma das medidas dos outros 3. Escreva um programa em C++ que recebe do usuário as medidas de 4 segmentos,
PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 15
Exercício 1 PROGRAMAÇÃO DE COMPUTADORES I BCC701 2017-1 Aula Prática 15 No jogo Inventei, cada posição do tabuleiro é representada por suas coordenadas x e y e contém um número. O tabuleiro pode ser representado
Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28
Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28 Tipos de Dados Dados Numéricos Números Inteiros: Int/Long Ponto Flutuante: Float Números Complexos: Complex
MAC 2166 Introdução à Computação para Engenharia Escola Politécnica Primeiro Semestre de 2003 Primeira Prova 2 de abril de 2003
MAC 2166 Introdução à Computação para Engenharia Escola Politécnica Primeiro Semestre de 2003 Primeira Prova 2 de abril de 2003 Nome: Assinatura: N ō USP: Turma: Instruções: Professor: 1. Não destaque
Prova 1 QUESTÃO 1. (1) nusp % 3 == 1. MAC2166 Introdução à Computação para a Engenharia. # include <stdio.h>
MAC2166 Introdução à Computação para a Engenharia Prova 1 QUESTÃO 1 Simule a execução do programa abaixo, destacando a saída do programa. A saída do programa é tudo que resulta dos comandos printf. Para
UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra
Estruturas de Dados. Túlio Toffolo BCC402 Aula 02 Algoritmos e Programação Avançada
Estruturas de Dados Túlio Toffolo [email protected] www.toffolo.com.br BCC402 Aula 02 Algoritmos e Programação Avançada Estruturas de dados elementares Arranjos (arrays) Pilhas (stacks) Filas (queues)
Aula 1 - Revisão de Modularização
Computação II Aula 1 - Revisão de Modularização Carla Delgado - João Carlos 1. Na Copa do Mundo da Rússia, o prêmio Chuteira de Ouro é dado ao jogador que possui a melhor média de gols na competição. (a)
Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - Dicionário. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18
Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - 1/ 18 Considere que você precisa fazer uma função que guarde o nome e o telefone de seus amigos. Sua função também deve permitir a consulta
Processamento da Informação Teoria. Exercícios sobre strings
Processamento da Informação Teoria Exercícios sobre strings Semana 04 Prof. Jesús P. Mena-Chalco 18/05/2013 Uma string é uma sequência Uma string (cadeia) é uma sequência de caracteres. Podemos acessar
Fundamentos da Programação
Fundamentos da Programação Solução do Segundo Teste 18 de Janeiro de 2013 09:00 10:30 1. (2.0) Escolha a única resposta incorrecta para as seguintes questões. Cada resposta certa vale 1 valor e cada resposta
(Sistema Especialista)
Torneio de Truco (Sistema Especialista) Prof. Dr. Luciano Antonio Digiampietri Escola de Artes, Ciências e Humanidades da USP Roteiro Contexto Educativo Descrição do Jogo de Truco Objetivo Descrição do
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
Estrutura de Dados. Diego Silveira Costa Nascimento
Estrutura de Dados Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte [email protected] 31 de agosto de 2017 Ementa do Curso 1 Introdução
Computação II (MAB 225)
Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Introdução No curso de Computação I vocês viram os conceitos básicos de programação em Python: expressões e comandos,
Um Minotauro Perdido & Percolação
Departamento de Ciência da Computação IME-USP Segundo Semestre de 2014 MAC 115 Introdução à Computação IF Noturno (Versão quase final) Um Minotauro Perdido & Percolação Exercício-Programa 4 (EP4) Data
//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void
//conteúdo do arquivo Matriz.h class Matriz private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void setnumerodecolunas(int); int getnumerodelinhas(); int getnumerodecolunas();
Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
*Exercícios de provas anteriores escolhidos para você estar preparado para qualquer questão na prova. Resoluções em simplificaaulas.
INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P1 *Exercícios de provas anteriores escolhidos para você estar preparado para qualquer questão na prova. Resoluções em simplificaaulas.com Conceitos fundamentais
Questão 1 Exemplo de execução 1 (com N=6): Exemplo de execução 2 (com N=4):
CI240 Fundamentos de Programação Nome: Instruções para a prova A prova é sem consulta; A prova dura 1 hora e 40 minutos; Esta folha de enunciados deverá ser entregue ao professor junto com a folha de respostas;
Processamento da Informação Teoria. Desvio Condicional
Processamento da Informação Teoria Desvio Condicional Semana 03 Prof. Jesús P. Mena-Chalco 08/05/2013 Operador módulo O operador módulo trabalha com inteiros e produz o resto quando o primeiro operando
MAC 115 Introdução à Ciência da Computação ROTHELO
MAC 115 Introdução à Ciência da Computação INSTITUTO DE FÍSICA - BACHARELADO NOTURNO SEGUNDO SEMESTRE DE 2010 Terceiro Exercício-Programa (EP3) Data de entrega: até 06 de dezembro de 2010 (2a.feira) ROTHELO
Fundamentos de Lógica e Algoritmos. Aula 3.2 IDLE, Variáveis e Tipos. Prof. Dr. Bruno Moreno
Fundamentos de Lógica e Algoritmos Aula 3.2 IDLE, Variáveis e Tipos Prof. Dr. Bruno Moreno [email protected] IDLE O IDLE é um ambiente de desenvolvimento integrado para Python; O IDLE permite: Escrever
Fundamentos da Programação
Fundamentos da Programação Solução do Exame 13 de Janeiro de 2017 09:00 11:00 1. Indique se cada uma das seguintes afirmações é verdadeira ou falsa. No caso de ser falsa, justifique de forma sucinta. (a)
Algoritmos e Estrutura de Dados Aula 02 Listas em Python
Algoritmos e Estrutura de Dados Aula 02 Listas em Python Profa. Alana Oliveira e Prof. Davi Viana [email protected] e [email protected] Se não entender, pergunte! 2 1 Dados e Tipos de Dados Um dado
1.Quais serão os valores de x, y e p ao final do trecho de código abaixo? int x, y, *p;y = 0; p = &y; x = *p; x = 4; (*p)++; --x; (*p) += x;
PONTEIROS 1.Quais serão os valores de x, y e p ao final do trecho de código abaixo? int x, y, *p;y = 0; p = &y; x = *p; x = 4; (*p)++; --x; (*p) += x; 2.Os programas (trechos de código) abaixo possuem
Fundamentos da Programação
Fundamentos da Programação Solução do Exame 1 de Fevereiro de 2017 09:00 11:00 1. Usando palavras suas e, no máximo, em três linhas explique os seguintes conceitos. Explicações dadas através de exemplos
1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios:
Capítulo 8 Dicionários 1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios: l_nomes = [{ nome :{ nomep : Jose, apelido : Silva }, morada :{ rua : R. dos douradores,
Computação 1 - Python Aula 7 - Teórica: Estrutura de Repetição com teste de parada: while 1/ 23
Computação 1 - Python Aula 7 - Teórica: Estrutura de Repetição com teste de parada: while 1/ 23 Permite que o programador especifique que o programa deve repetir um conjunto de comandos enquanto uma dada
5ª Lista de Exercícios de Programação I
5ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. Questões que envolvam leitura de matrizes, a construção dessas matrizes pode ser realizada através da geração
Lista de Exercícios - 1 Prof: Yuri Frota
Lista de Exercícios - 1 Prof: Yuri Frota 1) Indique Verdadeiro ou Falso a) Uma variável é uma posição na memória do computador que pode receber diversos valores ao longo da execução do programa. Verdadeiro
VETORES. Lista de Exercícios Vetores Prof: Yuri Frota
Lista de Exercícios Vetores Prof: Yuri Frota VETORES 1) Faça um programa em Python que leia um conjunto de 100 elementos numéricos e os armazene em um vetor (lista). Em seguida, o programa deverá procurar
Programação com objectos
Capítulo 11 Programação com objectos Nos exercícios deste capítulo, deve validar os argumentos dos construtores, mas não deve validar os argumentos dos outros métodos, a não ser que isso seja pedido explicitamente.
Introdução a Programação
Introdução a Programação Prof. André Gustavo Duarte de Almeida [email protected] docente.ifrn.edu.br/andrealmeida Aula 02 Primeiro Programa Roteiro Primeiros Passos Variáveis Expressões Comandos
Listas e Tuplas. Vanessa Braganholo
Listas e Tuplas Vanessa Braganholo [email protected] Exemplo Motivacional } Programa para auxiliar a escrever Parabéns! nas melhores provas de uma disciplina com 3 alunos } Ler os nomes e as notas de 3
EP 2 - MAC 2166 Uma solução comentada
EP 2 - MAC 2166 Uma solução comentada Este EP foi proposto originalmente para as turmas que usam Python. Na última página há o link p/ o download do código fonte deste EP na linguagem Python e também em
Exercícios de Funções (6 14): """ Exercício 6
http://www.python.org.br/wiki/exerciciosfuncoes Exercícios de Funções (6 14): Exercício 6 Faça um programa que converta da notação de 24 horas para a notação de 12 horas. Por exemplo, o programa deve converter
Fundamentos de Programação em Python
Fundamentos de Programação em Python Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte [email protected] 23 de junho de 2017 Ementa do
Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi
Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Exercícios da aula prática 2 Vetores 3 Exemplos
Passo-a-passo para desenvolver um Programa usando a Linguagem Python
Cursos: Engenharia de Produção / Tecnólogo em Gestão da Qualidade Disciplina: Informática Professora: Flávia Pereira de Carvalho Passo-a-passo para desenvolver um Programa usando a Linguagem Python 1)
Matrizes. Vanessa Braganholo
Matrizes Vanessa Braganholo [email protected] Matrizes } Variável composta multidimensional } É equivalente a um vetor, contudo permite a utilização de diversas dimensões acessadas via diferentes índices
Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016
Mini apostila de Python - Oficina de Vestibulandos PET Computação - UFPR September 2016 1 Sumário 1 Introdução 3 2 Obtenção e Instalação 3 3 Variáveis 3 4 Operações Matemáticas 5 5 Entrada de Dados 6 6
SME Introdução à Programação de Computadores Primeiro semestre de Trabalho: jogo Semáforo
SME0230 - Introdução à Programação de Computadores Primeiro semestre de 2017 Professora: Marina Andretta ([email protected]) Monitores: Douglas Buzzanello Tinoco ([email protected]) Amanda Carrijo
Exercícios: Vetores e Matrizes
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor
Fundamentos da Programação
Fundamentos da Programação Segundo Teste 10 de Janeiro de 2014 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 8 páginas com 12 perguntas. A cotação de cada pergunta está assinalada
SCC0124 Introdução à Programação para Engenharias
SCC0124 Introdução à Programação para Engenharias 1. Escreva uma função ehpar(n) que recebe um número inteiro n e retorna se ele é par ou ímpar. Observação: a função não deve imprimir nada na tela, apenas
Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias
SCC 12 - Introdução à Programação para Engenharias Tipos de Dados e Variáveis Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes
2º Lista de Exercícios Arrays e matrizes
1 Universidade Federal Fluminense Instituto de Computação Departamento de Ciência da Computação Programação de Computadores II Professor: Leandro Augusto Frata Fernandes 2º Lista de Exercícios Arrays e
EXPLORANDO GRAFOS 1. Grafos e Jogos uma introdução
1. Grafos e Jogos uma introdução Considere o seguinte jogo, o qual é uma das muitas variantes de Nim, também conhecido como jogo Marienbad. Inicialmente existe uma certa quantidade de fósforos na mesa
Lista de Exercícios 3 Laço de Repetição For e While
Introdução à Ciência da Computação - 1191 Lista de Exercícios Laço de Repetição For e While Observações: As listas de exercícios serão corrigidas por um corretor automático, portanto é necessário que as
