Buscar

Lista3 - Engenharias

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

EXERCÍCIOS DE COMPUTAÇÃO
1º ANO de Engenharia Elétrica/Mecânica
Professor: Jorge Habib Hanna El Khouri UNIOESTE/PTI
1) Implemente um procedimento que recebe três números inteiros como parâmetros por
referência. O procedimento deverá efetuar a ordenação dos números.
2) Implemente uma função que recebe três números inteiros como parâmetros. A
função deverá retornar o maior dos números.
3) Implemente uma função que recebe três números inteiros como parâmetros. A
função deverá retornar o menor dos números.
4) Implemente uma função que recebe quatro números inteiros como parâmetros. A
função deverá retornar o segundo menor dos números.
5) Implemente uma função que recebe um determinado ano como parâmetro. Essa função
deverá retornar TRUE se o ano for bissexto, FALSE, caso contrário. (IsLeapYear)
6) Implemente uma função que recebe um determinado mês e um ano como parâmetros. A
função deverá retornar o número de dias daquele mês. Considere que Fevereiro
pode conter 28 ou 29 dias, dependendo do ano informado.
7) Implemente uma função que recebe um caracter como parâmetro. A função deverá
retornar o maiúsculo do caracter (UpCase).
8) Implemente uma função que recebe um caracter como parâmetro. A função deverá
retornar o minúsculo do caracter (DownCase).
9) Implemente uma função que recebe um número no intervalo de 0 a 99. A função
deverá retornar o número por extenso.
10) Implemente uma função que recebe inteiro correspondendo a uma determinada data
no formato aaaammdd. A função retornar uma string com a data no formato
dd/mm/aaaa. Ex: 20080529 = 29/05/2008
11) Implemente uma função que recebe como parâmetros um número inteiro
correspondendo uma determinada hora no dia em segundos. A função deterá
retornar a hora no formato hh:mm:ss. Exemplo: 58500 = 16:15:00
12) Faça uma função que calcule o número anos, meses e dias de vida de uma
determinada pessoa. A função deverá receber como parâmetros a data de
nascimento da pessoa e a data atual.
13) Implemente uma função que recebe três argumentos dia, mês e ano, representando
uma data. A função deverá retornar true se a data é válida, false caso
contrário.(IsValidDate)
14) Implemente um procedimento que recebe três argumentos dia, mês e ano passados
por referência. O procedimento deverá calcular o dia seguinte. (NextDay)
15) Implemente uma função que recebe três argumentos Dia, Mês e Ano como
parâmetros. A função deverá retornar a data no formato no formato dd/mm/aaaa.
(DateToStr)
16) Implemente uma função que recebe três argumentos Hora, Minuto e Segundo como
parâmetros. A função deverá retornar o horário no formato no formato hh:mm:ss.
(TimeToStr)
17) Implemente um procedimento que recebe uma data como argumentos no formato
dd/mm/aaaa. A função deverá retornar a data no formato do windows. (StrToDate).
// Pesquisar formato Windows
18) Implemente um procedimento que recebe um horário como argumentos no formato
hh:mm:ss. A função deverá retornar o horário no formato do windows.
(StrToTime). // Pesquisar formato Windows
19) Implemente a função function Soma2 ( ch1, ch2 : char; var vaium : char ) :
char; . A função deverá fazer a soma do ch1 e ch2 e processar o vai um conforme
regras da soma de números em binário. Ex. ‘1’ + ‘0’ = ‘1’, vaium=0.
20) Implemente a função function SomaBIN ( s1, s2 : string ) : string;, onde s1 e
s2 representam números binários. A função deverá retornar a soma dos números.
OBS. Usar o Soma2 do exercício anterior. Ex. ‘110’ + ‘001’ = ‘111’.
21) Implemente a função function Soma10 ( ch1, ch2 : char; var vaium : char ) :
char; . A função deverá fazer a soma do ch1 e ch2 e processar o vai um conforme
regras da soma de números em decimal. Ex. ‘5’ + ‘6’ = ‘1’, vaium=1.
22) Implemente a função function SomaDEC ( s1, s2 : string ) : string;, onde s1 e
s2 representam números decimais. A função deverá retornar a soma dos números.
OBS. Usar o Soma10 do exercício anterior. Ex. ‘20’ + ‘15’ = ‘35’.
23) Implemente a função function SomaB ( ch1, ch2 : char; base : integer; var vaium
: char ) : char; . A função deverá fazer a soma do ch1 e ch2 e processar o vai
um conforme regras da soma de números na base informada.
24) Implemente a função function SomaNumeros ( s1, s2 : string; base : integer ) :
string;, onde s1 e s2 representam números na base indicada. A função deverá
retornar a soma dos números. OBS. Usar o SomaB do exercício anterior.
25) Implemente a função Inverte, que recebe um texto como parâmetro e deverá
retornar o texto invertido. Ex. ‘abc’ = ‘cba’.
26) Implemente uma função que recebe um texto como parâmetro. A função deverá
retornar o maiúsculo do texto. Ex. ‘Abc’ = ‘ABC’.
27) Implemente uma função que recebe um texto como parâmetro. A função deverá
retornar o minúsculo do texto. Ex. ‘Abc’ = ‘abc’.
28) Implemente uma função que recebe um texto como parâmetro e retornar o primeiro
caracter de cada palavra em maiúsculo, os demais em minúsculo. Ex. ‘exercícios
de computação’ = ‘Exercícios De Computação’.
29) Implemente uma função que recebe um texto como parâmetro. A função deverá
retornar o texto sem espaços em branco à esquerda (TrimLeft). Ex. ‘ abc ’ =
‘abc ’.
30) Implemente uma função que recebe um texto como parâmetro e retorne o texto sem
espaços em branco à direita (TrimRight). Ex. ‘ abc ’ = ‘ abc’.
31) Implemente uma função que recebe um texto como parâmetro e retorne o texto sem
espaços em branco na esquerda e direita (Trim). Ex. ‘ abc ’ = ‘abc’.
32) Implemente uma função que recebe um texto como parâmetro. A função deverá
retornar o texto sem espaços em branco excedentes no texto.
 Ex. ‘ a b c ’ = ‘ a b c ’.
33) Implemente uma função que recebe um texto como parâmetro. A função deverá
retornar o número de palavras desse texto. Ex. ‘ a b c ’ = 3, ‘x y’ = 2.
34) Implemente uma função que recebe um texto como parâmetro. A função deverá
retornar o texto sem caracteres repetidos seqüencialmente. Ex. ‘ Carro ’ =
‘Caro’, ‘acesso’ = ‘aceso’.
35) Implemente uma função que recebe um texto e um caracter como parâmetros. A
função deverá retornar o número de ocorrências do caracter no texto. Ex.
(‘Carro ’, ‘r’) = 2.
36) Implemente a função MyCopy, que recebe como parâmetros um texto, a posição
inicial e a quantidade de caracteres a serem copiados a partir da posição
inicial. Ex. (‘Foz do Iguaçu’,1,3) = ‘Foz’.
37) Implemente o procedimento MyDelete, que recebe como parâmetro por referência um
texto, e por cópia recebe a posição inicial da exclusão e o número de
caracteres a serem excluídos. Ex. (‘Foz do Iguaçu’,1,3) = ‘ do Iguaçu’.
38) Implemente uma função chamada MyConcat, que recebe como parâmetros dois textos.
A função deverá retornar os textos concatenados. Ex. (‘Foz’, ‘ do Iguaçu’) =
‘Foz do Iguaçu’.
39) Implemente a função CAR, que recebe como parâmetro um texto e devolve a
primeira palavra do texto. Ex. ‘Foz do Iguaçu’ = ‘Foz’.
40) Implemente a função CDR, que recebe como parâmetro um texto e devolve o texto
sem a primeira palavra. Ex. ‘Foz do Iguaçu’ = ‘do Iguaçu’.
41) Implemente uma função que recebe um número N e um caracter como parâmetros. A
função deverá retornar o caracter repetido N vezes. Ex. (‘a’,4) = ‘aaaa’.
42) Implemente uma função que recebe como parâmetro um número. A função deverá
retornar se o número é primo ou não. Ex. (11) = true, pois é divisível somente
por 1 e por ele mesmo.
43) Implemente uma função que recebe como parâmetro um número. A função deverá
retornar se o número é perfeito ou não. OBS. Um número é perfeito se a soma de
seus divisores resultar no próprio número. Ex. (6) = true, pois 1+2+3=6.
44) Implemente uma função (MMC) que recebe como parâmetros três números. A função
deverá retornar o Mínimo Múltiplo Comum dos números. Ex. (6,4,2) = 12.
45) Implemente uma função (MDC) que recebe como parâmetros três números. A função
deverá retornar o Máximo Divisor Comum dos números.Ex. (6,4,2) = 2.
46) Faça uma função que calcule o N-ésimo elemento da série de Fibonacci, onde n é
um número fornecido pelo usuário. Sendo que Fibonacci(1) = 1, Fibonacci(2) = 1,
Fibonacci (n) = Fibonacci(n-1) + Fibonacci(n-2). Ex. Fibonacci(6) = 8
47) Implemente uma função que calcule a soma dos 50 primeiros elementos de cada
expressão abaixo:
1000 + 997 + 994 + 991 + ...a)
1 2 3 4
50
 b) Σ N2
N-1
50
 c) Σ 1/N
N-1
48) Faça uma função para ler N temperaturas e retorne quantas temperaturas estão
acima de 20º.
49) Faça uma função que leia 10 números. Calcule a média aritmética dos números e
retorne a quantidade de números que estão iguais ou acima da média.
50) Faça uma função que calcule e retorne a soma dos números fornecidos pelo
usuário. O critério de parada é o usuário digitar o número zero.
51) Function: Converter um número inteiro para string (usar str);
52) Function: Converter um número inteiro para string (sem usar str);
53) Function: Converter um número real para string, informando a quantidade de
dígitos e casas decimais (usar str);
54) Function: Converter um número real para string, informando a quantidade de
dígitos e casas decimais (sem usar str);
55) Function: Converter um string para número inteiro (usar val);
56) Function: Converter um string para número inteiro (sem usar val);
57) Function: Converter um string para número real (usar val);
58) Function: Converter um string para número real (sem usar val);
59) Implementar: function Replace (S, sOld, sNew : String) : String; Dada um string
S, esta função altera, caso exista, o texto em sOld por sNew. Por exemplo:
Replace (‘aula do computacao’, ‘do’, ‘de’) retornaria ‘aula de computacao’;
60) Implementar: function Extract (S, SubString : String) : String; Dada um string
S, esta função elimina, caso exista, o texto dado por SubString. Por exemplo:
Extract (‘aula do computacao’, ‘do’) retornaria ‘aula computacao’;
61) Construa uma função encaixa que dados dois inteiros positivos a e b verifica se
b corresponde aos últimos dígitos de a. Não é permitido passar para string. A
solução deve trabalhar com a representação numérica.
Exemplo:
A b
567890 890 Encaixa
1243 1243 Encaixa
2457 245 Não encaixa
457 2457 Não encaixa
62) Implementar uma função para retornar a última palavra de uma string;
63) Implementar um procedimento que recebe como parâmetro um determinado número n.
O procedimento deverá gerar todas as possibilidades de palavras contendo as
letras ‘a’ e ‘b’, com tamanho máximo de n caracteres. Considere que uma palavra
somente é válida se contiver a mesma quantidade de ‘a’ e ‘b’.
Ex. de palavras válidas para
n=2: ‘’, ‘ab’, ‘ba’.
n=4: ‘’, ‘ab’, ‘ba’, ‘aabb’, ‘abab’, ‘abba’, ‘baba’, ‘bbaa’
64) Implementar uma função que recebe um número inteiro positivo como parâmetro. A
função deverá retornar a quantidade de dígitos do respectivo número. Ex. (523)
= 3, (28)=2, (4) = 1.
65) Implemente a função IntToDec2, que recebe como parâmetro um número inteiro em
binário e converte o número para decimal.
66) Implemente a função DecToInt2, que recebe como parâmetro um número inteiro em
decimal e converte o número para binário.
67) Implemente a função RealToDec2, que recebe como parâmetro um número real em
binário e converte o número para decimal.
68) Implemente a função DecToReal2, que recebe como parâmetro um número real em
decimal e converte o número para binário.
69) Implemente a função IntToDec16, que recebe como parâmetro um número inteiro em
hexadecimal e converte o número para decimal.
70) Implemente a função DecToInt16, que recebe como parâmetro um número inteiro em
decimal e converte o número para hexadecimal.
71) Implemente a função IntToDec16, que recebe como parâmetro um número real em
hexadecimal e converte o número para decimal.
72) Implemente a função DecToInt16, que recebe como parâmetro um número real em
decimal e converte o número para hexadecimal.
73) Implemente a função IntToDecB, que recebe como parâmetro um número inteiro na
base B e converte o número para decimal.
74) Implemente a função DecToIntB, que recebe como parâmetro um número inteiro na
base B e converte o número para hexadecimal.
75) Implemente a função IntToDecB, que recebe como parâmetro um número real na base
B e converte o número para decimal.
76) Implemente a função DecToIntB, que recebe como parâmetro um número real na base
B e converte o número para hexadecimal.
77) Implemente uma função que recebe como parâmetros uma string contendo um número
em uma base qualquer e os números que pertencem àquela base. A função deverá
retornar o sucessor do número fornecido. Ex. (‘AB’, ‘0123456789ABCDEF’) = ‘AC’.
78) Implemente uma função que recebe duas strings representando números e uma base.
A função deverá retornar a soma dos números, conforme base informada.
79) Implemente uma função que recebe duas strings representando números e uma base.
A função deverá retornar a subtração dos números, conforme base informada.
80) Implemente uma função que recebe duas strings representando números e uma base.
A função deverá retornar a multiplicação dos números, conforme base informada.
81) Implemente uma função que recebe uma string representando uma expressão
matemática como parâmetro e retorna o resultado do processamento da expressão.
Não considerar parênteses e prioridade entre operadores.
Function calcula ( expressao : string; var code : integer ) : integer;
A expressão poderá conter os seguintes operadores matemáticos: + - x e ÷
 Após o processamento da expressão code poderá conter um dos seguintes valores:
0 : processamento OK.
1 : falta operador.
2 : falta operando.
3 : divisão por zero.
4 : outros.
Para efetuar o processamento inicie da direita para a esquerda conforme
exemplo: ( ‘ 7 + 8 - 3 * 5’) = 7 + 8 - 3 * 5 = 7 + 8 – 15 = 7 – 7 = 0
82) Implemente uma função que recebe um número romano do intervalo de 1 a 3999. A
função deverá converter e retornar o número em arábico. Ex. (‘MMMCMXCVIII’) =
3998.
83) Implemente uma função que recebe um número arábico do intervalo de 1 a 3999. A
função deverá converter e retornar o número em romano. Ex. (3008) = ‘MMMVIII’.
84) Implemente uma função que recebe um número romano do intervalo de 1 a 3999. A
função deverá converter e retornar o número por extenso. Ex. (‘MMMCMXCVIII’) =
‘TRÊS MIL, NOVECENTOS E NOVENTA E OITO’.
85) Implemente uma função que recebe um número arábico do intervalo de 1 a 3999. A
função deverá converter e retornar o número por extenso. Ex. (3998) = ‘TRÊS
MIL, NOVECENTOS E NOVENTA E OITO’.
86) Implemente uma função que recebe um número inteiro (word) como parâmetro. A
função deverá reverter os bits do número. Ex. 7 em binário = 0000000000000111,
invertendo-se os bits = 1110000000000000 = 57344.
87) Implemente uma função que recebe como parâmetro uma determinada data e a função
retorna o dia da semana que corresponde a data. Ex. (‘11/06/2008’) = ‘Quarta-
Feira’.
88) Faça um programa que calcula a soma pelas seguintes maneiras:
· adição dos termos da direita para a esquerda;
· adição dos termos da esquerda para a direita;
· adição separada dos termos positivos e dos termos negativos da esquerda para
a direita;
· adição separada dos termos positivos e dos termos negativos da direita para a
esquerda.
Compare e discuta os resultados obtidos no computador.
EXERCÍCIOS COM VETORES
1) Iniciar um vetor com um determinado valor;
2) Iniciar um vetor com um valor randomico;
3) Obter o maior elemento;
4) Obter o menor elemento;
5) Obter a quantidade de elementos que se encontram em um intervalo dado;
6) Obter a soma dos elementos;
7) Obter a média dos elementos;
8) Obter o produto dos elementos;
9) Obter a quantidade de vezes que um determinado elemento se repete;
10) Reverter;
11) Obter a soma de dois vetores; (elemento a elemento).
12) Obter a diferençade dois vetores;
13) Obter a produto de dois vetores;
14) Obter a divisão de dois vetores;
15) Somar um vetor com um valor escalar;
16) Subtrair um vetor de um valor escalar;
17) Multiplicar um vetor com um valor escalar;
18) Dividir um vetor por um valor escalar;
19) Fornecer a posição do maior valor;
20) Fornecer a posição do menor valor;
21) Fornecer a posição de um determinado elemento;
22) Dividir um vetor em dois outros ficando um destes vetores com p elementos;
23) Justapor dois vetores dando origem a um outro vetor;
24) Intercalar os elementos de dois vetores de tamanhos diferentes, dando origem a
um outro vetor;
25) Trazer para a primeira posição o maior valor, e vice-versa.
26) Ordenar;
27) Dados n e uma seqüência de n números inteiros, determinar quantos segmentos de
números iguais consecutivos compõem essa seqüência. Exemplo: A seguinte
seqüência é formada por 5 segmentos de números iguais: 5, 2, 2, 3, 4, 4, 4, 4,
1, 1
28) Dados n e uma seqüência de n números inteiros, determinar o comprimento de um
segmento crescente de comprimento máximo. Exemplos: Na seqüência 5, 10, 3, 2,
4, 7, 9, 8, 5 o comprimento do segmento crescente máximo é 4. Na seqüência 10,
8, 7, 5, 2 o comprimento de um segmento crescente máximo é 1.
29) Dizemos que um número natural n é palíndromo se
¨ 1º algarismo de n é igual ao seu último algarismo,
¨ 2º algarismo de n é igual ao penúltimo algarismo, e assim sucessivamente.
Exemplos:
· 567765 e 32423 são palíndromos.
· 567675 não é palíndromo.
Dado um número natural n > 10 , verificar se n é palíndrome.
30) Dizemos que uma seqüência de inteiros positivos é k-alternante se for composta
alternadamente por segmentos de números pares de tamanho k e segmentos de
números ímpares de tamanho k.
Exemplos:
A seqüência 1 3 6 8 9 11 2 4 1 7 6 8 é 2-alternante.
A seqüência 2 1 4 7 8 9 12 é 1-alternante.
A seqüência 4 2 3 1 6 4 2 9 3 não é alternante.
A seqüência 1 3 5 é 3-alternante.
Dado n > 1 e uma seqüência com n inteiros, verificar se existe um inteiro k >
1 tal que a seqüência é kalternante.
Dê como saída também o valor de k caso a seqüência seja alternante.
31) Dada uma seqüência de n números reais, determinar os números que compõem a
seqüência e o número de vezes que cada um deles ocorre na mesma.
Exemplo: n = 8
Seqüência: -1.7, 3.0, 0.0, 1.5, 0.0, -1.7, 2.3, -1,7
Saída: -1.7 ocorre 3 vezes
 3.0 ocorre 1 vez
 0.0 ocorre 2 vezes
 1.5 ocorre 1 vez
 2.3 ocorre 1 vez
32) Verificar a existência de um determinado string no vetor;
33) Retornar a posição de um string no vetor;
34) Contar as ocorrências de um string no vetor;
35) Ordenar alfabeticamente;
36) Ordenar de acordo com a quantidade de letras;
37) Ordenar de acordo com a quantidade de palavras;
38) Considerando como se fosse um vetor de nomes próprios, gerar um segundo vetor
com os nomes intermediários abreviados.

Outros materiais