Академический Документы
Профессиональный Документы
Культура Документы
UNILESTEMG
Fundamentos da Computação I
Histórico
Até os fins da década de setenta os computadores estavam associados à idéia de máquinas grandes, de custo ele-
vado, e inacessíveis às pessoas comuns. Embora indivíduos de maior poder aquisitivo pudessem adquiri-los, ninguém se
dispunha a ocupar um enorme espaço físico (~ 100m2), com uma máquina que pouco tinha a oferecer para o uso domésti-
co. Os chamados mainframes existiam para as empresas e exigiam profissionais altamente capacitados.
Os avanços tecnológicos levaram à criação dos circuitos integrados, mais conhecidos como chips, e através de um
processo contínuo de evolução, permitiram a criação de computadores cada vez menores e com poder de processamento
elevado. O produto mais conhecido gerado por esta tecnologia é o microcomputador (PC – Personal Computer).
Em 1981 o primeiro PC-IBM foi lançado no mercado. A partir desta data o computador passa a fazer parte de to-
dos os ambientes: fábricas, escritórios, residências, etc...
Conceitos básicos
Computador
Um computador pode ser definido como uma máquina potencialmente capaz de executar tarefas, necessitando pa-
ra isto de hardware adequado e um software compatível com o mesmo. Então podemos dizer que um computador tem
duas partes diferentes que funcionam em conjunto:
¾ Hardware, que em inglês significa equipamento pesado, é a parte física do computador. Componentes de
memória, periféricos, cabos, placas e chips fazem parte dele;
¾ Software é um programa, que, utilizando o hardware, executa as diferentes tarefas necessárias ao processa-
mento de dados. Existem softwares de vários tipos; os mais importantes são:
♦ Software Básico
♦ Software Utilitário
♦ Software Aplicativo
Software Básico
Responsável pelo gerenciamento dos componentes de hardware. Tem a função ainda de interagir entre o
usuário e o hardware para facilitar a utilização dos recursos do sistema. Estes software são os chamados
sistemas operacionais. Por exemplo: Windows 95, Windows 98, Linux, DOS.
Software Utilitário:
Se destina a realizar funções rotineiras e repetitivas requeridas pelo tipo de trabalho do usuário. Exemplos:
¾ Editores de Texto: WordPad, Word, Bloco de Notas;
¾ Planilhas: Lotus, Excel;
¾ Editores de Imagens: Paint, Corel Drawn, PhotoShop, Photo Editor;
¾ Editores de Apresentação: Power Point;
¾ Ferramentas de Internet: Internet Explorer, Netscape Navigator, WebMail, OutLook Express;
Software aplicativo:
Software desenvolvido com a função de coletar dados, armazená-los e emitir relatórios com informações que
subsidiem o usuários em sua atividade fim.
¾ Científicos - cálculos balísticos
¾ Comerciais - folhas de pagamento, contabilidade
¾ Simulação - tráfegos, grafos
¾ Controle De Processos - usinas nucleares, Petrobrás
Fluxo de processamento de dados
Para que um computador funcione são necessários no mínimo as 3 etapas destacadas a seguir:
¾ Entrada – Onde são convertidos impulsos humanos em linguagem de máquina (leitura de dados).
MEMÓRIA AUXILIAR
UCP OU CPU
¾ Saída – Onde as informações em linguagem de máquina são convertidas em sinais perceptíveis aos sensores hu-
manos (apresentação dos dados).
Periféricos
São dispositivos que são ligados ao computador. Quando esses dispositivos são ligados diretamente à placa-mãe
(dentro do gabinete do computador) dizemos que esses dispositivos são integrados. Quando os dispositivos são ligados
ao desktop (externamente) chamamos de periféricos não integrados.
Exemplos: Periféricos integrados: Disco rígido, unidade de disquetes, Modem (também pode ser externo).
Periféricos não integrados: Monitor de vídeo (integrado somente nos laptops), impressoras.
A PLACA-MÃE
Também chamada de “mainboard” (placa principal) ou “motherboard” (placa mãe), é onde se aloja o componente
principal do computador, o microprocessador, que, juntamente com os demais componentes da placa, definem a “persona-
lidade” do aparelho.
PROCESSADOR
É um componente importantíssimo da Unidade Central de Processamento (CPU ou UCP), em redor do qual se
constrói o computador. Existem diversos fabricantes; o mais conhecido é a Intel, por ser a que leva a dianteira do desen-
volvimento tecnológico e tem a maior participação nas vendas, porém existem fabricantes alternativos que podem ser uma
opção vantajosa: AMD e Cyrix oferecem componentes que rivalizam em performance e confiabilidade com os da Intel.
Upgrade
O upgrade, ou atualização, pode ser um fator determinante na escolha de um motherboard. Algumas placas vêm
configuradas para operar apenas com um único tipo de processador, com poucos slots de expansão, poucos slots de ex-
pansão para memória, deixando pouca chance de upgrade, o que no futuro pode acarretar grande decepção.
Outras placas, entretanto, são extremamente versáteis, permitindo o uso de uma ampla gama de microprocessado-
res de diversos fabricantes e têm um grande número de conectores para colocação de chips de memória. É claro que as
placas mais versáteis custam mais caro e são mais difíceis de se configurar, porém cabe ao montador escolher a que me-
lhor se adapta ao uso em vista.
Bits e Bytes
A menor unidade de informação usada pelo computador é o bit. Este tem atribuições lógicas 0 ou 1. Cada um des-
tes estados pode, internamente, ser representado por meios eletro-magnéticos (negativo/positivo, ligado/desligado, etc).
CD-ROM
Os CD-ROMs prestam-se ao armazenamento de grandes volumes de informação, tais como enciclopédias. A tec-
nologia utilizada nos acionadores encontrados nos microcomputadores ainda não permite sua regravação devido ao alto
custo envolvido. Os acionadores ou drives de discos CD-ROM podem reproduzir normalmente os CDs de áudio (o que
significa que podemos ouvir músicas enquanto trabalhamos em nossos micros).
DVD – Digital Versatile (Video) Disc
Os DVDs são a última tecnologia em armazenamento de dados. Sua capacidade chega a aproximadamente 4,7
Gb. Tem uma característica importante, que é a regravação. Tendem a substituir as fitas de vídeo. É o futuro dos discos
óticos digitais, a evolução da tecnologia Compact Disc. Assim como o CD (áudio) e o CD-ROM, o sistema DVD é com-
posto de um CD player para ser ligado a TV, ou um DVD-ROM drive para uso em computadores. Além dos discos terem
o mesmo tamanho e espessura dos atuais CDs, o DVD mais simples terá capacidade para 4,7 Gb (capacidade equivalente
a mais do que 7 CD-ROMs), que é suficiente para conter mais de 2 horas de filme com alta qualidade de som e de ima-
gem, além de áudio em 3 idiomas distintos e 4 conjuntos diferentes de legendas.
O que é URL?
É o endereço da página, que permite aos computadores encontrarem o que o usuário busca, de maneira uniforme.
Veja alguns exemplos de URL:
www.ufac.br
www.mama.org.br
www.uol.com.br
O que é Site?
Um site é um conjunto de informações públicas armazenado num computador servidor da Internet. Qualquer pes-
soa pode solicitar estas informações ao servidor sempre que quiser. Existem sites de notícias, de empresas, de revistas, de
organizações, de governos, etc. Imagine a Internet como uma grande biblioteca e os sites como livros, que apesar de esta-
rem espalhados pelo mundo podem ser abertos na tela do computador a qualquer momento.
Exemplos de Site:
& Museu de Arte do Rio de Janeiro (Ex: www. mamrio.com.br)
& Jornal (Ex: www.jornalatribuna.com.br)
& Governo (Ex: www.ac.gov.br)
& Supermercado (Ex: www.paodeacucar.com.br)
Fundamentos da Computação I 2o Semestre / 2006
7
& Emissora de TV (Ex: www.globo.com.br)
& Livraria (Ex: www.livrariasaraiva.com.br)
O que é e-mail?
E-mail ou correio eletrônico é provavelmente a ferramenta mais utilizada da internet. Há hoje centenas de milhões
de pessoas usando programas que permitem o envio e recebimento de "cartas eletrônicas" através de computadores conec-
tados à internet. Diariamente são enviados cerca de um bilhão de e-mails em todo o mundo, e este número deve subir cada
vez mais.
Exemplo: infocidadania@pop.com.br
O que é download?
DOWNLOAD = Descarregar, baixar um arquivo (textos, imagens, músicas, filmes). Fazer o download de algo
significa fazer uma cópia de um arquivo ou de um programa em seu próprio computador.
Computação
Desde o inicio da existência do homem ele tem procurado criar máquinas que o auxiliem em seus trabalhos, dimi-
nuindo esforços e economizando tempo. Dentre essas máquinas, o computador tem se mostrado uma das mais versáteis,
rápidas e seguras.
O computador é capaz de auxiliar em qualquer coisa que lhe seja solicitada, é consciente, trabalhador e possui
muita energia, mas não tem iniciativa, nenhuma independência, não é criativo e por isso precisa receber informações nos
mínimos detalhes.
A finalidade de um computador é receber, manipular e armazenar dados. Se visto somente como um gabinete
composto por circuitos eletrônicos, cabos e fontes de alimentação, certamente ele não tem utilidade alguma. O computa-
dor só consegue armazenar dados em discos, imprimir relatórios, gerar gráficos, realizar cálculos, entre outras funções,
por meio de programas. Portanto sua tarefa principal é realizar a tarefa de processamento de dados, isto é, receber dados
por um dispositivo de entrada (por exemplo: teclado, mouse, scanner, entre outros), realizar operações com estes dados e
gerar uma resposta que será expressa em um dispositivo de saída (por exemplo: monitor de vídeo, impressora, etc.).
Algoritmos
A palavra algoritmo, à primeira vista, parece-nos estranha. Embora possua designação desconhecida, fazemos uso
constantemente de algoritmos em nosso cotidiano: a maneira como uma pessoa toma banho é um algoritmo. Outros algo-
ritmos freqüentemente encontrados são:
• Instruções para se utilizar um aparelho eletrodoméstico;
• Uma receita para preparo de algum prato;
• Guia de preenchimento para declaração do imposto de renda;
• A maneira como as contas de água, luz e telefone são calculadas mensalmente; etc.
São vários os conceitos para algoritmo. Escolhemos alguns para serem apresentados aqui:
“Um conjunto finito de regras que provê uma seqüência de operações para resolver um tipo de problema específico”
[KNUTH]
“Seqüência ordenada, e não ambígua, de passos que levam à solução de um dado problema”
[TREMBLAY]
“Processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e
sem restrições, as regras formais para a obtenção do resultado ou da solução do problema”
[AURÉLIO]
Constantes
Uma informação é dita constante quando não sofre nenhuma alteração de seu valor no decorrer do tempo. Para di-
ferenciar informações constantes de outros tipos de informação, iremos delimitá-la por um par de aspas (‘ ‘).
Por exemplo: ‘5’, ‘Não corra’ , ‘Masculino’, ‘2527’.
Variáveis
Uma informação é classificada como variável quando tem a possibilidade de ser alterado o seu valor em algum
instante do tempo. Por exemplo. A quantidade de funcionários de uma empresa.
O peso e idade de um funcionário.
O computador possui uma área de armazenamento conhecida como memória. Todas as informações existentes no
computador estão ou na memória primária (memória RAM), ou na memória secundária (discos, fitas, CD-ROM etc). Nós
iremos trabalhar, neste ano, somente com a memória primária, especificamente com as informações armazenadas na RAM
(memória de acesso aleatório).
A memória do computador pode ser entendida como uma seqüência finita de caixas, que num dado momento,
guardam algum tipo de informação, como número, uma letra, uma palavra, uma frase etc., não importa, basta saber que lá
sempre existe alguma informação.
O computador, para poder trabalhar como alguma destas informações, precisa saber onde, na memória, o dado es-
tá localizado. Fisicamente, cada caixa, ou cada posição de memória, possui um endereço, ou seja, um número, que indica
onde cada informação está localizada. Este número é representado através da notação hexadecimal, tendo o tamanho de
quatro, ou mais bytes. Abaixo segue alguns exemplos:
Endereço Físico Informação
3000: B712 ‘João’
2000: 12EC 12345
3000: 0004 ‘H’
Como pode ser observado, o endereçamento das posições de memória através de números hexadecimais é perfei-
tamente compreendido pela máquina, mas para nós humanos torna-se uma tarefa complicada. Pensando nisto, as lingua-
gens de computador facilitaram o manuseio, por parte dos usuários, das posições de memória da máquina, permitindo
que, ao invés de trabalhar diretamente com os números hexadecimais, fosse possível dar nomes diferentes a cada posição
de memória. Tais nomes seriam de livre escolha do usuário. Com este recurso, os usuários ficaram livres dos endereços
físicos (números hexadecimais) e passaram a trabalhar com endereços lógicos (nomes dados pelos próprios usuários).
Desta forma, o Exemplo acima, poderia ser alterado para ter o seguinte aspecto:
Comando de Atribuição
Um comando de atribuição permite-nos fornecer um valor a uma certa variável (guardar um objeto numa certa
gaveta), onde o tipo dessa informação deve ser compatível com o tipo da variável, isto é, somente podemos atribuir um
valor lógico a uma variável capaz de comportá-lo, ou seja, uma variável declarada do tipo lógico. O comando de atribui-
ção possui a seguinte sintaxe: Identificador := expressão;
Exemplo: VAR A, B : lógico;
X : Inteiro;
A := verdadeiro;
X := 8 + 13 div 5;
B := 5 = 3;
Comando de Entrada
O comando de entrada de dados possui a seguinte sintaxe: leia (< variável>);
Exemplo: leia (x);
leia (A, IDADE, NOTA);
Comando de Saída
O comando de saída de dados obedece a seguinte sintaxe: escreva (<variável>) ;
escreva (<constante>) ;
escreva (<expressão>) ;
Exemplo: escreva (Y) ;
escreva (B, IDADE, MEDIA) ;
escreva (“Bom Dia“) ;
escreva (“Você pesa “ , X * 2, “ quilos“) ;
Expressões Aritméticas
Denominamos expressão aritmética aquela cujos operadores são aritméticos e cujos operandos são constantes e/ou
variáveis do tipo numérico (inteiro e /ou real). Os operadores aritméticos são:
+ adição;
- subtração;
* multiplicação;
/ divisão;
SQR (quadrado) potenciação ( SQR(5) é igual a 52= 25)
EXP potenciação geral ( EXP(2,3) é igual a 23 = 8)
SQRT (raiz quadrada) radiciação (SQRT(9) é igual a 3;
MOD (resto da divisão inteira) Exemplo: 9 mod 4 Æ 1
DIV (quociente da divisão inteira) Exemplo: 27 div 5 Æ 5
Devemos obedecer à prioridade entre as operações, conforme a seguir : 1º potenciação, radiciação.
2º multiplicação, divisão.
3º adição, subtração.
Exemplo. Qual é o resultado da expressão abaixo:
10 + 3 * 30 / 9 + SQRT(9) - SQR(2)+2
10 + 90/9 + 3 - 4+2
23 – 6 Î 17
O operador “+” caso seja usado entre variáveis do tipo CHAR ou STRING, causará uma ação conhecida por con-
catenação, ou seja, juntar os caracteres ou STRING’s usados na operação em uma só STRING.
Exemplo: ALGORITMO Concatena;
Var Letra1, Letra2 : CARACTER;
Nome1, Nome2, Nome : CADEIA;
Inicio
Letra1 := ‘D’;
Letra2 := ‘a’;
Nome1 := ‘João’;
Nome2 := ‘Silva’;
Nome := Nome1 + Letra1 + Letra2 + Nome2;
FIMALGORITMO.
As instruções acima resultarão no armazenamento do Nome “João Da Silva” na variável rotulada de “Nome”.
1) Elabore um algoritmo que leia dois números inteiros quaisquer, informados pelo usuário via teclado, e que calcule e
escreva a soma e o produto dos mesmos.
Algoritmo Exerc01;
Var N1, N2, SOMA : inteiro;
PROD : real;
Inicio
Escreva (‘Digite o primeiro número: ’);
Leia (N1);
Escreva (‘Digite o segundo número: ’);
Leia (N2);
SOMA := N1 + N2;
PROD := N1 * N2;
Escreva (‘ A soma dos números é: ’, SOMA);
Escreva (‘ O produto dos números é: ’, PROD);
fim-algoritmo.
2) Elabore um Algoritmo que leia as medidas dos lados A e B de um retângulo qualquer e que calcule e escreva a sua
área..
Algoritmo Exerc02;
DIAG2 = A2 + B2
DIAG DIAG= SQRT(A2 + B2)
Algoritmo Exerc03;
Var LA , LB, DIAG : real;
Inicio
escreva ( ‘ Digite o valor do lado “A” do retângulo: ’ );
leia ( LA );
escreva ( ‘ Digite o valor do seu lado “B” : ’ );
leia ( LB );
DIAG := SQRT(SQR( LA) + SQR( LB ));
escreva ( ‘ O valor da diagonal do retângulo é: ’ , DIAG );
fim-algoritmo.
4) Elabore um Algoritmo que calcule e escreva o volume de uma esfera de raio R que será informado lado pelo usuário.
Algoritmo Exerc04;
Var R , V : real;
Inicio
escreva (‘Digite o valor do raio: ’);
leia (R);
V := ( 4 / 3 ) * 3.1415 * (SQR(R) * R ) ;
escreva (‘ O valor do volume é : ’ , V );
fim-algoritmo.
a) A1BC b) ‘XA1D’
c) XA,1d d) 198aberto
e) TO.inicio f) inicio fim
g) n h) X_1
i) A-6 j) #casa
Expressões Lógicas
Usamos os operadores relacionais para realizar comparações entre dois valores de mesmo tipo primitivo. Tais va-
lores são representados por constantes, variáveis ou expressões aritméticas.
Os operadores relacionais são: = igual
> maior
< menor
>= maior ou igual
<= menor ou igual
<> diferente
O resultado obtido por uma relação é sempre um valor lógico (V ou F).
Exemplos: a) 2 * 4 = 24/3 V (Verdadeiro)
b) SQRT(64) = SQR(2) * 2 F (Falso)
Operadores Lógicos
Utilizaremos três conectivos básicos para a formação de novas proposições a partir de outras já conhecidas. Os
operadores lógicos são:
E - Conjunção
Ou - Disjunção
não - Negação
AeB
Prioridades
A ou B
Se (condição) então
inicio
comando1;
fim
Fundamentos da Computação I 2o Semestre / 2006
19
Senão
inicio
comando2;
fim;
ou caso de um grupo de comandos
se (condição) então
inicio
comando 1;
...
comando n;
fim
senão
inicio
comando A;
comando B;
fim;
Algoritmo PesoIdeal2;
Var H , PI : real;
SEXO: caracter;
inicio
escreva ( ‘Digite a sua altura : ’ );
leia ( H );
escreva ( ‘Digite o seu sexo (M / F): ’ );
leia ( SEXO );
se ( SEXO = ‘m’ ) ou ( SEXO = ‘M’ ) então
inicio
PI := ( 72.7 * H ) - 58 ;
escreva ( ‘ O seu peso ideal é : ’ , PI , ‘ Kg .’ );
fim;
senão
inicio
se ( SEXO = ‘f’ ) ou ( SEXO = ‘F’ ) então
inicio
PI := ( 62.1 * H ) - 44.7;
escreva ( ‘ O seu peso ideal é : ’ , PI , ‘ Kg .’ );
fim;
senão
inicio
escreva ( ‘ Sexo Inválido!’ );
fim;
fim;
fim-algoritmo.
4) Elabore um algoritmo que leia quatro notas: N1, N2, N3 e N4 de um aluno e que calcule e escreva a mensagem
“APROVADO” para quem obteve a média maior ou igual a 60, caso contrário, a mensagem deve ser
“REPROVADO”.
Algoritmo Notas;
Var N1 , N2, N3 , N4 ,MEDIA : real;
NOME : caracter;
inicio
escreva ( ‘ Digite a primeira nota do aluno: ’ );
leia ( N1 );
escreva ( ‘ Digite a segunda nota : ’ );
leia ( N2 );
escreva ( ‘ Digite a terceira nota : ’ );
leia ( N3 );
escreva ( ‘ Digite a quarta nota : ’ );
leia ( N4 );
escreva ( ‘ Digite o nome do aluno : ’ );
leia ( NOME );
MEDIA := ( N1+N2+N3+N4 ) / 4 ;
se (MEDIA >= 60) então
inicio
Fundamentos da Computação I 2o Semestre / 2006
21
escreva ( NOME., ‘ Aprovado !!!’ );
fim;
senão
inicio
escreva ( NOME., ‘ Reprovado !!!’ );
fim;
fim-algoritmo.
5) Elabore um algoritmo que leia três números quaisquer NA, NB e NC, e que determine qual dos três é o maior.
Algoritmo Numeros;
var NA , NB , NC: real;
inicio
escreva ( ‘ Digite o primeiro número : ’ );
leia ( NA );
escreva ( ‘ Digite o segundo número: ’ );
leia ( NB );
escreva ( ‘ Digite o terceiro número : ’ );
leia ( NC );
se ( NA > NB ) e ( NA > NC ) então
inicio
escreva (‘ O maior número é: ’ , NA );
fim
senão
inicio
se ( NB > NA ) e ( NB > NC ) então
inicio
escreva ( ‘ O maior número é: ’ , NB );
fim
senão
inicio
escreva ( ‘ O maior número é: ’ , NC );
fim;
fim;
fim-algoritmo.
6) Elabore um Algoritmo que leia os coeficientes A, B e C de uma equação do 2º grau e que calcule e escreva as suas
raízes reais.
var A , B , C ,DELTA ,R1 , R2: real ;
inicio
escreva (‘Digite o número “A”: ’);
leia (A):
escreva (‘Digite o número “B”: ’);
leia (B);
escreva (‘ Digite o número “C”: ’);
leia (C);
DELTA := SQR(B) - 4 *A* C ;
se ( DELTA < 0 ) então
inicio
escreva ( ‘ Não existem raízes reais ’ );
fim;
senão
inicio
se ( DELTA = 0 ) então
início
R1 := - B / ( 2 * A );
15) Elabore uma função que, dada a idade de um nadador, classifique-o em uma das seguintes categorias:
• Infantil A = Até 8 anos
• Infantil B = De 9 até 11 anos
• Juvenil A = De 12 até 14 anos
• Juvenil B = De 15 até 18 anos
• Adulto = De 19 anos acima.
16) Para o programa abaixo identifique as entradas, as saídas e o que o programa faz:
Program Salario;
Uses Crt;
Var SB,SM,VH,INSS,IR,SL,QSM:Real;
NH,ND:Integer;
Begin
ClrScr;
WriteLn('Exemplo Estrutura de Decisão');
WriteLn;
Write('Qual o valor do Salário Mínimo? ');
ReadLn(SM);
WriteLn;
Write('Numero de Dependentes: ');
ReadLn(ND);
Write('Valor por Hora Trabalhada: ');
ReadLn(VH);
Write('Numero de Horas Trabalhadas no Mes: ');
ReadLn(NH);
SB := ND * 35.30 + NH * VH;
WriteLn('Valor do Salário Bruto: ',SB:8:2);
QSM := SB / SM;
WriteLn('Qtde de Salários Mínimos: ',QSM:8:2);
IF QSM <= 7 THEN
INSS := SB * 0.075
ELSE
IF QSM <= 10 THEN
INSS := SB * 0.1
ELSE
INSS := SB * 0.11;
WriteLn('Valor do INSS: ',INSS:8:2);
IF QSM <= 8 THEN
IR := 0
ELSE
IF QSM <= 15 THEN
IR := (SB-INSS-90*ND)*0.15
ELSE
IR := (SB-INSS-90*ND)*0.27;
WriteLn('Valor do IR: ',IR:8:2);
SL := SB - INSS - IR;
WriteLn('Seu Salário Liquido e: ',SL:8:2);
ReadKey;
End.
17) Considere o programa acima, para as entradas listadas a seguir indique quais serão os valores de saída.
a) SM = 300 b) SM = 300 c) SM = 300
ND = 5 ND = 1 ND = 3
VH = 22 VH = 10 VH = 14
NH = 200 NH = 200 NH = 200
18) Uma loja tem uma promoção que funciona da seguinte maneira: Compras no valor de
¾ até 100 reais terão desconto de 5%
¾ acima de 100 até 250 reais terão desconto de 10%
¾ acima de 250 reais terão desconto de 15%
Elabore um algoritmo que a partir do total da compra informe o valor do desconto dado ao cliente e quanto ele deverá
pagar.
19) Elabore um algoritmo que leia o peso e a altura de um a pessoa e que calcule e informe seu IMC (Índice de Massa
Corporal) conforme a fórmula Î IMC = peso / altura2 E que em seguida informe, de acordo com o valor do IMC, a
Situação da Pessoa Até 20 Magro
Acima de 20 até 25 Normal
Acima de 25 até 30 Sobrepeso
Acima de 30 Obesidade
20) Uma empresa concederá um aumento de salário aos seus funcionários, variável de acordo com o cargo, conforme a
tabela abaixo. Elabore um algoritmo que receba o salário e o cargo de um funcionário e calcule escreva o novo salá-
rio. Se o cargo do funcionário não estiver na tabela, ele deverá, então, receber 40% de aumento.
Cargo Percentual
Gerente 10%
Engenheiro 20%
Técnico 30%
21) Escrever um algoritmos que obtenha as 3 notas de um aluno nas avaliações e a nota de exercícios que fazem parte da
avaliação. Calcular a média de aproveitamento, usando a fórmula: MA = (NotaAval1 + NotaAval2 * 2 + NotaAval3 *
3 + NotaExerc)/7. A atribuição de conceitos obedece a tabela:
Média de Aproveitamento Conceito
>= 9,0 A
>= 7,5 e < 9,0 B
>= 6,0 e < 7,5 C
< 6,0 D
O algoritmo deve escrever a média de aproveitamento, o conceito correspondente e a mensagem: APROVADO se o
conceito for A,B ou C e REPROVADO se o conceito for D.
22) Escreva um algoritmo que recebe os coeficientes a, b e c de um polinômio de segundo grau ax2 + bx + c e determina
quando este polinômio é igual a zero. Tome cuidado para calcular tudo corretamente e avise o usuário se houverem
situações de erro.
23) Faça um algoritmo que recebe um ano e verifica se este ano era bissexto, imprimindo uma mensagem. As regras
(pouco conhecidas) para um ano ser bissexto são:
i.Ele deve ser divisível por quatro.
ii.Se for um ano terminado em 00, deve ser também divisível por 400.
24) Elabore um algoritmo que implemente uma calculadora com as funções de somar, subtrair, multiplicar e dividir. O
programa deverá pedir ao utilizador os dois operandos, e perguntar qual a operação pretendida.
25) Elabore um algoritmo que dadas três temperaturas tiradas numa cidade ao longo do dia, indique qual a máxima e qual
a mínima.
26) Numa empresa, os funcionários são pagos a R$ 25,00/hora. Pretende-se um algoritmo que a partir da leitura do núme-
ro de horas de trabalho de um empregado em cada um dos 5 dias da semana. Considerando os descontos de 15% para
o INSS e 10% de IR, calcule os vencimentos bruto e líquido do funcionário, bem como os respectivos descontos.
27) Elabore um Algoritmo que calcule o vencimento de um funcionário, sabendo que este é calculado adicionando a um
dado vencimento base, as seguintes parcelas:
1% por cada ano de idade superior a 25 anos.
3% por cada ano de casa.
5% por cada filho ou outro dependente.
28) Construa um programa que leia 3 ângulos de um triângulo. Analise esses números conforme as especificações abaixo
e faça o que se pede:
a. Verificar se um deles é um ângulo de 900. Caso isso ocorra esse tiriângulo é um triângulo retângulo. Exiba essa
informação e calcule a soma dos quadrados (p. ex. S= CO2 + CA2). dos catetos desse triângulo. Será necessário
obter o valor do cateto oposto e do cateto adjacente.
Fundamentos da Computação I 2o Semestre / 2006
27
b. Quando não existir nenhum ângulo igual a 90, verificar se pelo menos dois ângulos são iguais. Caso
isso ocorra escreva a soma dos mesmos.
c. Caso não ocorra nenhuma das situações acima calcule a área deste triângulo. Caso necessário solicite mais
dados . Área do triângulo é (base * altura )/2
29) Construa um programa que leia dois números inteiros. Com esses números faça o que se pede:
a. Caso os dois sejam pares calcule e escreva a soma do quadrado desses números (p. ex. S= A2 + B2). Escrever o
resultado.
b. Caso o primeiro número seja par e o segundo impar deverá ser calculado a multiplicação desses números.
Escrever o resultado.
c. Caso o primeiro número seja impar e o segundo par deverá ser calculado a subtração desses números.
d. Em qualquer outra situação deverá ser a soma dos cubos (p. ex. S= A3 + B3). Escrever o resultado.
30) Construa um programa que leia 4 lados de um quadrilátero (figura geométrica de 4 lados). Analise se este quadrilátero
é um retângulo, um quadrado ou penas um quadrilátero sem classificação especial. Caso seja um quadrado calcular e
escrever a área (lado*lado). Caso seja um retângulo calcular e escrever o perímetro (soma de todos os lados). OBS:
considere que a ordem da informação dos lados poderá ser qualquer uma, logo terá que testar todas as possibilidades.
31) Construa um programa que leia o raio de três círculos. Analise esses dados conforme as especificações abaixo e faça o
que se pede:
a. Verificar se os círculos têm o mesmo raio. Caso isso ocorra calcular e
escrever o diâmetro desses círculos. Veja a figura ao lado. Raio
b. Quando os dois primeiros círculos tiverem o mesmo raio e a terceiro tiver
raio diferente desses dois primeiros, calcular e escrever o valor do
perímetro destes 2 primeiros círculos. Perímetro de um círculo é dado por:
Perímetro = π * Diâmetro
c. Caso não ocorra nenhuma das situações acima calcule a área de cada
círculo. A área de um círculo é dada por : Área= π R2 Diâmetro
32) Construa um programa que leia 3 ângulos de um triângulo. Analise esses números conforme as especificações abaixo
e faça o que se pede:
a. Verificar se todos os ângulos são iguais. Caso isso ocorra escreva a soma dos mesmos.
b. Quando eles não forem todos iguais, verificar se um deles é um ângulo de 900. Caso isso ocorra esse triângulo é
um triângulo retângulo. Exiba essa informação.
c. Caso não ocorra nenhuma das situações acima calcule a área deste triângulo. Caso necessário solicite mais dados.
Área do triângulo é (base * altura )/2
4) Elabore um Algoritmo que imprima todos os números pares existentes entre N1 e N2, onde N1 e N2 são números
naturais fornecidos pelo usuário.
Algoritmo Exemplo4;
Var N1, N2, N: inteiro;
inicio
escreva (‘ Define os números pares entre dois números informados ‘);
escreva (‘ Digite N1 ‘);
leia (N1);
escreva (‘ Digite N2 ‘);
leia (N2);
N := N1;
enquanto (N<= N2) faça
inicio
se (N mod 2) então
inicio
escreva (N);
fim;
N := N + 1;
fim-enquanto;
fim-algoritmo.
E se o primeiro número (N1) for maior que o segundo (N2)?
5) Construir um programa que leia a idade de 10 pessoas e conte quantas possuem mais de 50 anos. Exibir o resultado.
Algoritmo Pessoas;
Fundamentos da Computação I 2o Semestre / 2006
31
Var x, Id, Qtd50, QtdP : inteiro;
inicio
Qtd50 := 0;
x := 1;
enquanto (x <= 10) faca
inicio
escreva(‘Informe a idade da ‘, x , ‘ ª pessoa’);
leia (Id);
Se (Id > 50) então
Inicio
Qtd50 := Qtd50 +1;
Fim;
x := x + 1;
fim-enquanto;
escreva ( ‘Existem’, Qtd50, ‘pessoas com idade maior que 50 anos’);
fimalgoritmo.
6) Elabore um Algoritmo que leia o nome e o salário bruto de 50 funcionários. O Algoritmo deverá calcular o salário
líquido (usando a fórmula SALÁRIO-LÍQUIDO = SALÁRIO-BRUTO * 0,80). O Algoritmo deve escrever o nome e
o salário líquido de todos os funcionários que possuem salário líquido superior a R$600,00.
Algoritmo Funcionarios;
Var X: inteiro;
NOME: caracter;
SALB, SALLIQ: real;
inicio
X := 1;
enquanto (X <= 50) faça
inicio
escreva (‘Digite o nome: ‘);
leia (NOME);
escreva (‘Digite o salário bruto: ‘);
leia (SALB);
SALLIQ := SALB * 0.80 ;
se (SALLIQ > 600) então
inicio
escreva (‘O funcionário: ‘, NOME, ‘ tem o salário líquido igual a : ‘, SALLIQ);
fim;
X := X + 1;
fim-enquanto;
fim-algoritmo.
7) Elabore um algoritmo para escrever todos os anos bissextos que ocorreram a partir do ano zero, sabendo que este ano
é bissexto.
Algoritmo AnoBissexto;
Var ANO: inteiro;
inicio
ANO := 0;
enquanto (ANO < = 2006) faça
inicio
escreva ( ‘ O ano ‘, ANO, ‘ é bissexto ‘);
ANO := ANO + 4;
fim-enquanto;
fim-algoritmo.
8) Elabore um algoritmo que leia o nome e a população de 10 cidades e calcule e escreva a população total das cidades.
Algoritmo Cidades;
Var Nome : caracter;
Fundamentos da Computação I 2o Semestre / 2006
32
x, Pop, SomaPop : inteiro;
inicio
SomaPop := 0;
x := 1;
enquanto (x <= 10) faca
inicio
escreva(‘Informe o Nome da ‘, x , ‘ ª cidade’);
leia (Nome);
escreva(‘Informe a população da ‘, x , ‘ ª cidade’);
leia (Pop);
SomaPop := SomaPop + Pop;
x := x + 1;
fim-enquanto;
escreva ( ‘O população total das cidades é: ’, SomaPop);
fimalgoritmo.
9) Elabore um algoritmo que leia o nome e a altura de um grupo de 15 pessoas e que calcule e escreva a altura média.
Algoritmo Pessoas;
Var Nome : caracter;
x : inteiro;
Alt, SomaAlt, MediaAlt : real;
inicio
SomaAlt := 0;
x := 1;
enquanto (x <= 15) faca
inicio
escreva(‘Informe o Nome da ‘, x , ‘ ª pessoa’);
leia (Nome);
escreva(‘Informe a altura da ‘, x , ‘ ª pessoa’);
leia (Alt);
SomaAlt := SomaAlt + Alt;
x := x + 1;
fim-enquanto;
MediaAlt := SomaAlt/15;
escreva ( ‘A idade média das pessoas é: ’, MediaAlt);
fimalgoritmo.
10) Elabore um algoritmo que leia o sexo e a altura de um grupo de 20 pessoas e calcule a média das alturas dos homens e
das mulheres.
Algoritmo AlturaPessoas;
Var X, CONTH, CONTM: inteiro;
SEXO: caracter;
ALTURA, MEDIAALTH,MEDIAALTM, SOMAALTH, SOMAALTM: real;
inicio
CONTH := 0;
CONTM := 0;
SOMAALTH := 0;
SOMAALTM := 0;
X := 1;
enquanto (X <= 20) faça
inicio
escreva (‘Digite SEXO (H, M) : ‘);
leia (SEXO);
escreva (‘ Digite altura : ‘);
leia (ALTURA);
se (SEXO = ‘M’) então
inicio
Referências Bibliográficas
Saliba, Walter Luiz Caram. Técnicas de Programação - Uma abordagem Estruturada. Editora Makron Books.
São Paulo, 1992.
Forbellone, André Luiz Villar. Lógica de Programação - A construção de Algoritmos e Estruturas de Dados.
Editora Makron Books. São Paulo, 1993.