MAC2166 Introdução à Computação
|
|
|
- Stefany Teves Vilarinho
- 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 2014 Prova 2 QUESTÃO 1 (str,str,str) -> str que recebe três sequências de caracteres (strings) não vazias, sendo que a terceira é um caractere coringa. A função deve devolver uma sequência que é uma cópia da primeira sequência, porém substituindo-se as ocorrências dos caracteres da segunda sequência pelo caractere coringa, obedecendo a ordem de ocorrência em ambas as sequências. Exemplos: str1: "Lá vem o pato pato aqui pato acolá" str2: "papa" coringa: "X" Saída: "Lá vem o XXto XXto aqui pato acolá" str1: "Era uma casa muito engraçada não tinha teto, não tinha nada" str2: "cratera" coringa: "*" Saída: "Era uma *asa muito eng**çada não *inha t*to, não tinha nada" str1: " " str2: "130" coringa: "X" Saída: " " str1: "ABCEFG" str2: "ABCDEFGHIJK" coringa: "?" Saída: "???EFG" 1: (str, str, str) -> str novo_str = '' string vazio i = 0 while i < len(str1) and j < len(str2): if str1[i] == str2[j]: novo_str += coringa copia o resto do string str1 while i < len(str1): 2: usa fatiamento para copiar o final do novo string (str, str, str) -> str novo_str = "" string vazio i = 0 while i < len(str1) and j < len(str2): if str1[i] == str2[j]: novo_str += coringa copia o resto do string str1 através de fatiamento novo_str += str1[i:] 3. (str, str, str) -> str novo_str = "" string vazio len1 = len(str1) len2 = len(str2) for i in range(len1): determine próximo caractere de novo_str
2 if j < len2 and str1[i] == str2[j]: caractere = coringa caractere = str1[i] concatena com novo_str novo_str += caractere 4: (str, str, str) -> str novo_str = "" string vazio for i in range(len(str1)): determine próximo caractere de novo_str if j < len(str2) and str1[i] == str2[j]: novo_str += coringa QUESTÃO 2 Dadas duas sequências x 1, x 2,...,x n e y 1, y 2,..., y n, n > 0, de números reais, os respectivos valores médios são dados por x = (x 1 + x x n )/n e y = (y 1 + y y n )/n A diferença x i x (e, similarmente, y i y), i= 1, 2,...,n, é denominada variação. O coeficiente de correlação entre os valores das sequências x 1, x 2,...,x n e y 1, y 2,..., y n é definido por: r = [ i=1,2,...n (x i x) (y i y)] / [( i=1,2,...n (x i x) 2 ) 0.5 ( i=1,2,...n (y i y) 2 ) 0.5 ] Dada uma tabela com as notas de um turma, gostaríamos de verificar se há alguma correlação entre as notas de EP e notas de prova. Em estatística, o coeficiente de correlação pode ser utilizado para tal fim. Suponha que a primeira coluna da tabela contém o nome dos alunos e as demais colunas contêm as notas de EPs e Provas. Por exemplo, a tabela abaixo é de uma turma com 5 alunos e contém as notas do EP1, P1, EP2 e P2. O traço indica uma nota que não está disponível. NOME EP1 P1 EP2 P2 Fulano Beltrano Sicrano Batman Pinguin Para resolver o problema acima, foi escrito o seguinte programa que lê e imprime uma tabela, lê o índice das colunas que correspondem às sequências para as quais deseja-se calcular o coeficiente de correlação, e então calcula e imprime o coeficiente de correlação. A exemplo do EP3, um valor que não está disponível é representado pelo valor None e deve ser ignorado nos cálculos. import math def main(): tabela = le_tabela() imprime_tabela(tabela) cx = int(input("coluna da primeira seq: ")) cy = int(input("coluna da segunda seq: ")) corr = coeficiente_correlacao(tabela, cx, cy) if corr is None: print("o coeficiente não pode ser calculado") print("a correlação é %f" %corr) Suponha também que as funções abaixo já estão prontas: def le_tabela(): (None) -> tabela Lê, de um arquivo cujo nome é fornecido pelo usuário, uma tabela como a especificada acima. Devolve a tabela em uma lista de listas, correspondendo às linhas da tabela. Um valor não disponível é representado por None. def imprime_tabela(tabela): (tabela) -> None Recebe uma tabela e imprime-a. Você deverá completar o programa escrevendo duas funções especificadas nos itens (a) e (b) a seguir. item (a) def adiciona_coluna_variação(tabela, col): que recebe uma tabela (tabela) como a definida anteriormente e adiciona uma coluna à tabela. A coluna a ser adicionada corresponde à variação de cada valor da coluna de índice col. A variação de um valor None é None. Para o cálculo da média dos valores na coluna de índice col, desconsidere os valores None
3 1: Versão com "for variavel in range():..." def adiciona_coluna_variação(tabela,col): (tabela) -> tabela Recebe um tabela 'tabela' e o índice 'col' de uma coluna e acrescenta a tabela uma coluna correspondente à variações dos valores na coluna de índice 'col'. Um desvio será None se o valor na coluna for None. calcule a media media = media_coluna(tabela,col) n_lin = len(tabela) número de linhas da tabela calcule variação e adicione an coluna for i in range(n_lin): valor = tabela[i][col] if valor!= None: implica que media!= None tabela[i].append(valor-media) tabela[i].append(none) - def media_coluna(tabela,col): (tabela, int) -> float ou None Recebe uma tabela 'tabela' e calcula a média dos valores na coluna 'col'. Os valores na coluna que são None são desconsiderados. Se a coluna não possui nenhum valor diferente de None a função retorna None calcule a soma e o numero de valores na coluna soma_valores = 0 no_valores = 0 n_lin = len(tabela) número de linhas da tabela for i in range(n_lin): valor = tabela[i][col] if valor!= None: soma_valores += valor no_valores += 1 verifique a a matriz possui algum valor if no_valores > 0: return soma_valores / no_valores se chegou aqui no_valores == 0 2: Versão com "for elemento in lista:..." def adiciona_coluna_variação(tabela,col): (tabela) -> tabela Recebe um tabela 'tabela' e o índice 'col' de uma coluna e acrescenta a tabela uma coluna correspondente à variações dos valores na coluna de índice 'col'. Um desvio será None se o valor na coluna for None. calcule a media media = media_coluna(tabela,col) if linha[col]!= None: implica que media!= None linha.append(linha[col]-media) linha.append(none) - def media_coluna(tabela,col): (tabela, int) -> float ou None Recebe uma tabela 'tabela' e calcula a média dos valores na coluna 'col'. Os valores na coluna que são None são desconsiderados. Se a coluna não possui nenhum valor diferente de None a função retorna None calcule a soma e o numero de valores na coluna soma_valores = 0 no_valores = 0 desconsidere os valores que são None if linha[col]!= None: soma_valores += linha[col] no_valores += 1 verifique se a matriz possui algum valor if no_valores > 0: return soma_valores / no_valores se chegou aqui no_valores == 0 item (b) def coeficiente_correlacao(tabela, col1, col2): que recebe uma tabela (tabela) e os índices col1 e col2 de duas colunas da tabela. A função deve: acrescentar duas colunas à tabela: uma com as variações de cada valor na coluna de índice col1 e outra com as variações de cada valor na coluna de índice col2, imprimir a tabela (usando a função dada), e calcular e devolver o coeficiente de correlação entre as sequências de valores nas colunas de índices col1 e col2. OBS.: No cálculo do coeficiente, os termos que envolvem um valor None não devem ser considerados. Caso não seja possível calcular o coeficiente, deve-se devolver None. Use a função do item anterior, mesmo que você não a tenha feito.
4 1: Solução ideal. Usa um filtro. import math def adiciona_coluna_variacao(tabela, col): soma = 0 soma += linha[col] if len(tabela) > 0: media = soma / len(tabela) linha.append(linha[col] - media) def filtro(tabela, col): subtab = [] if linha[col] is not None: subtab.append(linha) return subtab def coeficiente_correlacao(tabela, col1, col2): subtab = filtro(filtro(tabela, col1), col2) if len(subtab) == 0: adiciona_coluna_variacao(subtab, col1) adiciona_coluna_variacao(subtab, col2) somaxy = 0 somax2 = 0 somay2 = 0 for linha in subtab: somaxy += linha[-2] * linha[-1] somax2 += linha[-2] * linha[-2] somay2 += linha[-1] * linha[-1] if somax2!= 0 and somay2!= 0: return somaxy/math.sqrt(somax2*somay2) trecho de codigo para testar as funções não faz parte da solução tabela = [['Fulano ', 2, 2, None, 8], ['Beltrano', 1, None, None, 4], ['Sicrano ', None, 2, 3, 4], ['Batman ', 1, 3, 4, 4], ['Pinguin ', None, 2, 3, 4]] print(linha[0], end='') for x in linha[1:]: if x is not None: print('%3d' %x, end=''); print(' -', end='') print() print() print('correlacao 1, 2:', coeficiente_correlacao(tabela, 1, 2)) print('correlacao 1, 3:', coeficiente_correlacao(tabela, 1, 3)) print('correlacao 1, 4:', coeficiente_correlacao(tabela, 1, 4)) print('correlacao 2, 3:', coeficiente_correlacao(tabela, 2, 3)) print('correlacao 2, 4:', coeficiente_correlacao(tabela, 2, 4)) print('correlacao 3, 4:', coeficiente_correlacao(tabela, 3, 4)) 2: Versão com "for variável in range(...):..." def correlacao(tabela,col1,col2): (tabela, int, int) -> float ou None Recebe uma tabela 'tabela' e índices 'col1' e 'col2' de duas colunas da tabela e calcula e retorna o coeficiente de correlação entre as sequências de valores nessas colunas. Retorna None adicione a coluna com as variações dos valores na coluna col1 adiciona_coluna_variação(tabela,col1) adicione a coluna com as variações dos valores na coluna col2 adiciona_coluna_variação(tabela,col2) imprima a nova tabela print_tabela(tabela) soma_numerador = 0 somax2 = 0 somay2 = 0 índices das colunas com as variaçõa... idx_var_col1 = len(tabela[0])-2 índice da coluna com a variação da coluna col1 idx_var_col2 = len(tabela[1])-1 índice da coluna com a variação da coluna col2 no_lin = len(tabela) número de linhas da tabela for i in range(no_lin): valor_col1 = tabela[i][idx_var_col1] valor_col2 = tabela[i][idx_var_col2] if valor_col1!= None and valor_col2!= None: soma_numerador += valor_col1 * valor_col2 if valor_col1!= None: somax2 += valor_col1 * valor_col1 if valor_col2!= None: somay2 += valor_col2 * valor_col2 cuidado para não dividir por zero if somax2 > 0 and somay2 > 0: return soma_numerador / math.sqrt(somax2 * somay2) 3: Versão com "for elemento in lista:..." def correlacao(tabela,col1,col2): (tabela, int, int) -> float ou None Recebe uma tabela 'tabela' e índices 'col1' e 'col2' de duas colunas da tabela e calcula e retorna o coeficiente de correlação entre as sequências de valores nessas colunas. Retorna None
5 adicione a coluna com as variações dos valores na coluna col1 adiciona_coluna_variação(tabela,col1) adicione a coluna com as variações dos valores na coluna col2 adiciona_coluna_variação(tabela,col2) imprima a nova tabela print_tabela(tabela) no_valores = 0 número de valores soma_numerador = 0 somax2 = 0 somay2 = 0 índices das colunas com as variaçõa... idx_var_col1 = -2 índice da coluna com a variação da coluna col1 idx_var_col2 = -1 índice da coluna com a variação da coluna col2 if linha[-2]!= None and linha[-1]!= None: soma_numerador += linha[-2]*linha[-1] somax2 += linha[-2]*linha[-1] somay2 += linha[-2]*linha[-1] cuidado para não dividir por zero if somax2 > 0 and somay2 > 0: return soma_numerador / math.sqrt(somax2 * somay2) QUESTÃO 3 item (a) que recebe uma matriz 'M e devolve True caso a matriz seja simétrica em relação à sua coluna central, e devolve False em caso contrário. Suponha que a matriz é de inteiros, quadrada e de dimensão ímpar. Exemplo: A matriz abaixo à esquerda é simétrica em relação à sua coluna central. Já a matriz à direita não é item (b) 1: (matriz) -> bool Recebe uma matriz quadrada de ordem ímpar é retorna True se a matriz fo simétrica em relação a coluna central e False em caso contrário. a matriz é simétrica até que se prove o contrário simetrica = True n = len(m) dimensão da matriz i = 0 while i < n and simetrica: while j < n // 2 and simetrica: if M[i][j]!= M[i][n-j-1]: simetrica = False return simetrica 2: (matriz) -> bool Recebe uma matriz quadrada de ordem ímpar é retorna True se a matriz fo simétrica em relação a coluna central e False em caso contrário. n = len(m) dimensão da matriz for i in range(n): for j in range(n//2): if M[i][j]!= M[i][n-j-1]: return False return True 3: Versão "pythoniana" (matriz) -> bool Recebe uma matriz quadrada de ordem ímpar é retorna True se a matriz fo simétrica em relação a coluna central e False em caso contrário. return all( x == list(reversed(x)) for x in M )
6 que recebe uma matriz M de inteiros, um inteiro positivo ímpar k, os índices i (linha) e j (coluna) de uma posição da matriz, e devolve uma matriz que é uma cópia da submatriz de M, quadrada e de dimensão k, centrada na posição [i][j] da matriz. Você pode supor que a submatriz k k está inteiramente contida em M. Exemplo: Supondo que M é a matriz abaixo à esquerda, k é 3, e i e j são 2 e 1, respectivamente, a submatriz a ser devolvida é a que está abaixo à direita: M = : (matriz, int, int, int) -> matriz Recebe uma matriz M, um inteiro ímpar k e uma posição e um posição (i,j) da matriz e retorna a submatriz quadrada de dimensão k centrada em (i,j). Pré-condicão: a função supõe que k//2 <= i < len(m) - k//2 k//2 <= j < len(m) - k//2 submatriz que será retornada submatriz = [] a submatriz é centrada em [i][j] tem "raio" é k//2 canto superior direito da submatriz inicio_lin = i - raio inicio_col = j - raio canto inferior esquerdo da submatriz fim_lin = i + raio + 1 fim_col = j + raio + 1 percorra a submatriz a ser clonada for ii in range(inicio_lin,fim_lin): cria a linha ii-raio da submatriz linha = [] lista vazia for jj in range(inicio_col,fim_col): linha.append(m[ii][jj]) submatriz.append(linha) return submatriz 2: (matriz, int, int, int) -> matriz Recebe uma matriz M, um inteiro ímpar k e uma posição e um posição (i,j) da matriz e retorna a submatriz quadrada de dimensão k centrada em (i,j). Pré-condicão: a função supõe que k//2 <= i < len(m) - k//2 k//2 <= j < len(m) - k//2 submatriz que será retornada submatriz = [] a submatriz é centrada em [i][j] e tem "raio" é k//2 percorra a submatriz a ser clonada for ii in range(i-raio, i+raio+1): cria a linha ii-raio da submatriz submatriz.append([]) lista vazia for jj in range(j-raio, j+raio+1): submatriz[ii-raio].append(m[ii][jj]) return submatriz 3: Versão "pythoniana" (matriz, int, int, int) -> matriz Recebe uma matriz M, um inteiro ímpar k e uma posição e um posição (i,j) da matriz e retorna a submatriz quadrada de dimensão k centrada em (i,j). Pré-condicão: a função supõe que k//2 <= i < n - k//2 k//2 <= j < n - k//2 a submatriz é centrada em [i][j] e tem "raio" é k//2 return [ M[x][j-raio:j+raio+1] for x in range(i-raio, i+raio+1) ]
7 item (c) Escreva um programa que lê uma matriz M de inteiros, um inteiro positivo ímpar k, e imprime o número de submatrizes k k de M que são simétricas em relação à sua coluna central. Para fazer este item, você pode supor que é dada uma função def le_matriz(): que lê e devolve uma matriz, e pode usá-la sem escrevê-la. Além disso, use as funções dos itens anteriores, mesmo que você não as tenha feito. Exemplo: A matriz 5 4 abaixo (à esquerda) contém duas submatrizes 3 3 simétricas em relação a sua coluna central (as duas abaixo à direita) M = : def main(): '' Programa que lê uma matriz M e um número inteiro ímpar k e imprime o numero de submatrizes k x k de M que são simétricas em relação à coluna central. Pré-condição: o programa supõe que k é menor um igual ao número de linhas e colunas de M, ou seja k <= min(len(m), len(m[0]). leia a matriz e dimensão das submatrizes M = le_matriz() k = int(input("digite um número ímpar: ")) contador de submatrizes simétricas cont = 0 número de linhas e colunas da matriz n_lin = len(m) n_col = len(m[0]) a submatriz é centrada em [i][j] e tem "raio" é k//2 percorra todos os possíveis centros de submatriz de dimensão k for i in range(raio, n_lin - raio): for j in range(raio, n_col - raio): recorta submatriz de dimensao k centrada em [i][j] R = recorte(m,k,i,j) verifique se submatriz é simétrica if simetrica(r): cont = cont + 1 print("há %d submatrizes simétricas de tamanho %d x %d"%(cont,k,k)) 2: Versão "pythoniana". def main(): '' Programa que lê uma matriz M e um número inteiro ímpar k e imprime o numero de submatrizes k x k de M que são simétricas em relação à coluna central. Pré-condição: o programa supõe que k é menor um igual ao número de linhas e colunas de M, ou seja k <= min(len(m), len(m[0]). leia a matriz e dimensão das submatrizes M = le_matriz() k = int(input("digite um número ímpar: ")) print("há %d submatrizes simétricas de tamanho %d x %d" \ %(conta_simetricas(m,k),k,k)) def conta_simetricas(m, k): """ (matriz, int) -> int Recebe uma matriz M e um número inteiro k e retorna o número de submatrizes quadradas de dimensão k da matriz que são simétricas em relação à coluna central. """ submatrizes centradas em [i][j] e com "raio" é k//2 return sum(map( simetrica, \ (recorta(m, k, i, j) for j in range(raio, len(m[0])-raio) \ for i in range(raio, len(m)-raio)) )) Last modified: Wed Jun 18 11:35:44 BRT 2014
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
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
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 2015 Prova Substitutiva QUESTÃO 1 Esta questão consiste na implementação de duas funções
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
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
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
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
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
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
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS DISCIPLINA: Lab. de Programação PROF: MSc. Flávio Barros PERÍODO: 2 DATA: Aluno (s): 01 ATIVIDADE / / Revisão de Conteúdo
1 O filtro da mediana
CCM0118 Computação I Departamento de Ciência da Computação IME-USP Curso de Ciências Moleculares Turma 22 Segundo Semestre de 2012 Quarto Exercício-Programa Prazo de entrega: até 4 de dezembro de 2012.
Fundamentos da Programação
Fundamentos da Programação Solução da Repescagem do Primeiro Teste 31 de Janeiro de 2013 09:00 10:30 1. De um modo sucinto, (a) (0.5) Diga o que é um processo computacional. Um processo computacional é
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
if not(isinstance(a, int)) or a < 0: raise ValueError ("misterio: arg nao e inteiro nao negativo") else: return misterio_aux(a, a + 1)
Capítulo 7 Recursão e iteração 1. (1) Considere a seguinte função: def misterio(a): def misterio_aux(b, c): if b == 0: return True elif c == 0: return False return misterio_aux(b -, c - ) if not(isinstance(a,
1 O filtro da mediana
Departamento de Ciência da Computação IME-USP MAC0115 Introdução à Computação para Ciências Exatas e Tecnologia Instituto de Física Turma 21 Segundo Semestre de 2008 Quarto Exercício-Programa Prazo de
Métodos Computacionais em Física
Métodos Computacionais em Física Tatiana G. Rappoport [email protected] 214-2 Variáveis indexadas (arrays) Diversos problemas requerem o uso de vetores ou matrizes: Um conjunto de dados do mesmo tipo
Introdução à Computação - aulas 13 e 14-
MAC2166 Introdução à Computação - aulas 13 e 14- Mauro Cesar Bernardes 29/Abril/2014 Agenda Strings Manipulação de Arquivos Matrizes... Strings Strings Uma string é uma sequencia de caracteres Utiliza
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
LISTA DE EXERCÍCIOS 2
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO DE CIÊNCIA DA COMPUTAÇÃO PROGRAMAÇÃO DE COMPUTADORES 1. TIPOS COMPOSTOS DE DADOS LISTA DE EXERCÍCIOS 2 1. Considerando as declarações abaixo, responda dizendo
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
imprimir seus quadrados.
1) Dada uma seqüência de números inteiros não-nulos, seguida por 0, imprimir seus quadrados. int numero, /* usada para leitura da sequencia */ quadrado; /* guarda o quadrado do numero lido */ printf("\n\tcalculo
Departamento de Informática PUC-Rio INF Estruturas de Dados Lista 2 Completa (Gerada em 8 de maio de 2006)
Departamento de Informática PUC-Rio INF1620 - Estruturas de Dados Lista 2 Completa 2006.1 (Gerada em 8 de maio de 2006) 1. Considerando a estrutura struct Ponto { int x; int y; para representar um ponto
TCC 00308: Programação de Computadores I Matrizes
TCC 00308: Programação de Computadores I 2017.1 Matrizes Matrizes Variável composta multidimensional É equivalente a um vetor, contudo permite a utilização de diversas dimensões acessadas via diferentes
1ª Lista de Exercícios
Universidade Federal do Rio de Janeiro Data: 26/04/05 Disciplina: Computação I 1ª Lista de Exercícios 1) Faça um programa, em pseudo-código, que peça ao usuário que informe n números reais e então calcule
Estruturas de Repetição WHILE e DO- WHILE
Universidade Federal do Pampa UNIPAMPA Campus Itaqui RS Engenharia de Agrimensura Introdução à Programação (prof. Dr. Rogério Vargas) Lista 2 (entrega: 1 de junho de 2015) Instruções: Trabalhos iguais
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.
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. Funções e estruturas básicas 1. Faça uma função que recebe a idade de uma
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
char* prefixo (char* str, int n);
Departamento de Informática PUC-Rio INF1620 - Estruturas de Dados Segunda Lista de Exercícios 2005.1 1. Implemente uma função que receba uma string e um número inteiro n como parâmetros, e retorne uma
DURAÇÃO DA PROVA: 2 horas
MAC2166 Introdução à Computação Escola Politécnica Segunda Prova 19 de maio de 2015 Nome: Assinatura: N ō USP: Turma: Professor: Instruções: 1. Não destaque as folhas deste caderno. 2. A prova contém 4
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
Lista 2 TP060. Exercícios Vetores
Lista 2 TP060 Esta lista auxilia nos estudos da disciplina, porém é dever do aluno estudar além do que foi visto em sala de aula e procurar resolver exercícios que não estão em listas elaboradas pelo professor
Programação das Aulas
Departamento de Ciência da Computação - IME - USP Programação das Aulas Segunda parte Nesta segunda fase da disciplina estudaremos: variáveis do tipo real (float); caracteres (char); operações com números
1 Resumo: Matrizes. 2.1 Como declarar uma matriz IME/USP. Departamento de Ciência da Computação
Departamento de Ciência da Computação MAC2166 Introdução a Computação IME/USP Matrizes 1 Resumo: Matrizes são estruturas bi-dimensionais utilizadas para armazenar dados de um mesmo tipo. Para declarar
UNIVERSIDADE FEDERAL DE ITAJUBÁ CANDIDATO: CURSO PRETENDIDO: SOLUÇÃO
UNIVERSIDADE FEDERAL DE ITAJUBÁ GABARITO DE CÁLCULO PROVA DE TRANSFERÊNCIA INTERNA, EXTERNA E PARA PORTADOR DE DIPLOMA DE CURSO SUPERIOR - // CANDIDATO: CURSO PRETENDIDO: OBSERVAÇÕES: Prova SEM consulta
Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1
Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação Lista de Exercícios 1 1. O programa seguinte tem vários erros em tempo de compilação. Encontre-os. Main() int a=1; b=2,
if not(isinstance(a, int)) or a < 0: raise ValueError ( misterio: arg devia ser inteiro nao negativo ) else: return misterio_aux(a, a + 1)
Capítulo 7 Recursão e iteração 1. (1) Considere a seguinte função: def misterio(a): def misterio_aux(b, c): if b == 0: return True elif c == 0: return False return misterio_aux(b - 2, c - 2) if not(isinstance(a,
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
Algoritmos e Programação
Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes [email protected] 22/06/2017 Engenharia de Computação - Unipampa 1 Modularização Facilita a
Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias
SCC 124 - Introdução à Programação para Engenharias Comandos Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes 1 Aula de
4ª Lista de Exercícios de Programação I
4ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. 1. Faça um algoritmo que leia 10 valores inteiros armazenando-os em um vetor e depois calcule a soma dos valores
4ª Lista de Exercícios de Programação I
4ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. 1. Faça um algoritmo que leia 10 valores inteiros armazenando-os em um vetor e depois calcule a soma dos valores
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:
GEQ Prof. Paulo R. Coelho. Lista para prova
GEQ007 2013 Prof. Paulo R. Coelho Lista para prova 7. Defina uma estrutura empregado para armazenar nome, data de nascimento, idade e salário de um empregado de uma empresa. Leia informações sobre 10 empregados
INSTRUÇÕES DE REPETIÇÃO
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 6 INSTRUÇÕES DE REPETIÇÃO As instruções de repetição permitem fazer com que a execução de uma
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
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
PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015
PRIMEIROS PASSOS COM PYTHON Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON 02/47 O QUE É PYTHON? Python é uma linguagem de propósito geral, de alto nível e interpretada Python será
Vetores. Introdução à Programação para Biologia Molecular
Vetores Introdução à Programação para Biologia Molecular Rosane Minghim Apoio na confecção: Danilo Medeiros Eler Rogério Eduardo Garcia Renato Rodrigues Carlos E. A. Zampieri Baseado na Apostila: Curso
Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição
Universidade Federal de Uberlândia Faculdade de Computação Estruturas de repetição Prof. Renato Pimentel 1 Estruturas de repetição Utilização: Trecho de um algoritmo precisa ser executado mais de uma vez:
Aula 06 Introdução à Programação Matrizes
Aula 06 Introdução à Programação Matrizes Prof. Gustavo Callou [email protected] [email protected] Roteiro Matrizes Unidimensionais (Vetor) Bidimensionais String Exercícios Gustavo Callou DEINFO/UFRPE
Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Lista de exercícios 6 Exercícios sobre repetição 1. Escreva um método que lê via teclado 8 números e retorna
Laboratório 3 Comandos de repetição while, do-while e for
Laboratório 3 Comandos de repetição while, do-while e for Computação I (MAB-120) Prof. Silvana Rossetto 1 DCC/IM/UFRJ 29 de março de 2019 O objetivo desta aula de laboratório é praticar o uso dos comandos
Introdução à Computação
MAC2166 Introdução à Computação - aulas 11 e 12 - Mauro Cesar Bernardes 22/Abril/2014 Agenda Revisão da aula anterior Listas Comando For Matrizes Estruturando um programa com uma função main() #-----------------------------------------------
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
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2007/2008
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2007/2008 Introdução à Programação em C 28/01/2008 Leia com atenção as perguntas e justifique cuidadosamente todas as respostas 1. Descreva,
Questão 1: O histograma deve ser: [0, 1, 4, 2, 0, 3, 0,, 0, 2] Exemplo: Para a matriz
MAC122 rincípios de Desenvolvimento de Algoritmos Lista de exercícios 01 rof.: aulo Miranda Instituto de Matemática e Estatística (IME) Universidade de São aulo (US) Alocação Dinâmica & Matrizes Questão
Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I
LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I Prof. Bruno E. G. Gomes Uma variável em um algoritmo pode ser vista como uma gaveta. A declaração de uma variável reserva uma gaveta (posição) de um certo
Processamento da Informação Teoria. Strings
Processamento da Informação Teoria Strings Semana 04 Prof. Jesús P. Mena-Chalco 15/05/2013 Das aulas anteriores... Vimos vários tipos de dados: int, float, long, string Stings são qualitativamente diferentes
LISTA DE EXERCÍCIOS - ro. 04
USP ICMC SSC SSC0100 - Introdução à Ciência da Computação I (Prática) Professor responsável: Fernando Santos Osório Semestre: 2009/1 Horário: Terça 14h20 (Turma A2) E-mail: fosorio.at. icmc.usp.br fosorio.at.
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,
DCC001 - Programação de Computadores. Lista de Exercícios 02 - Estruturas de Dados Homogêneas (Vetores).
DCC-UFMG 1 semestre de 2007 DCC001 - Programação de Computadores Prof. Martín Gómez Ravetti Lista de Exercícios 02 - Estruturas de Dados Homogêneas (Vetores). Valor: 5 pontos 1. Escreva um algoritmo em
CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho
CURSO BÁSICO DE PROGRAMAÇÃO AULA 15 Revisão Vetores e Matrizes Trabalho Definição: Introdução a Linguagem C Vetores Estrutura que permite armazenar um conjunto de dados do mesmo tipo na mesma variável;
Fundamentos da Programação
Fundamentos da Programação Solução do Primeiro Teste 27 de Outubro de 2012 09:00 10:30 1. (1.0) O que é um processo computacional? Qual a relação entre um programa e um processo computacional? Um processo
Funções. Capítulo (2) Considere a seguinte interacção em Python: >>> def f1(x):... return x * x... >>> f1(5) 25 >>> f2 = f1 >>>
Capítulo 3 Funções 1. (2) Considere a seguinte interacção em Python: def f1(x): return x * x f1(5) 25 f2 = f1 (a) Qual o valor retornado pela chamada f2(5)? Justifique a sua resposta. (b) Suponha que agora
1. Para cada pergunta selecione uma opção. Resposta correta +2, incorreta -1. [12 pontos]
* Universidade Federal do ABC Avaliação: Prova 01 (40 pontos) Disciplina: MCTA028 - Programação Estruturada Turma: Noturno A1 e A2 Professor: Jesús P. Mena-Chalco Data: 25/10/2016 Nome completo: RA: Instruções:
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
Lista 02: Pilhas & Filas
MAC122 Princípios de Desenvolvimento de Algoritmos DCC IME USP 2º Semestre de 2018 Prof.: Dr. Paulo Miranda [email protected] Lista 02: Pilhas & Filas Para as questões envolvendo pilhas, assuma
*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
