Você está na página 1de 15

Instituto de Ensino Santo Antonio

Apostila de Exerccios de Lgica de Programao

Curso: Tcnico de Informtica Ano: 3 Ano Disciplina: Lgica 2

Verso 2009
Elaborado por: Prof. Fernando Salles Claro Remodelado por: Prof. Vitor Hugo Migoto de Gouva

1) Defina os seguintes termos: a) b) c) d) e) VARIVEIS CONSTANTES PORTUGOL FLUXOGRAMA ALGORITMO

2) Dada as seguintes declaraes: Var Num: inteiro; Soma, X: real; Simbolo: caracter; Nome, Cor, Dia: string; Cod, Teste, Tudo: lgico; Assinalar os comandos de atribuio invlidos:
a) b) c) d) e) f) g) h) i) j) ( ( ( ( ( ( ( ( ( ( ) Simbolo = 5; ) Soma = Num + 2 * X; ) Tudo = Soma; ) Cor = 'Preto' - Raiz(X); ) Teste = Cod ou (Raiz(X) <> Soma); ) X = X + 1; ) Num = '*ABC*'; ) Dia = 'Segunda'; ) Soma + 2 = Raiz(X); ) X:= Nome >= Cod;

3) Com as mesmas declaraes do exerccio acima, quais sero os valores armazenados em SOMA, NOME e TUDO, supondo-se que NUM, X, COR, DIA, TESTE e COD valem, respectivamente, 25, 2.5, 'Azul', 'Tera', Falso e Verdadeiro ? a) Nome = Dia; b) Soma = Raiz(Num) / X + Int(X+1); c) Tudo = no Teste ou Cod e (Soma < X); 4) Dadas as variveis inteiras X, Y e Z, contendo os valores 2, 5, 9, respectivamente; a varivel NOME do tipo string contendo 'MARIA' e a varivel lgica SIM contendo o valor FALSO, observar os resultados das expresses lgicas desenvolvidas a seguir: a) b) c) d) (X + Y > Z) E NOME = 'MARIA' SIM OU (Y >= X) NO SIM E (Z DIV Y + 1 = X) (NOME = 'JORGE') E SIM OU (X2 < Z + 10)

Apostila de Exerccios de Lgica de Programao 5) Dada as declaraes: Var A,B: REAL; NOME, PROFISSAO: STRING;

Completar o quadro abaixo, com o valor das relaes indicadas, tendo-se em vista os valores atribudos s variveis: VARIVEIS A B NOME 'MIRIAN' 'PEDRO' 'ANA' PROFISSAO 'ADVOGADO' 'MEDICO' 'PROFESSOR' A + 1 >= Raiz(B) RELAES NOME <> 'ANA' PROFISSAO = 'MEDICO'

3.0 16.0 5.0 64.0 2.5 9.0

6) Se A=127, B=10, C=5, D=FALSO e E=VERDADEIRO. Qual o valor produzido por cada uma das sentenas abaixo?NO D; a) b) c) d) e) f) g) D E E; ( A > B ) OU ( B < C ); NO ( A < B ); ( D E E ) OU ( A = B); ( D OU E) E ( A < B); A + B < C E D OU E E NO D; A + B * C/B = 3 E NO ( A = B);

7) Qual a primeira operao executada em cada um dos comandos abaixo? a) X + Y - Z; b) A + B / C**2; c) JOAO + JOSE / JOEL; d) MARIA + JOAO + BETE + JULIA; e) X + Y + B**2 + R * 3; 8) Os comandos: A = B = C; e se B=C ento A = VERDADEIRO; seno A = FALSO; fimse; So equivalentes? Explique por qu. -2-

Apostila de Exerccios de Lgica de Programao 9) Tendo as variveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expresses so verdadeiras ou falsas.

SALARIO 100,00 200,00 300,00

IR 0,00 10,00 15,00

SALLIQ

EXPRESSO

V ou F

100,00 (SALLIQ >= 100,00) 190,00 (SALLIQ < 190,00) 285,00 SALLIQ = SALRIO - IR

10) Sabendo que A=3, B=7 e C=4, informe se as expresses abaixo so verdadeiras ou falsas. a) (A+C) > B b) B >= (A + 2) c) C = (B A) d) (B + A) <= C e) (C+A) > B ( ( ( ( ( ) ) ) ) )

11) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expresses abaixo so verdadeiras ou falsas. a) (A > C) E (C <= D) b) (A+B) > 10 OU (A+B) = (C+D) c) (A>=C) E (D >= C) 12) Observe o algoritmo abaixo: var B1,B2,B3: lgico; incio se (B1) ento C1; seno se (B2) ento se (B3) ento C2; seno C3; C4; fimse; fimse; C5; fimse; fim. Dado o algoritmo acima, responda: a) Se B1 = VERDADEIRO, B2 = VERDADEIRO, B3 = FALSO, quais os comandos -3( ( ( ) ) )

Apostila de Exerccios de Lgica de Programao que sero executados ? b) Se B1 = FALSO, B2 = VERDADEIRO, B3 = FALSO, quais os comandos que sero executados ? c) Quais os valores de B1, B2 e B3 para que somente o comando C5 seja executado ? d) Se B1 = FALSO, B2 = VERDADEIRO e B3 = VERDADEIRO, quais os comandos que sero executados ? 13) Qual o valor de L aps a execuo do algoritmo abaixo? var A,B,C: lgico; X,Y: real; V,L: inteiro; incio A = V; B = V; C = F; X = 1.5; Y = 3.2; X = X + 1; se ((C) ou ((X + Y > 5) ou ( no A e B))) ento L = 0; seno L = 1; fimse; fim. 14) O que est errado no algoritmo abaixo? var N,PAR,X: inteiro; incio leia (N); X = N mod 2; se (X = 0) ento PAR = V; seno PAR = F; fimse; fim.

-4-

Apostila de Exerccios de Lgica de Programao 15) Escreva um algoritmo para calcular o consumo mdio de um automvel (medido em Km/l), dado que so conhecidos a distncia total percorrida e o volume de combustvel consumido para percorr-la (medido em litros). FRMULA:
CM DIST VOL

ONDE: CM = CONSUMO MDIO DIST = DISTNCIA VOL = VOLUME DE COMBUSTVEL CONSUMIDO

16) Uma empresa decide dar um reajuste a seus funcionrios de acordo com os seguintes critrios: 50% para aqueles que ganham menos de R$ 3.000,00; 20% para aqueles que ganham entre R$ 3.000,01 e R$ 10.000 e; 15% para os demais.

Escreva um algoritmo para calcular e imprimir o valor do salrio reajustado de cada funcionrio da empresa. 17) Tendo-se como dados de entrada a altura e o sexo de uma pessoa, construa um algoritmo que calcule seu peso ideal, utilizando as seguintes frmulas: para homens: (72,7 * h) 58; para mulheres: (62,1 * h) 44,7.

18) Elabore um algoritmo que, dada a idade de um nadador, classifique-o em uma das seguintes categorias: infantil A 5 a 7 anos; infantil B 8 a 10 anos; juvenil A 11 a 13 anos; juvenil B 14 a 17 anos; snior maiores de 17 anos.

19) Construa um algoritmo que leia trs nmeros inteiros e os imprima em ordem crescente. 20) Escreva um algoritmo que leia a MDIA de um aluno e que determine e imprima a mensagem APROVADO se o aluno teve mdia igual ou superior a 7,0, caso contrrio o algoritmo dever imprimir a mensagem REPROVADO. 21) Construir um algoritmo, que dado um conjunto de N valores inteiros e positivos, que determine e imprima o maior e o menor dentre os nmeros fornecidos. 22) Escreva um algoritmo que leia os trs lados de um tringulo (A, B, C) e que determine e imprima uma mensagem informando o seu tipo, conforme a tabela abaixo: Tringulo Equiltero = 3 lados iguais Tringulo Issceles = 2 lados iguais Tringulo Escaleno = 3 lados diferentes -5-

Apostila de Exerccios de Lgica de Programao

23) Fazer um algoritmo para achar o maior e o menor nmero de uma srie de 10 nmeros e positivos fornecidos pelo teclado. 24) Escrever um algoritmo para calcular a srie abaixo e imprimir o resultado de x.
1 1 1 1 1 x ... 1 2 3 4 n

25) O valor do sen(x) pode ser obtido com boa aproximao dos 30 primeiros termos da srie abaixo. Construir um algoritmo que dado o valor de N, calcule e imprima o valor do Sen(n).
n1 n3 n5 n7 sen x ... 1! 3! 5! 7!

26) Construir um algoritmo para calcular a mdia de um conjunto de 50 valores inteiros e positivos, fornecidos pelo teclado. 27) Sendo: h 1
1 1 1 1 ... 2 3 4 n

Fazer um algoritmo para calcular e imprimir h. O nmero N fornecido pelo teclado. 28) Escreva um algoritmo para calcular o fatorial de um nmero N, fornecido pelo teclado. 29) Fazer um algoritmo que: Leia um nmero real X; Determine e imprima o seguinte somatrio:
s x x x x ... 1! 2! 3!

Usando os 13 primeiros termos da srie: 30) Escrever um algoritmo, que leia um conjunto de 23 dados, cada um, contendo o peso e o cdigo do sexo ("F" ou "M") dos alunos de uma classe, calcule e imprima: Maior e o menor peso da turma; A mdia de peso dos homens; A mdia de peso da turma;

31) Escreva um algoritmo para calcular e imprimir a soma de dez nmeros inteiros quaisquer fornecidos pelo usurio. 32) Faa um algoritmo para gerar os N primeiros termos da seguinte seqncia: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, . . .

-6-

Apostila de Exerccios de Lgica de Programao 33) Escreva um algoritmo para calcular o reajuste salarial de uma empresa que possui 1000 funcionrios, de acordo com os seguintes critrios: os funcionrios com salrio inferior a R$ 10.000,00 devem ter um reajuste de 55%; os funcionrios com salrios entre R$ 10.000,01 e R$ 25.000,00 devem ter um reajuste de 30% os funcionrios com salrios superior a R$ 25.000,00 deve ter um reajuste de 20%

34) Uma empresa decide presentear seus 500 funcionrios com um bnus de Natal, cujo valor definido do seguinte modo: os funcionrios do sexo masculino com tempo de casa superior a 15 anos tero direito a um bnus de 20% de seu salrio; as funcionrias com tempo de casa superior a 10 anos tero direito a um bnus de 25% de seu salrio; e os demais funcionrios tero direito a um bnus de R$ 5.000,00.

Elabore um algoritmo para calcular o valor do bnus concedido a cada funcionrio e o impacto de tal atitude no oramento da empresa (ou seja, o montante total dos bnus concedidos). 35) Construir um algoritmo para calcular o valor de S, usando as 20 primeiras fraes da expresso abaixo:
s x x x x x x ... 1 2 3 4 5 20

36) Escreva um algoritmo que determine e imprima todos os nmeros primos compreendidos entre 1 e 100. 37) Um rei requisitou os servios de um sbio e disse-lhe que pagaria qualquer preo. O sbio necessitando de alimentos, indagou o rei sobre o pagamento, se poderia ser feito com gros de trigo dispostos em um tabuleiro de xadrez, de tal forma que o primeiro quadro deveria conter apenas um gro de trigo e nos quadros seguintes, o dobro do quadro anterior. O rei achou o trabalho barato, pediu que o servio fosse executado, sem se dar conta de que seria impossvel efetuar o pagamento. Faa um algoritmo que calcule e imprima a quantidade total de gros de trigo que o rei deveria pagar ao sbio. 38) Dados dois nmeros inteiros A e B, construa um algoritmo para calcular e imprimir a soma de todos os nmeros pares existentes entre A e B. 39) Elabore um algoritmo que efetue a soma de todos os nmeros mpares que so mltiplos de trs e que se encontram no conjunto dos nmeros de 1 at 500. 40) Escreva um algoritmo que leia um valor inteiro N e que imprima a sua tabuada de 1 at 10. 41) A converso de graus Fahrenheit para Centgrados obtida pela frmula C = 5/9 (F-32). Escreva um algoritmo que calcule e escreva uma tabela de graus centgrados em funo de graus Fahrenheit que variem de 150 at 50 de 0,5 em 0,5. -7-

Apostila de Exerccios de Lgica de Programao 42) Realizou-se uma pesquisa para determinar o ndice de mortalidade infantil em um certo perodo. Construa um algoritmo que leia o nmero de crianas nascidas no perodo e, depois, num nmero indeterminado de vezes, o sexo de uma criana morta (M ou F) e o nmero de meses de vida da criana. Como finalizador, teremos a palavra FIM no lugar do sexo da criana. Determine e imprima: A porcentagem de crianas mortas no perodo; A porcentagem de crianas mortas no perodo do sexo masculino; A porcentagem de crianas que viveram dois anos ou menos no perodo. 43) Fazer um algoritmo para calcular a mdia aritmtica de um conjunto de valores inteiros, positivos e maiores que zero. (considere o valor zero como finalizador do programa). 44) Dado um conjunto de valores inteiros e positivos, fornecidos pelo teclado, fazer um algoritmo para determinar e imprimir o menor valor do conjunto. Um valor com -1 (flag) indica fim dos dados e no devem ser considerados. 45) Construir um algoritmo para fazer a soma de vrios valores inteiros e positivos, fornecidos pelo teclado, o ltimo valor deve ser -1 (flag) e no deve ser considerado. 46) Modifique o exerccio 5 de modo que seja possvel o clculo do salrio reajustado de um nmero INDETERMINADO de funcionrios segundo o mesmo critrio de reajuste. Considere o trmino do clculo quando o usurio informar um salrio igual ou inferior a ZERO. 47) Dado um pas A, com 5.000.000 habitantes e uma taxa de crescimento de 3% ao ano, e um pas B com 7.000.000 habitantes e uma taxa de natalidade de 2% ao ano. Construa um algoritmo que calcule e imprima quanto tempo necessrio para que a populao do pas A ultrapasse a populao do pas B. 48) Em uma eleio presidencial, existem 5 candidatos. Os votos foram registrados em fichas. Cada ficha contm um dos cdigos relacionados abaixo: 1, 2, 3, 4, 5 - Voto para os respectivos candidatos 6 - Voto nulo 7 - Voto em branco Construa um algoritmo que: Leias as fichas; Calcule o total de votos de cada candidato; Calcule o total de votos nulos; Calcule o total de votos em branco; Determine o candidato vencedor; Imprima os valores dos itens anteriores.

OBS: A ltima ficha contm o valor ZERO que indica o fim do processamento e que no deve ser considerado. 49) Construa um algoritmo que permita fazer um levantamento do estoque de vinhos de uma adega, tendo como dados de entrada: tipo de vinho (branco, tinto e ros). Especifique a porcentagem de cada tipo sobre o total geral de vinhos; a quantidade de vinhos -8-

Apostila de Exerccios de Lgica de Programao desconhecida (usar como finalizador a constante FIM).

-9-

Apostila de Exerccios de Lgica de Programao 50) Construa um algoritmo que, dado um conjunto de valores inteiros e positivos, determine qual o menor e o maior valor do conjunto. O final do conjunto de valores conhecido atravs do valor 5, que no deve ser considerado. 51) Foi realizada uma pesquisa de algumas caractersticas fsicas da populao de uma certa regio, a qual coletou os seguintes dados referentes a cada habitante para serem analisados: Sexo (M ou F); Cor dos olhos (AZUIS, VERDES, CASTANHOS); Cor dos cabelos (LOUROS, CASTANHOS, PRETOS); Idade.

Faa um algoritmo que determine e escreva: A idade do habitante mais velho; A percentagem de indivduos do sexo feminino cuja idade est entre 18 e 35 anos inclusive e que tenham olhos verdes e cabelos louros.

O final do conjunto de habitantes reconhecido pelo valor 1 informada como idade. 52) Fulano tem 1,50 metros e cresce 2 centmetros por ano, enquanto Ciclano tem 1,10 metros e cresce 3 centmetros por ano. Construa um algoritmo que calcule e imprima quantos anos sero necessrios para que Ciclano seja maior que Fulano. 53) Desenvolver um programa que efetue a leitura de 10 elementos de uma matriz A do tipo vetor. Construir uma matriz B de mesmo tipo, observando a seguinte lei de formao: Se o valor do ndice for par, o valor dever ser multiplicado por 5, sendo mpar dever ser somado por 5. Ao final mostrar os contedos das duas matrizes. 54) Desenvolver um programa que efetue a leitura de 5 elementos de uma matriz A do tipo vetor. No final, apresente o total da soma de todos os elementos que sejam mpares. 55) Ler duas matrizes A e B do tipo vetor com 20 elementos. Construir uma matriz C, onde cada elemento de C a subtrao do elemento correspondente de A com B. 56) Ler 15 elementos de uma matriz A do tipo vetor. Construir uma matriz B de mesmo tipo. Observando a seguinte lei de formao: Todo elemento de B dever ser o quadrado do elemento de A correspondente. 57) Ler uma matriz A do tipo vetor com 15 elementos. Construir uma matriz B de mesmo tipo, sendo que cada elemento da matriz B seja o fatorial do elemento correspondente da matriz A. 58) Ler duas matrizes A e B do tipo vetor com 15 elementos cada. Construir uma matriz C, sendo esta a juno das duas outras matrizes. Desta forma, C dever Ter a capacidade de armazenar 50 elementos. 59) Ler 20 elementos de uma matriz A tipo vetor e construir uma matriz B de mesma dimenso com os mesmos elementos de A, sendo que estes devero estar invertidos. Ou seja, o primeiro elemento de A passa a ser o ltimo elemento de B. O segundo elemento de A passa a ser o penltimo de B e assim por diante.

- 10 -

Apostila de Exerccios de Lgica de Programao 60) Ler duas matrizes A e B, cada uma de duas dimenses com 5 linhas e 3 colunas. Construir uma matriz C de mesma dimenso, onde C formada pela soma dos elementos da matriz A com os elementos da matriz B.

61) Dada a matriz MAT abaixo:

1 1 2 3 4 O E R A

2 Q A E *

3 * E U *

4 I S T S

Qual ser a configurao de MAT depois de executado o algoritmo abaixo? Algoritmo Quebra_Cabea; Tipo M1: Matriz[1..4,1..4] de caractere; Var I, J: inteiro; AUX: caractere; MAT: M1; Incio : : Para I = 1 at 4 faa Para J = I + 1 at 4 faa AUX = MAT[ I, J ]; MAT [ I, J] = MAT [ J, I]; MAT [ J, I] = AUX; Fimpara; Fimpara; AUX = MAT[ 1,1]; MAT[1,1] = MAT[4,4]; AUX = MAT[2,2]; MAT[2,2] = MAT[3,3]; MAT[3,3] = AUX; Fim.

- 11 -

Apostila de Exerccios de Lgica de Programao 62) Escreva um algoritmo que: a) Leia uma matriz 20 x 20 de elementos reais; b) Divida cada elemento de uma linha da matriz pelo elemento da diagonal principal desta linha; c) Imprima a matriz assim modificada. 63) Escreva um algoritmo que: a) Leia uma matriz 10 x 10 de elementos inteiros; b) Calcule e imprima a soma dos elementos situados abaixo da diagonal principal da matriz, incluindo os elementos da prpria diagonal principal. 64) Dada a matriz M tridimensional, definida por: Tipo MAT = Matriz[0:1, 1:4, 1:3] de inteiro; Var M: MAT; Assuma que a matriz possui os seguintes valores: 1 0 1 1 5 2 2 -5 1 Dado o vetor VET definido por: Tipo VET = Vetor[1:4] de inteiro; Var V: VET; Assuma que o vetor possui os seguintes valores: VET 2 1 3 2 4 3 0 4 3 3 3 4 4 0 0 1 1 1 -3 2 1 2 2 3 1 0 4 1 0 0 1 1 0 -1 2 0 -1 3 3 1 2 4 1 2

Determinar os elementos: a) b) c) d) e) M[1,1,2] VET[3] VET[M[0,1,1] M[VET[4], VET[2], VET[1]] M[M[VET[4],4,3,VET[M[0,3,1]],2]

- 12 -

Apostila de Exerccios de Lgica de Programao 65) Escreva um algoritmo que dever: a) Ler um vetor de 20 posies do tipo caractere para guardar os nomes dos alunos de sua turma; b) Classifique este vetor em ordem crescente utilizando o mtodo de ordenao BUBBLE SORT. c) Imprima o vetor devidamente classificado. 66) Elabore um algoritmo para corrigir provas de mltipla escolha. Assuma que em cada prova encontraremos os seguintes dados: RM, NOME DO ALUNO, MATRIA e BIMESTRE, alm de 10 questes numeradas de 1 at 10 e que cada questo possui 5 alternativas identificadas pelas letras de a at e. Primeiramente, o algoritmo deve ler o gabarito e o nmero de provas a serem corrigidas . A seguir, os dados das provas a serem corrigidas devem ser lids. Ainda, o algoritmo dever calcular e escrever: a) O RM, NOME DO ALUNO, MATRIA, BIMESTRE e a NOTA de cada aluno (assumindo que cada questo correta vale 1 ponto). b) A porcentagem de aprovao, assumindo que a nota mnima para aprovao 7. 67) Escrever um algoritmo para ler um vetor de 25 elementos do tipo inteiro e que: a) Aps lido o vetor, verifique se existem nmeros repetidos e caso exista quais so estes nmeros e quantas vezes o mesmo foi repetido. 68) Dado um vetor de 10 posies do tipo inteiro, construa uma sub-rotina para ler uma matriz N x M do tipo inteiro. Os valores N e M devero ser lidos. 69) Faa uma sub-rotina para ler um vetor A de N elementos, e um vetor B de M elementos. Os valores M e N devero ser lidos. 70) Faa um programa para ler as informaes de N alunos, tais como: Nome, idade e sexo. Aps construa sub-rotina para: a) Emitir um relatrio ordenado crescentemente pelo Nome; b) Emitir um relatrio ordenado decrescentemente pela idade; c) Informar qual o percentual de alunos do sexo feminino. 71) Faa uma procedimento para calcular A elevado a um expoente B. 72) Faa uma procedimento para calcular o fatorial de um nmero X qualquer. 73) Faa um algoritmo com sub-rotinas necessrias para calcular e imprimir o resultado da seguinte expresso matemtica:

Y 1

X 2 2X 3 3X 4 4X 5 5X 6 nX ( n 1) ... 2! 3! 4! 5! 6! ( n 1)!

- 13 -

Apostila de Exerccios de Lgica de Programao 74) Faa uma funo que codifique uma mensagem, da seguinte forma: A por Z, B por Y, C por X e assim por diante ... Obs.: a rotina dever fazer o mesmo para letras minsculas. 75) Faa uma funo para transformar as letras de uma FRASE de minsculas para maisculas 76) Dado um vetor com 40 elementos numricos do tipo inteiro, faa uma funo que verifique se um dado valor existe neste vetor.

- 14 -

Você também pode gostar