Professional Documents
Culture Documents
Cincia da Computao
INTRODUO
COMPILADORES
Fundamentos de Programao
UNIPAC
2
Cincia da Computao
ALGORITMOS
Fundamentos de Programao
UNIPAC
Cincia da Computao
ALGORITMO X PROGRAMA
Como vimos antes, um algoritmo uma seqncia lgica de aes a serem
executadas para se realizar uma determinada tarefa.
Um programa a formalizao de um algoritmo em uma determinada linguagem
de programao, segundo suas regras de sintaxe e semntica, de forma a permitir que o
computador possa entender a seqncia de aes e realizar a tarefa.
LINGUAGEM DE PROGRAMAO
um conjunto de smbolos e regras de sintaxe que permitem a construo de
sentenas que descrevem de forma precisa aes compreensveis e executveis para o
computador.
PORTUGOL (l-se portugl)
O portugol um algoritmo (escrito em portugus) utilizando as sintaxes e
semnticas de um modelo de linguagem de programao, geralmente (foi proposto para
ser baseado no pascal) o portugol baseado na linguagem Pascal, mas com todo tipo de
algoritmo ele deve ter portabilidade para outras linguagens de programao.
Como vimos antes, todo algoritmo deve obrigatoriamente tem um inicio e um
fim, e entre eles algumas instrues a serem realizadas.
Ento um exemplo de um algoritmo pode ser escrito da seguinte forma:
Inicio
Instrues a serem realizadas
Fim
Tomando como exemplo a receita de bolo citada anteriormente, conclumos que
antes de fazer qualquer coisa, temos que adquirir os ingredientes necessrios para o nosso
bolo (esta a seqncia lgica correta). Com os algoritmos tambm funciona desta forma
devemos primeiro definir quais sero os ingredientes (que em algoritmos chamamos de
definies, ou declaraes) utilizado para a instruo em questo.
O processo de criao e execuo de programas (no nosso caso algoritmos) se
divide em trs partes bsicas: entrada, processamento e sada.
A entrada toda a informao que o algoritmo recebe. Esta entrada sempre
dever ser armazenada em algum lugar, como por exemplo, em variveis. O
processamento todo tipo de processamento que o algoritmo realiza, como atribuir um
valor a alguma varivel, realizar alguns tipo de tomada de deciso e algum tipo de
repetio (falaremos sobre tomadas de deciso e sobre estruturas de repetio mais
adiante). E a sada a exibio dos resultados em tela, ou escrita em arquivos, ou em
impressora.
Fundamentos de Programao
UNIPAC
Cincia da Computao
EXEMPLOS
NOME DO TIPO
Inteiro
Real
Char
String
Fundamentos de Programao
DESCRIO
Recebe nmeros inteiros positivos ou
negativos.
Ex. 1; 2; 3; -4; -50; +100; etc.
Recebe nmeros fracionrios positivos
ou negaivos.
Ex. 1.0; 2.0; 1.3; -5.4; etc.
Recebe caracteres nicos, ou seja,
suporta somente uma letra ou um
nmero.
Ex. A; a; 1; etc.
Recebe cadeias de caracteres. Devemos
definir o tamanho mximo de cada
varivel string declarada, e esta varivel
UNIPAC
Logico
Cincia da Computao
poder receber um nico caractere ou
uma cadeia de caracteres de no mximo
o tamanho definido para ela.
Ex. UNIPAC; Computao; 1;
1.3
Recebe um dos dois valores lgicos:
Verdadeiro ou Falso.
Uma varivel do tipo lgico, poder
receber somente um dos valores lgicos
por vez.
OBS: Perceba que para tipos de dados CHAR usamos aspas simples (A) e para
tipos de dados STRING usamos aspas duplas (A). Assim quando tivermos um
caractere somente, saberemos identificar o tipo de dados da varivel em questo.
Para declararmos uma varivel devemos usar a palavra reservada variveis e
depois definimos as variveis que necessitamos, separando o nome da varivel do seu
tipo por dois pontos (:).
Sintaxe:
Variveis
<nome_da_variavel> : <tipo_da_variavel>
Exemplo:
Variveis
X : inteiro
Nome : String
Sexo : Char
Nota : Real
Controle : Logico
CONSTANTES
As constantes so tipos de dados predefinidos e que no podem ter seus valores
alterados em tempo de execuo de um programa. Por exemplo, podemos usar uma
varivel do tipo inteiro para ler um nmero qualquer, esta varivel pode ter o seu valor
alterado quantas vezes forem necessrias no decorrer do programa. Por outro lado
podemos definir uma constante para definir o valor de PI, que um valor que no ser
alterado no decorrer do programa, ento criamos uma constante chamada de PI que
recebe o valor de 3,14159265 e toda vez que precisarmos de PI, basta chamar esta
constante.
Valores numricos e strings tambm so chamados de Constantes. Os valores: 1;
10; -10; Programao; C, so exemplos de constantes.
Fundamentos de Programao
UNIPAC
Cincia da Computao
OPERADOR
/
Fundamentos de Programao
SIGNIFICADO
Operador de Diviso
Professor Filipe Costa Fernandes
UNIPAC
*
+
-
Cincia da Computao
Operador de Multiplicao
Operador de Adio
Operador de Subtrao
OPERADOR RELACIONAL
=
<>
<
>
<=
>=
SIGNIFICADO
Igual
Diferente
Menor que
Maior que
Menor ou igual
Maior ou igual
Fundamentos de Programao
UNIPAC
Cincia da Computao
X <= 50
OPERADOR DE ATRIBUIO ( := )
Para atribuirmos um valor a uma varivel, devemos utilizar o operador de
atribuio. Este operador o dois pontos e igual e ele serve para pegar o valor que est a
sua direita e atribuir varivel que est a sua esquerda.
Sintaxe:
<Varivel_Destino> := <valor_original>
Exemplos:(Dada uma varivel do tipo inteiro X)
X := 10; (a varivel X recebe o valor 10)
O operador de atribuio existe para diferenciar a atribuio de valores ( := ) com
a comparao de igualdade de valores ( = ).
EXEMPLO PRTICO 1
Elaborar um algoritmo para escrever na tela a seguinte mensagem: Ol Mundo!
Inicio
Escreva Ol Mundo!
Fim
Perceba que neste algoritmo no declaramos variveis, nem utilizamos alguma
outra tcnica que vimos at aqui, por que o algoritmo deveria simplesmente escreve uma
string (constante) na tela.
EXEMPLO PRTICO 2
Elaborar um algoritmo para ler o nome do usurio e escrever este nome na tela;
Variveis
Nome : String
Inicio
Leia Nome
Escreva Nome
Fim
Note que neste algoritmo j utilizamos o comando para ler algo do teclado, isso se
da pelo fato de que surgiu a necessidade de interagir com o usurio, o algoritmo
necessitou do nome do usurio, ento este nome foi lido do teclado. Mas note que nada
informou ao usurio que ele deveria digitar o seu nome, ento sempre importante
Fundamentos de Programao
UNIPAC
Cincia da Computao
informarmos o usurio o que desejamos que ela faa. Portanto uma correo para o
algoritmo do exemplo anterior fica da seguinte forma:
Variveis
Nome : String
Inicio
Escreva Digite o seu Nome:
Leia Nome
Escreva Nome
Fim
Voc percebeu que a palavra Nome apareceu algumas vezes distintas no corpo do
algoritmo?
Bom, na primeira vez que a palavra Nome aparece, ela est entre aspas duplas e
um texto a ser exibido na tela. Na segunda vez que a palavra Nome aparece, ela est sem
aspas e uma varivel que ir armazenar a informao que o usurio digitar no teclado.
Portanto, sempre que estiver usando VARIVEIS no utilize aspas, pois com
aspas a sua varivel deixar de ser uma varivel e ser um TEXTO SIMPLES.
EXEMPLO PRTICO 3
Elaborar um algoritmo para ler DOIS nmeros e escrever a soma dos nmeros.
Variveis
Numero1 : inteiro
Numero2 : inteiro
Resultado : inteiro
Inicio
Escreva Digite um nmero para somar
Leia Numero1
Escreva Digite outro nmero para somar
Leia Numero2
Resultado := Numero1 + Numero2
Escreva Resultado
Fim
EXERCCIOS
1. Elabore um algoritmo para ler um nome e um nmero e depois escrever o
nome e o nmero na tela.
2. Elabore um algoritmo para ler dois nmeros e escrever na tela a
multiplicao destes nmeros.
3. Elabore um algoritmo para ler um nmero e escreve na tela o quadrado
deste nmero.
Fundamentos de Programao
UNIPAC
Cincia da Computao
4. Elabore um algoritmo para ler trs nmeros e escreve na tela a mdia
aritmtica destes nmeros.
Fundamentos de Programao