-
Escreva uma função que lê uma matriz
do teclado e guarda-a como uma lista de listas. -
Escreva uma função que receba duas listas de mesmo tamanho e devolva 0 se são iguais, -1 se o primeiro vier antes lexicograficamente, e +1 caso contrário.
-
Faça um algoritmo que leia uma lista N. A seguir, encontre o menor elemento de N e a sua posição dentro da lista, mostrando: “O menor elemento de N é”, M, “e sua posição dentro da lista é:”, P.
-
Escreva um algoritmo que leia duas listas de 10 posições e faça a multiplicação dos elementos de mesmo índice, colocando o resultado em um terceira listas. Mostre a lista resultante.
-
Faça um algoritmo que leia uma lista S e uma variável A. A seguir, mostre o produto da variável A pela lista.
-
Faça um algoritmo que leia uma lista K. Troque a seguir, todos os elementos de ordem ímpar da lista com os elementos de ordem par imediatamente posteriores.
-
Escreva um algoritmo que leia e mostre uma lista de 20 números. A seguir, conte quantos valores pares existem na lista.
-
Escrever um algoritmo que lê 2 listas X e Y de mesmo tamanho. Crie, a seguir, um lista Z que seja
a) a diferença entre X e Y;
b) a soma entre X e Y;
c) o produto entre X e Y;
Escreva o lista Z a cada cálculo.
-
Faça um algoritmo que leia uma lista G de 10 elementos caractere que representa o gabarito de uma prova. A seguir, para cada um dos 20 alunos da turma, leia a lista de respostas (R) do aluno e conte o número de acertos. Mostre o nº de acertos do aluno e uma mensagem APROVADO, se a nota for maior ou igual a 6; e mostre uma mensagem de REPROVADO, caso contrário.
-
Codifique um programa que faça um deslocamento à esquerda de tamanho m vezes (m lido via teclado) em uma lista de inteiros de tamanho n (n lido via teclado). Por exemplo a seguinte figura apresenta uma lista de tamanho 5, no qual se realiza um deslocamento de tamanho 3.
-
Dada uma lista de inteiros de tamanho n, imprima a maior sequencia (com maior quantidade de elementos) estritamente crescente. Por exemplo, na lista: 10 20 3 4 5 6 7 50 10 100 200 300 2 3.
A maior sequencia é: 3 4 5 6 7 50 , pois possui 6 elementos.
-
Crie uma função que recebe uma lista e seu tamanho por parâmetro além de dois números inteiros
e que são índices da lista (ou seja ). A função deve então trocar os elementos das posições e entre si. -
Faça um programa que lê uma lista de 30 inteiros e guarda a lista na ordem inversa que foi lido em um outra lista de saída.
-
Faça uma função que recebe uma lista de inteiros como parâmetro e, ao final da execução da função, a lista esteja invertida. Utilize a seguinte idéia: troque os elementos da posição 0 e 29 entre si, depois da posição 1 e 28 etc. Pense bem no critério de parada.
-
Escreva uma função que recebe uma lista de inteiros como parâmetro e devolve a soma dos números pares desta lista.
-
Faça uma função que recebe uma lista de números reais por parâmetro e devolve o desvio padrão dos números do vetor usando a seguinte fórmula:
onde
é o número de elementos. -
Modifique cada um dos seguintes algoritmos vistos em sala, para que estes ordenem um vetor em ordem decrescente de valor:
-
SelectionSort
-
InsertionSort
-
BubbleSort
-
-
Use cada um dos algoritmos abaixo e mostre passo-a-passo, como visto em aula, os passos para ordenar a lista
:-
SelectionSort
-
InsertionSort
-
BubbleSort
-
-
Crie uma função para determinar o número total de inversões em uma lista
vet
. Uma inversão existe quando um elemento em uma posição é tal que . Por exemplo, na lista existem 4 inversões para o número 10, 2 inversões para o número 4, 2 inversões para o número 6, nenhuma inversão para 1, e nenhuma para o 2. Portanto o total de inversões é 8. Modifique o algoritmo BubbleSort para computar o número de inversões em uma lista. -
Escreva um programa que lê duas strings do teclado com até 80 caracteres e informa se elas são iguais.
-
Escreva uma função que lê uma palavra do teclado e informa se ela é palíndroma. (Exemplos de palíndromos: ARARA, RADAR, REVIVER)
-
O histograma de um conjunto de dados é um gráfico da frequência com que cada valor aparece. Escreva um programa que leia uma lista de tamanho informado pelo usuário e com valores inteiros entre 1 e 9 e imprima o histograma na mesma forma que o exemplo: para uma lista de tamanho 20 com os valores 1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 6, 7, 8, 8, 8, 9, 9, 9, 9, 9 deverá imprimir:
+---------+ | *| |* *| |** **| |*** **| |**** ****| +---------+ 123456789
-
Faça uma função que devolva a soma de uma sublista
de inteiros, isso é, retorne . -
Faça uma função que receba uma lista
e devolva uma lista tal que . -
Faça uma função que receba uma lista
em devolva uma lista tal que . -
Refaça as questões anteriores, mas agora a função deverá transformar a lista de entrada. Você não deve criar uma lista auxiliar e a lista passado por parâmetro de entrada é o mesmo para armazenar a saída.
-
Uma lista
de dimensão é dada. Queremos transformar a lista de forma a obter somas parciais de sublistas de tamanho , tal que cada elemento contenha a soma dos três elementos imediatamente anteriores. Isso é, se é obtido após a transformação de , então teremosquando
. Quando , damos a volta na lista, isso é, definimosExemplo de entrada e saída:
a) Escreva um algoritmo em português ou pseudocódigo para o problema. Você não deve utilizar outro vetor além da lista de entrada
.b) Implemente o algoritmo anterior em Python.