Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Exercícios de Algoritmos e Programação - UFPE, Exercícios de Algoritmos e Programação

Lista de estudo em algoritmos e programação computacional

Tipologia: Exercícios

2019

Compartilhado em 04/12/2019

higor-gustavo-5
higor-gustavo-5 🇧🇷

13 documentos

1 / 3

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
UNIVERSIDADE FEDERAL DE PERNAMBUCO
CENTRO ACADÊMICO DO AGRESTE
NÚCLEO DE TECNOLOGIA
CURSO DE ENGENHARIA CIVIL
CURSO DE ENGENHARIA DE PRODUÇÃO
DISCIPLINA: Algoritmos e Programação de Computadores
DOCENTE: Michele Mara de Araújo Espíndula Lima
Lista 03
1. Faça a função int * LeVetor(int n). Esta função recebe como parâmetro a
quantidade de elementos que devem ser lidos e armazenados em um vetor que deve
ser alocado e retornado pela função.
2. Faça a função int ** AlocaMatriz(int linha, int coluna) que dado as
dimensões de uma matriz aloca uma matriz de inteiros e retorna a matriz retornada.
3. Faça uma função que recebe como parâmetro o nome de um arquivo, e os inteiros
linha e coluna int ** LeMatrizTexto(char Arq[], int *linha, int
*coluna). Sua rotina deve ler do arquivo de entrada as dimensões da matriz,
alocar uma matriz de inteiros com esta dimensão e ler a matriz. As dimensões da
matriz devem ser retornadas nas variáveis linha e coluna, e a matriz deve ser
retornada na função.
4. Faça o procedimento void GravaMatrizTexto(char Arq[], int **A, int
linha, int coluna) que recebe como parâmetro o nome de um arquivo texto,
uma matriz de inteiros e suas dimensões. O procedimento deve gravar na primeira
linha do arquivo as dimensões (linha e coluna) da matriz, e nas demais, as linhas da
matriz.
5. Faça uma função que recebe como parâmetro o nome de um arquivo binário, e os
inteiros linha e coluna int ** LeMatrizBinario(char Arq[], int *linha,
int *coluna). Sua rotina deve ler do arquivo de entrada as dimensões da matriz,
alocar uma matriz de inteiros com esta dimensão e ler a matriz. As dimensões da
matriz devem ser retornadas nas variáveis linha e coluna, e a matriz deve ser
retornada na função.
6. Faça o procedimento void GravaMatrizBinario(char Arq[], int **A,
int linha, int coluna) que recebe como parâmetro o nome de um arquivo
binário, uma matriz de inteiros e suas dimensões. O procedimento deve gravar no
arquivo as dimensões (linha e coluna) da matriz, e a matriz.
7. Faça o procedimento void IntercalaOrdenado(char Arq1[], char
Arq2[], char Arq3[]) que dado recebe três nomes de arquivos como
parâmetro. Cada arquivo texto contém uma lista ordenada de nomes de alunos. Seu
procedimento deve ler os dados dos dois primeiros arquivos, intercalar de forma
ordenada estes dados e gravar no arquivo texto de saída Arq3.
8. Faça o procedimento void Criptografa(char Arq1[], char Arq2[])que
dado dois nomes de arquivos como parâmetro. Seu procedimento deve ler os
caracteres do arquivo texto de entrada Arq1, e gerar um texto criptografado e gravar
no arquivo de saída Arq2. Para criptografar o texto, cada caractere deverá ser
substituído pelo caractere que está duas posições à sua frente na tabela ASCII. Os
três últimos caracteres da tabela ASCII deverão ser substituídos pelos três primeiros.
A faixa de valores da tabela ASCII que deverão ser utilizados na criptografia é: [32,
126]
pf3

Pré-visualização parcial do texto

Baixe Exercícios de Algoritmos e Programação - UFPE e outras Exercícios em PDF para Algoritmos e Programação, somente na Docsity!

CENTRO ACADÊMICO DO AGRESTE

NÚCLEO DE TECNOLOGIA

CURSO DE ENGENHARIA CIVIL

CURSO DE ENGENHARIA DE PRODUÇÃO

DISCIPLINA: Algoritmos e Programação de Computadores DOCENTE: Michele Mara de Araújo Espíndula Lima

Lista 03

  1. Faça a função int * LeVetor(int n). Esta função recebe como parâmetro a quantidade de elementos que devem ser lidos e armazenados em um vetor que deve ser alocado e retornado pela função.
  2. Faça a função int ** AlocaMatriz(int linha, int coluna) que dado as dimensões de uma matriz aloca uma matriz de inteiros e retorna a matriz retornada.
  3. Faça uma função que recebe como parâmetro o nome de um arquivo, e os inteiros linha e coluna int ** LeMatrizTexto(char Arq[], int *linha, int *coluna). Sua rotina deve ler do arquivo de entrada as dimensões da matriz, alocar uma matriz de inteiros com esta dimensão e ler a matriz. As dimensões da matriz devem ser retornadas nas variáveis linha e coluna, e a matriz deve ser retornada na função.
  4. Faça o procedimento void GravaMatrizTexto(char Arq[], int **A, int linha, int coluna) que recebe como parâmetro o nome de um arquivo texto, uma matriz de inteiros e suas dimensões. O procedimento deve gravar na primeira linha do arquivo as dimensões (linha e coluna) da matriz, e nas demais, as linhas da matriz.
  5. Faça uma função que recebe como parâmetro o nome de um arquivo binário, e os inteiros linha e coluna int ** LeMatrizBinario(char Arq[], int *linha, int *coluna). Sua rotina deve ler do arquivo de entrada as dimensões da matriz, alocar uma matriz de inteiros com esta dimensão e ler a matriz. As dimensões da matriz devem ser retornadas nas variáveis linha e coluna, e a matriz deve ser retornada na função.
  6. Faça o procedimento void GravaMatrizBinario(char Arq[], int **A, int linha, int coluna) que recebe como parâmetro o nome de um arquivo binário, uma matriz de inteiros e suas dimensões. O procedimento deve gravar no arquivo as dimensões (linha e coluna) da matriz, e a matriz.
  7. Faça o procedimento void IntercalaOrdenado(char Arq1[], char Arq2[], char Arq3[]) que dado recebe três nomes de arquivos como parâmetro. Cada arquivo texto contém uma lista ordenada de nomes de alunos. Seu procedimento deve ler os dados dos dois primeiros arquivos, intercalar de forma ordenada estes dados e gravar no arquivo texto de saída Arq3.
  8. Faça o procedimento void Criptografa(char Arq1[], char Arq2[])que dado dois nomes de arquivos como parâmetro. Seu procedimento deve ler os caracteres do arquivo texto de entrada Arq1, e gerar um texto criptografado e gravar no arquivo de saída Arq2. Para criptografar o texto, cada caractere deverá ser substituído pelo caractere que está duas posições à sua frente na tabela ASCII. Os três últimos caracteres da tabela ASCII deverão ser substituídos pelos três primeiros. A faixa de valores da tabela ASCII que deverão ser utilizados na criptografia é: [32, 126]

CENTRO ACADÊMICO DO AGRESTE

NÚCLEO DE TECNOLOGIA

CURSO DE ENGENHARIA CIVIL

CURSO DE ENGENHARIA DE PRODUÇÃO

  1. Faça o procedimento void Maiusculos(char Arq1[], char Arq2[])que dado dois nomes de arquivos como parâmetro, que faz uma cópia do de todos os caracteres do arquivo texto de entrada Arq1 no arquivo texto de saída Arq2, convertendo os caracteres minúsculos em maiúsculos.
  2. Faça o procedimento void CopiaLetras(char Arq1[], char Arq2[]) que dado dois nomes de arquivos como parâmetro, copia do arquivo texto de entrada Arq1 apenas os caracteres que são letras para o arquivo texto de saída Arq2.
  3. Faça o procedimento void RemoveNumericos(char Arq1[], char Arq2[]) que dado dois nomes de arquivos como parâmetro, copia do arquivo texto de entrada Arq1 apenas os caracteres que não são números para o arquivo texto de saída Arq2.
  4. Faça o procedimento void CopiaMultiplos(char Arq1[], char Arq2[], int i, int j) que dado dois nomes de arquivos como parâmetro, copia do arquivo texto de entrada Arq1 apenas os caracteres cujos códigos ASCII sejam múltiplos de i, de j ou de ambos para o arquivo texto de saída Arq2.
  5. Considere o trecho de programa abaixo. Depois de executado, quais são os valores associados aos itens de (a) a (i). Suponha que os endereços das variáveis a, b e c são 1000, 1004 e 1008 respectivamente. float a, b; float c, *pa, *pb, *pc; a = 0.003; b = 0.05; pa = &a; pa = 5 * a; pb = &b; c = 2 * (pa + *pb); pc = &c;

pa++; pc -=2; a = *pa + *pb; pa++; a = *pa; b = *pb; c = *pc;

(a) &a (f) &(pa) (k) &(pc) (b) &b (g) pb (l) pc (c) &c (h) &(pb) (m) a (d) pa (i) *pb (n) b (e) *pa (j) pc (o) c

  1. Considere o trecho de programa abaixo. Depois de executado, quais são os valores associados às variáveis c, i, v e d:

char c='A'; char *pc=&c; int i=1, *pi=&i, v[] = {3,1,9,7,5}; double d=1.0, *pd=&d; *pc='B'; *pi=-1; *pd=0.1; v[3 + *pi] = v[1 + *pi * i] + 1;