Programação de Computadores Unidade I
Programação de Computadores Unidade I
Programação de Computadores Unidade I
Computadores
Unidade I
Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida por qualquer forma e/ou
quaisquer meios (eletrnico, incluindo fotocpia e gravao) ou arquivada em qualquer sistema ou banco de dados sem
permisso escrita da Universidade Paulista.
Plano de Ensino, Objetivos, Contedos Gerais
Programao de computadores
Plano de ensino
OBJETIVOS GERAIS
Habilitlo a enfrentar a formulao lgica de problemas com os quais ter de lidar em sua
vida profissional.
OBJETIVOS ESPECFICOS
Habilitar o aluno a formular um mtodo para soluo de um problema numrico, detalhar essa
soluo na forma de um algoritmo vivel, apresentar esse algoritmo na forma de diagrama de
blocos, linguagem algortmica e, finalmente, codificado em uma linguagem estruturada.
CONTEDO PROGRAMTICO
3
Unidade I
Operadores: DIV e MOD, operadores aritmticos e operadores lgicos (e, ou, no).
Programa:
Nome
Declarao de variveis
Incio
Comandos: leia, escreva, atribuies, desvios condicionais, estruturas de repetio etc.
Fim
{instrues 1};
SENO
{instrues 2};
FIM_SE;
{instrues};
FIM_ENQUANTO;
BIBLIOGRAFIA
Unidade I
Introduo
Computadores
Processador.
Programas.
5
Unidade I
6
Programao de computadores
Nveis de linguagem
No nvel seguinte, temos a Linguagem de Mquina, quase impossvel de ser lida pelos seres humanos.
7
Unidade I
VARIVEIS
As variveis podem guardar nmeros (inteiros ou reais), nomes, textos etc. Em Pascal, por exemplo,
os tipos mais importantes de variveis so os citados na tabela abaixo.
Tipo Tamanho
boolean 1 bit
byte 8 bits = 1 byte
integer 16 bits = 2 bytes
word 16 bits = 2 bytes
longint 32 bits = 4 bytes
real 48 bits = 6 bytes
double 64 bits = 8 bytes
extended 80 bits = 10 bytes
char 8 bits = 1 byte
string 256 bytes
Varivel do tipo booleana (boolean): usada para guardar e manipular informao do tipo true or
false (verdadeiro ou falso). Isto um bit de informao.
Varivel do tipo inteiro (integer): guarda nmeros inteiros. Usada, muitas vezes, para situaes de
contagens: nmero de peas produzidas em uma indstria, nmero de pessoas em uma amostra, nmero
de acessos a um site no perodo de 24 horas, nmero de dias teis em um ms etc. Byte e word guardam
apenas nmeros positivos, enquanto que integer e longint podem guardar nmeros positivos e negativos.
Varivel do tipo real (real, float): guarda nmeros com vrgulas flutuantes (por exemplo:
3,1415926535). Usada para situaes que necessitam de nmeros fracionrios: tempo para a produo
de um lote de mercadorias, comprimento de uma sala, raiz quadrada de 2, a altura de um prdio etc.
Nesse tipo, tambm temos as variveis double e extended.
Variveis dos tipos char e string: guardam textos. Char utilizado para caracteres simples,
enquanto que a string pode guardar at 255 caracteres.
8
Programao de computadores
Em PASCAL, declaramos variveis com a instruo VAR, seguida pela(s) varivel(is) com seus tipos.
Isso deve ser feito antes do incio do programa, mas depois da declarao do nome do programa.
Em Pascal:
Program VarExample;
VAR i: integer;
a: real;
b: word;
begin
writeln(Como voc vai?);
end.
Programa VarExample;
Var
i: inteiro;
a: real;
b: texto;
inicio
escreva (Como voc vai?);
fim.
Se precisarmos definir mais variveis do mesmo tipo, podemos fazer isso com vrias instrues
separadas ou em apenas uma linha. Em qualquer caso, no devemos escrever VAR novamente.
Importante: a instruo VAR no atribui um valor varivel, apenas reserva espao para ela na
memria. Observao: em muitas linguagens de programao possvel atribuir um valor a uma varivel
no momento da declarao.
Comando de Atribuio
Podemos atribuir um valor inicial a uma varivel. Esse valor pode ser alterado durante a execuo do
programa. Dar um novo valor a uma varivel uma atribuio. Em Portugus Estruturado (ou Portugol),
9
Unidade I
a atribuio realizada com o smbolo de igual (=). Em PASCAL, isso feito com o seguinte operador:
No lado esquerdo do operador colocamos a varivel e, no lado direito, colocamos o novo valor ou
expresso que produzir o novo valor. Exemplos:
Essa equao no possui soluo matemtica para t, pois no h um nmero real que seja igual a
ele mesmo somado com 3.
Em linguagens de programao, devemos ler a equao anterior como o novo valor de t o valor
antigo de t somado com 3 (ou seja, t recebe t mais 3).
Por essa razo, em PASCAL o smbolo :=, e no apenas =, foi considerado como o operador de
atribuio. Na maioria de outras linguagens de programao, inclusive em Portugus Estruturado, o
smbolo = usado como operador de atribuio.
Constantes
As constantes diferem das variveis por no poderem sofrer uma atribuio durante o decorrer de
um programa. Uma vez recebido um valor, ele no pode ser alterado. A vantagem que podemos definir
um valor num stio do programa e, a partir do momento que foi definido, pode ser utilizado assim que
seja necessrio em qualquer parte do programa.
A declarao das constantes feita de maneira similar s variveis, mas com a palavra CONST.
Vejamos um exemplo a seguir.
10
Programao de computadores
Em Pascal:
PROGRAM ConstExample;
VAR angle: real;
tan: real;
CONST PI = 3.1415926;
begin
angle := 45.0;
angle := PI*angle/180.0;
tan := Sin(angle)/Cos(angle);
end.
Em Portugus Estruturado:
Programa ConstExample;
Var angle: real;
tan: real;
CONST PI = 3.1415926;
inicio
angle = 45.0;
angle = PI*angle/180.0;
tan = Sin(angle)/C;
fim.
Exemplo
Valor de n1 Valor de n2
depois da execuo da linha depois da execuo da linha
PROGRAM Assign;
VAR n1: real;
n2: real;
CONST K = 6.1;
begin
n1 := 1;
n2 := K; 1.0
n1 := n1 + n2 + K; 1.0 6.1
Observao 1. Podemos classificar, de forma mais resumida, as variveis e as constantes nos quatro
tipos bsicos mostrados no quadro a seguir (inteiro, real, caractere e lgico).
11
Unidade I
TIPO Descrio
Uma varivel do tipo caractere ou string pode alocar at 255 posies de memria. Para definir
variveis do tipo STRING (Cadeia) com menos de 255 caracteres, inserir, aps STRING (Cadeia), o nmero
de caracteres desejados entre colchetes ( [ ] ).
Exemplo:
Programa Variavel_String
Var
Nome: CADEIA[65];
Inicio
<comandos>
Fim.
No exemplo anterior, o espao ocupado por uma varivel STRING (Cadeia) passa de 255 bytes para
somente 65 bytes.
ALGORITMOS
Algoritmo: procedimento definido que recebe um ou mais valores (dados de entrada) e gera um
ou mais valores (informaes de sada). O algoritmo apresenta a lgica de um problema, ou seja, a
sequncia de etapas para resolvlo.
12
Programao de computadores
O dado de entrada o valor atribudo varivel x. A informao de sada o resultado obtido pela
varivel em y. Um algoritmo para este exemplo :
Passo 1: Entrada: a varivel x recebe um valor (tipo nmero real) ler o valor de x.
Alm disso, deve apresentar zero ou mais entradas (dados fornecidos antes do algoritmo iniciar) e
uma ou mais sadas (informaes resultantes de processamentos).
Representao de um algoritmo:
13
Unidade I
EXEMPLO: DADOS DOIS NMEROS, CALCULAR O TRIPLO DA SOMA DOS NMEROS DADOS.
SE O VALOR OBTIDO FOR MAIOR OU IGUAL A 45, ESCREVER E EXIBIR O QUADRADO DA SOMA
DOS NMEROS. SENO, ESCREVER E EXIBIR A SOMA DOS QUADRADOS DOS NMEROS.
Programa Exemplo
Var
A, B, C, R: real;
Incio
Escreva (Entre com dois nmeros);
Leia (A,B);
C3* (A+B);
Se (C>=45) ento
R(A+B)^2;
Seno
RA^2 + B^2;
Fim_Se;
Escreva (O resultado , R);
Fim.
14
Programao de computadores
A situao do exemplo anterior constitui uma motivao para o estudo de algoritmos e programas,
bem como para a exemplificao de simulaes. Vejamos novamente o que foi solicitado:
Dados dois nmeros, calcular o triplo da soma dos nmeros dados. Se o valor obtido for
maior ou igual a 45, escrever e exibir o quadrado da soma dos nmeros. Seno, escrever e exibir
a soma dos quadrados dos nmeros.
Um fluxograma que expressou a situao descrita pode ser detalhado como segue abaixo.
O resultado pode ser calculado como o quadrado da soma dos nmeros (se o valor acumulado
na varivel C for maior ou igual a 45) ou como a soma dos quadrados dos nmeros (se o valor
acumulado na varivel C for menor que 45).
Programa salario;
var
func, nh, f: inteiro;
salario, vh: real;
inicio
escreva (Digite o nmero do funcionrio, horas trabalhadas, valor hora e filhos:);
leia (func, nh, vh, f);
salario:= (nh * vh);
escreva (Salrio do funcionrio: , ma);
fim.
Exemplo: Escrever um algoritmo que leia um valor monetrio e calcule o menor nmero possvel
de notas de 100, 50, 20, 10, 5, 2 e 1 em que o valor lido pode ser decomposto. Mostrar o valor lido e a
relao de notas necessrias. Utilizar a instruo truncar, que fica somente com a parte inteira de uma
diviso. Exemplo: truncar (8/3) produz o resultado 2.
15
Unidade I
Programa troco;
var
vm, saldo: real;
n1, n2, n5, n10, n20, n5O, n100: inteiro;
inicio
escreva (Digite um valor:);
leia (vm);
saldo:= vm;
n100:= truncar(saldo/100);
saldo:= vm-n100*100;
n50:= truncar(saldo/50);
saldo:= vm-n5O*5O;
n20:= truncar(saldo/20);
saldo:= vm-n20*20;
n10:= truncar(saldo/10);
saldo:= vm-n10*10;
n5:= truncar(saldo/5);
saldo:= vm-n5*5;
n2:= truncar(saldo/2);
saldo := vm-n2*2;
n1:= truncar(saldo);
escreva (Total de notas de 100: , n100);
escreva (Total de notas de 50: , n50);
escreva (Total de notas de 20: , n20);
escreva (Total de notas de 10: , n10);
escreva (Total de notas de 5: , n5);
escreva (Total de notas de 2: , n2);
escreva (Total de notas de 1: , n1);
fim.
16
Programao de computadores
Em Portugus Estruturado:
Programa Media_Tres_Numeros
Var
M, N1, N2, N3: real;
Incio
Escreva (Entre com trs nmeros);
Leia (N1, N2, N3);
M(N1+N2+N3)/3;
Escreva (O resultado , M);
Fim.
BIBLIOGRAFIA
17