Sunteți pe pagina 1din 22

INTRODUO A PROGRAMAO

Unidade I INTRODUO LGICA DE PROGRAMAO

PROFESSORA GELLARS TAVARES


gellarstavares@yahoo.com.br

2015

CURSO: SI/ADS/GTI/REDES
DISCIPLINA: INTROD. PROGRAMAO
PROFESSORA: GELLARS TAVARES

Entendendo o Computador
COMPUTADORES
Dispositivo capaz de executar clculos e tomar decises lgicas em velocidades milhes, e at
bilhes, de vezes mais rpidas do que os seres humanos;
Computadores processam dados sob o controle de conjunto de instrues chamado de programas
de computador;
Estes programas de computador guiam o computador atravs de conjuntos ordenados de aes
especificados por pessoas chamadas de programadores de computador.
ARQUITETURA BSICA DO COMPUTADOR
Modelo de Von Neumann

Dispositivos de entrada So dispositivos que captam dados, convertendo-os em sinais eltricos


para que possam ser armazenados na Memria Principal.
Exemplos: teclado, mouse, unidades de disco, scanner, unidade de DVD, pen drive, modem, etc.

Dispositivos de sada So dispositivos que convertem sinais eltricos para formas que possam
ser entendidas pelo usurio, exibindo-os, quando for o caso, sob a forma de textos, imagens ou som.
Exemplos: impressora, monitor, unidades de disco, unidade de DVD, plotter, pen drive, modem,
etc.

CPU (Central Processing Unit) Unidade Central de Processamento: Formada pela Unidade
de Controle (ULA Unidade Aritmtica e Lgica) e registradores.

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 2

Unidade de Controle Gerencia as instrues de controle de fluxo de dados entre todos os


componentes e responsvel pela busca e decodificao das instrues e por gerar sinais que
possibilitam a execuo da instruo.
ULA Responsvel por qualquer operao aritmtica, lgica ou de deslocamentos.
Registradores So reas especiais de memria que podem, ou no, serem manipulados pelo
programador. Geralmente, de alta velocidade para aumentar o fluxo entre a MP (memria principal)
e os demais componentes.
Memria Principal um dispositivo capaz de armazenar dados e programas que est associado
CPU.
Sistemas de Barramento Todos os componentes, CPU, Memria Principal e os dispositivos de
E/S so interligados atravs de trs barramentos: Dado/Endereo/Controle.
O computador s entende nmeros!
Dispositivos de Entrada: convertem informaes externas (usualmente fornecidas pelo usurio)
em nmeros para o computador.

Dispositivos de Sada: convertem nmeros fornecidos pelo computador em informaes para o


usurio.

Funcionamento da CPU
Busca Instruo: CPU l a memria em busca do que deve fazer.
L entrada: Supondo que a instruo indica a leitura de um dado de entrada, CPU l entrada.
Busca Instruo: CPU l a memria em busca do que deve fazer com dado lido.
Clculos: Supondo uma instruo de clculo, a CPU realiza a operao
Busca Instruo: CPU l a memria em busca do que deve fazer
Armazena dado: Supondo que a instruo solicitava armazenamento do dado na memria, guarda
o mesmo na memria
Busca Instruo: CPU l a memria em busca do que deve fazer
Apresenta sada: Supondo que a instruo indica que um dado deve ser apresentado ao usurio,
CPU escreve na sada
E assim sucessivamente...
A Memria Principal
A Memria Principal formada por clulas, sendo cada clula enderevel.
O tamanho da clula expresso em bits. Logo, se uma clula formada por n bits, teremos 2n
possibilidades de valores, isto , se a clula for formada por 8 bits, poderemos representar valores
de 0 a 255.

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 3

Suponha que a memria seja um arquivo com vrias gavetas:


Cada gaveta chamada posio de memria
Cada gaveta possui um nmero que a identifica, chamado endereo de memria
Em cada uma das gavetas, cabe um nico nmero

A memria principal (RAM) ...

O Que o Computador Entende?


O computador entende apenas nmeros...
...em um dialeto chamado binrio
0101001010111b
O que significa isso?
Pode significar vrias coisas, depende da interpretao!
Msica, imagem, nmeros...
Comecemos com os nmeros!
Mas para entender os nmeros do computador, precisamos primeiro entender os nossos!

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 4

Os Nmeros Decimais
Temos DEZ dedos, contando ambas a mos
Como consequncia, lidamos com nmeros DECIMAIS
Isso significa que cada um dos dgitos de um nmero pode ser preenchido com um de 10 smbolos
diferentes:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Quando precisamos representar um nmero maior que 9, acrescentamos um dgito 1 esquerda...
E o dgito da direita volta a zero:

Os Nmeros Binrios
Para representar nmeros, o computador conta apenas com sinais eltricos
Por motivo de preciso, apenas DOIS estados eltricos so usados para indicar nmeros:
ligado e desligado.
Cada fio do computador pelo qual pode estar passando corrente eltrica ou no representa
um dgito para ele chamado bit
Sendo assim, os nmeros so compostos por
apenas dois smbolos: 0, 1
Quando precisamos representar um nmero maior que 1, acrescentamos um dgito 1 esquerda...
E o dgito da direita volta a zero:
0
1
10
11
100
REPRESENTAO DA INFORMAO
O bit (BInary digiT) a menor unidade de informao existente em um computador,
podendo assumir os valores 0 (zero) e 1 (um), o que tem relao com a arquitetura do
processador;
Para cada dado, o computador utiliza diversos 0 e 1 seguidos: 0011010101001011. Podemos
dizer ento que o computador tem como base o sistema binrio;
A unidade padro de medida na Informtica o Byte (BinarY TErm), que o conjunto de 8
(oito) Bits. A um caractere (letra, nmero, ou smbolo especial) associamos um byte, como
ilustrado abaixo:

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 5

INTRODUO LGICA DE PROGRAMAO


LGICA MATEMTICA Descreve as formas, as propriedades e as relaes das
preposies, graas construo de um simbolismo regulado e ordenado que permite
diferenciar linguagem cotidiana e linguagem formalizada. A linguagem formal nada tem a
ver com a linguagem cotidiana, pois se trata de uma linguagem inteiramente construda por
ela mesma, baseada no modelo da matemtica. (CHAU, 2000).
LGICA DE PROGRAMAO Uso correto das leis do pensamento, da ordem da
razo e de processos de raciocnio e simbolizao formais na programao de
computadores, objetivando racionalidade e o desenvolvimento de tcnicas que cooperem
para a produo de solues logicamente vlidas e coerentes, que resolvam com qualidade
os problemas que se deseja programar. (FORBELLONE, A.; EBERSPACHER, H., 2000).
DESAFIO
Problema da Torre de Hani - Eduard Lucas em 1883
Seja a seguinte situao:
deve-se mover todos os discos do primeiro eixo para o terceiro
mantendo-se a ordem original
em cada movimento, pode-se mover apenas um disco
um disco maior nunca poder ser sobreposto por outro menor

LGICA
Cincia que estuda as leis do raciocnio.
Correo/validao do pensamento.
Encadeamento/ordem de ideias.
Arte de bem pensar.
Modo de raciocinar: as solues dos problemas utilizam a lgica para serem criadas, ou
seja, elas so ordenadas de uma forma que sejam possveis de ser realizadas e de uma
maneira que essa forma seja a mais adequada para o que se deseja obter.
Exemplos de aplicao da lgica
O quarto est fechado e meu livro est no quarto. Ento, preciso primeiro abrir o quarto para
pegar o livro.
Rosa me de Ana, Paula filha de Rosa, Jlia filha de Ana. Ento, Jlia neta de Rosa e
sobrinha de Paula.
Todo mamfero animal e todo cavalo mamfero. Ento, todo cavalo animal.
Todo mamfero bebe leite e o homem bebe leite. Ento, todo homem mamfero e animal
(mas no um cavalo).
PROGRAMAO
O que Programao? = ABSTRAO!
A realidade complexa e rica em detalhes!

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 6

Abstrao

O que voc abstrai dessa realidade?


Abstrao = Operao mental que observa a realidade e captura apenas os
aspectos relevantes para um contexto

NOES DE LGICA
Em Lgica um conceito importante o de Proposio
Proposio: um enunciado verbal, ao qual deve ser atribudo, sem ambiguidade, um valor lgico
verdadeiro (V) ou falso (F).
Exemplos de proposies:
Ronaldinho Gacho jogador de futebol. (V)
3 + 5 == 10 (F)
5 < 8 (V)
Contraexemplos de Proposies:
Onde voc vai ?
3+5
Os estudantes jogam vlei. (Quais ?)
OPERAES LGICAS:
So usadas para formar novas proposies a partir de proposies existentes.
Considerando p e q duas proposies genricas, podem-se aplicar as seguintes
operaes lgicas bsicas sobre elas:

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 7

Definindo a prioridade:
Usar parnteses Exemplo: ((p v q)^(~q)) ou
Obedecer (~) > (^) > (v)
Exemplos de aplicao das operaes lgicas
Considere:
p = 7 primo = (V)
q = 4 mpar = (F)
Ento:
4 NO mpar = ~q = (~F) = (V)
7 NO primo = ~p = (~V) = (F)
7 primo E 4 NO mpar = p ^ ~q = (V ^ (~F)) = (V ^ V) = (V)
7 primo E 4 mpar = p ^ q = (V ^ F) = (F)
4 mpar E 7 primo = q ^ p = (F ^ V) = (F)
4 mpar E 7 NO primo = q ^ ~p = (F ^ (~V)) = (F ^ F) = (F)
Resumindo:

p
V
V
F
F

q
V
F
V
F

~p
F
F
V
V

p^q
V
F
F
F

pvq
V
V
V
F

Ou seja:
No (~) troca o valor lgico. Se for F passa a ser V e vice-versa.
E (^) s tem valor V quando as duas proposies forem V. Basta uma
proposio ser F para o resultado ser F.
OU (v) s tem valor F quando as duas proposies forem F. Basta uma
proposio ser V para o resultado ser V.
ALGORITMO
Um procedimento passo a passo para a soluo de um problema.
Sequncia lgica e no ambgua de instrues que levam soluo de um problema num
tempo finito.
Sequncia lgica de instrues que devem ser seguidas para a resoluo de um problema ou
para a execuo de uma tarefa.
Algoritmo a descrio de um conjunto de comandos que, obedecidos, resultam numa
sucesso finita de aes;

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 8

Ao um acontecimento que, a partir de um estado inicial, aps um perodo de


tempo finito, produz um estado final previsvel e bem definido;
A construo de algoritmo consiste na primeira fase de resoluo de problemas utilizando-se
recursos computacionais. Somente aps a sua construo, verificao de sua correo e
codificao, tem-se um programa;
Um programa a formalizao de um algoritmo em uma determinada linguagem de
programao, segundo suas regras de sintaxe e semntica, de forma que o
computador possa entender a sequncia de aes;
A base da boa programao consiste na construo de bons algoritmos. Alguns passos:
Compreender o problema identificando as suas entradas e sadas;
Desenvolver um procedimento para a soluo do problema;
Verificar manualmente a sua correo;
Codificar o algoritmo;
Execut-lo e test-lo;
Refinar se necessrio, o algoritmo e document-lo.
CARACTERSTICAS BSICAS DE UM ALGORITMO:
Sequncia lgica
As instrues devem ser definidas em uma ordem correta.
No ambgua
A sequncia lgica e as instrues no devem dar margem dupla interpretao.
Soluo de um problema
A sequncia lgica deve resolver exatamente (nem mais e nem menos) o problema identificado.
Tempo finito
A sequncia lgica no deve possuir iteraes infinitas.
Exemplos de algoritmos
Receitas de comidas
Coreografia
Manuais de instalao
Contraexemplos de algoritmos
Listas de compras
Dana informal
ndice remissivo de um livro
Algoritmo Textual Informal
Modo de preparo de um bolo:
Bata a margarina, as gemas e o acar at ficar cremoso.
Junte o leite, o coco e a farinha e continue batendo.
Acrescente o fermento e, por ltimo, as claras em neve.
Unte uma forma com manteiga e leve ao forno para assar.
Algoritmo Textual Informal Refinado
Modo de preparo:
Bata a margarina, as gemas e o acar por 15 minutos
Junte o leite, o coco e a farinha e continue batendo por mais 15 minutos
Acrescente 20 g de fermento e, por ltimo, s claras em neve
Unte uma forma com manteiga e leve ao forno para assar por 30 minutos

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 9

Ateno:
Um algoritmo uma soluo e no a soluo de um problema.
Um problema pode ser resolvido por mais de um algoritmo!
Tarefas que possuem padro de comportamento podem ser descritas por um
algoritmo.
Ex: Qual ser o prximo nmero das sequncias
a) 0,1,4,9,16,25?
b) 7,8,10,13,17?
Lgica de Programao = o encadeamento lgico de instrues para o
desenvolvimento de programas.
Programa = a implementao das instrues (codificao+traduo+execuo) de um
algoritmo em uma linguagem de programao.
Estes programas podem ser escritos em Linguagem de mquina, ou ainda em
linguagens de programao tais como: C, C++, Cobol, VB, dentre outros.
Instruo = Informao que representa uma ao elementar que deve ser executada.
Ateno
O ; (ponto-e-vrgula) indica o fim de uma instruo!
RESUMINDO
Algoritmo sequncia de etapas que visam atingir um objetivo especfico. Por exemplo,
resolver um determinado problema;
Programa - conjunto de comandos especficos que traduzem para o computador o que um
algoritmo determinou que deva ser realizado.
Existe a necessidade da construo de modelos do mundo real, de forma que seja possvel
traduzir isso para a linguagem de computadores. Os principais problemas encontrados no
desenvolvimento de algoritmos so:
Dificuldade na resoluo de problemas;
Dificuldade na interpretao de enunciados; e
Dificuldade em abstrair e formalizar informaes.
Dessa forma, necessrio desenvolver essas habilidades, comeando pela soluo de
problemas sem a necessidade do uso de ferramentas computacionais.
Lgica - Modo de raciocinar: As solues dos problemas utilizam a lgica para serem
criadas, ou seja, elas so ordenadas de uma forma que sejam possveis de ser realizadas e de
uma maneira que essa forma seja a mais adequada para o que se deseja obter (a ordenao
do procedimento da soluo segue uma lgica de raciocnio; a formalizao dos
procedimentos de resoluo de problemas precisa ser refinada para aproximar-se do que ser
aplicado na prtica: a lgica de programao);
Lgica de programao - uso correto das leis do pensamento, da ordem da razo e de
processos de raciocnio e simbolizao formais na programao de computadores,
objetivando racionalidade e o desenvolvimento de tcnicas que cooperem para a produo
de solues logicamente vlidas e coerentes, que resolvam com qualidade os problemas que
se deseja programar. (Forbellone; Eberspacher, 2005).

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 10

POR QUE APRENDER ALGORITMOS?


Para desenvolver o raciocnio lgico e conceber uma soluo a um dado problema,
independente de uma linguagem de programao (Ex: Pascal, C e Java).
Porque, a partir do algoritmo desenvolvido, fica mais fcil implementar o respectivo
programa.
Segundo grandes pesquisadores...
A noo de algoritmo bsica para toda a programao de computadores.
KNUTH
KNUTH - Professor da Universidade de Stanford e autor da coleo The art
of computer programming.
O conceito central da programao e da cincia da computao o conceito de
algoritmo. WIRTH
WIRTH - Professor da Universidade de Zurique, autor de diversos livros na
rea e responsvel pela criao de linguagens de programao como
ALGOL, PASCAL e MODULA -2.
Estruturas bsicas de um algoritmo:
Sequncia Incio/Fim
Define uma estrutura onde as instrues sero executadas na ordem que
aparecem.
Seleo (ou Condicional) Se-Ento/Seno
Define uma estrutura condicional que, dada a sua avaliao (V ou F),
determina qual caminho do algoritmo ser executado.
Repetio Repita (Faa/enquanto), Enquanto ou Para
Define uma estrutura de iterao condicional (V ou F) ou contada
(predefinida) de instrues.
Algoritmo para ligar de um telefone pblico Sequncia
Incio
1- Tirar o fone do gancho;
2-Ouvir o sinal de linha;
Este algoritmo usa uma
3- Introduzir o carto;
estrutura de sequncia
4- Teclar o nmero desejado;
Inicio/Fim
5- Conversar;
6- Desligar;
7- Retirar o carto;
Fim.
Algoritmo para ligar de um telefone pblico Seleo
Incio
1- Tirar o fone do gancho;
2- Se ouvir o sinal de linha, ento
2.1 Introduzir o carto;
2.2 Teclar o nmero desejado;
Este algoritmo usa uma
2.3 Conversar;
estrutura de deciso
2.4 Desligar;
2.5 Retirar o carto;
Se-ento/seno
3- Seno
3.1 Ir para o prximo telefone;
Fim.

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 11

Algoritmo para ligar de um telefone pblico Repetio


Incio {o telefone precisa estar funcionando}
1- Repita
1- Tirar o fone do gancho;
2- Se ouvir o sinal de linha ento
2.1 Introduzir o carto;
2.2 Teclar o nmero desejado;
2.3 Conversar;
2.4 Desligar;
2.5 Retirar o carto;
3- Seno
3.1 Desligar;
4. Continua(S/N)
2- At Continua=N
Fim.

Este algoritmo usa uma


estrutura de repetio
Repita/At

E se o telefone chamado estiver com defeito?


E se o telefone chamado estiver ocupado?
E se acabarem os crditos do carto telefnico?
E se...?
normal que um algoritmo sofra melhorias sucessivas.
(Tcnica de refinamentos sucessivos)

SISTEMA COMPUTACIONAL

A programao de um sistema computacional pode ser resumida em 3


passos bsicos: Entrada, Processamento e Sada.

Arquitetura de Von Newman


INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 12

Exemplo 1 Exibir a mdia de dois nmeros


Entrada
Dispositivo
de Entrada

Processamento

UCP

Sada
Dispositivo
de Sada

Memria
6,8

(6 + 8) / 2

Exemplo 2 Exibir se o aluno est aprovado ou reprovado


Entrada
Dispositivo
de Entrada

Processament
o

UCP

Sada
Dispositivo
de Sada

Memria
Ana, 5, 3

Se (5+3)/2>=7
aprovado
Seno
reprovado

Ana, reprovado

LINGUAGENS DE PROGRAMAO
O conjunto de instrues, que ser executado pelo processador,
chamado de linguagem de mquina.
As linguagens de programao so classificadas de acordo com a
similaridade que esta linguagem tem com a linguagem de mquina.

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 13

Tipos de Linguagens de Programao


1 - Totalmente codificadas em binrio (0s e 1s)
2 - Usam instrues simblicas para representar os 0s e 1s
3 - Voltadas para facilitar o raciocnio humano
Baixo Nvel
Linguagem
de
Mquina

Linguagem
Assembly
(Mnemnica)

0010 0001 1110 LOAD R1, val1

Alto Nvel
Linguagem
de
Alto N vel
val2 = val1+val2

0010 0010 1111 LOAD R2, val2


0001 0001 0010 ADD R1, R2
0011 0001 1111 STORE R1, val2

Um computador compreende apenas linguagens compostas por nmeros


0s e 1s.
Ento imagina criar um programa utilizando apenas esses nmeros, isso
seria extremamente complicado.
Por esse motivo foi necessrio a criao de um cdigo que relacionasse a
linguagem de mquina a uma linguagem mais fcil de ser compreendida.
Dessa forma, foi criada uma linguagem de montagem (chamada
Assembly) que um cdigo que tem uma instruo alfanumrica para
cada instruo numrica em linguagem de mquina.
FORMAS DE REPRESENTAR UM ALGORITMO
Algoritmos podem ser representados, dentre outras maneiras, por:
PSEUDOCDIGO Tambm chamado de PORTUGUS ESTRUTURADO.
DESCRIO NARRATIVA Linguagem natural para especificar os passos
de uma tarefa.
FLUXOGRAMA Tambm chamado de DIAGRAMA
representao grfica dos passos de uma tarefa.

DE

BLOCOS,

DIAGRAMA DE CHAPIN Tambm chamado de DIAGRAMA DE NASSISHNEIDERMAN, diagrama com viso hierrquica e estruturada.
Um algoritmo uma soluo e no a soluo de um problema.
Um problema pode ser resolvido por mais de um algoritmo!

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 14

Exemplos de representao de um algoritmo

Diagrama de Blocos

Exemplo: Algoritmo para converter uma temperatura em Fahrenheit para


Celsius
Descrio narrativa do algoritmo Fahrenheit-Celsius:
- solicite a temperatura em Fahrenheit;
- transforme a temperatura em Fahrenheit para Celsius;
- informe a temperatura em Celsius.
Antes, veremos os smbolos para elaborar um fluxograma (Diagrama de
Mdulos)
Seus principais smbolos grficos so:

Agora voltaremos ao exemplo:


Fluxograma do algoritmo Fahrenheit-Celsius

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 15

Linguagem algortmica (pseudocdigo)


A forma geral de um algoritmo em pseudocdigo:
Algoritmo <nome_do_algoritmo>
[<declarao_de_variveis>]
Incio
<corpo_do_algoritmo>
Fim.

LINGUAGEM ALGORTMICA (PSEUDO-CDIGO)


Onde:
Algoritmo
Indica o incio da definio do algoritmo.
<nome_do_algoritmo>
Nome dado ao algoritmo para distingui-lo dos demais.
[<declarao_de_variveis>]
Parte opcional onde so declaradas as variveis usadas
no algoritmo e, eventualmente, nos sub-algoritmos
(partes de um algoritmo).
LINGUAGEM ALGORTMICA (PSEUDOCDIGO)
Onde:
[<subalgoritmos>]
Parte opcional onde so definidos os sub-algoritmos
(quebra do algoritmo em partes: modularizao).
Incio
Palavra que delimita o incio do corpo do algoritmo.
<corpo_do_algoritmo>
Conjunto de instrues do algoritmo.
Fim
Palavra que delimita o trmino do corpo do algoritmo.

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 16

Pseudocdigo do algoritmo Fahrenheit-Celsius


programa Fahrenheit-Celsius
var
real Fahrenheit, Celsius;
incio
leia (Fahrenheit);
Celsius 5 /9 * (Fahrenheit 32);
escreva (Celsius);
fim
COMPARATIVO ENTRE AS FORMAS DE REPRESENTAO:

Linguagem C++
#include<iostream>
using namespace std;
int main()
{
float Fahrenheit, Celsius;
cout<<"Digite Temperatura em Fahrenheit: ";
cin>>Fahrenheit;
Celsius = 5 /9 * (Fahrenheit - 32);
cout<<"Temperatura em Celsius = "<<Celsius<<"\n";
system("pause");
}

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 17

Tarefas que possuem padro de comportamento podem ser descritas por um


algoritmo.
FLUXOGRAMA

PSEUDOCDIGO
Incio
real NOTA1, NOTA2, MEDIA;
Leia (NOTA1, NOTA2);
MEDIA := (NOTA1 + NOTA2) / 2;
SE MEDIA >= 5
escreva ( Aprovado );
SENO
escreva ( Reprovado);
Fim

VANTAGENS E DESVANTAGENS
Descrio
Narrativa

Fluxograma

Linguagem
Algortmica

Vantagens
Desvantagens
O portugus bastante conhecido Impreciso.
por ns.

Padro mundial.
Ferramenta bem conhecida.
Figuras dizem muito mais que
palavras.
Independncia de linguagem de
programao.
Usa o portugus como base.
Define-se melhor quais e como os
dados vo estar estruturados.
Passagem quase imediata do
algoritmo para uma linguagem de
programao qualquer.

Pouca confiabilidade (a impreciso


acarreta a desconfiana).
Extenso (normalmente, escreve-se
muito para dizer pouca coisa).
Complica-se medida que o
algoritmo cresce.
Pouca ateno aos dados, no
oferecendo recursos para declar-los.
Exige a definio de uma linguagem
no real para trabalho.
No padronizada.

TIPOS DE DADOS PRIMITIVOS

Numricos
Inteiros: dados numricos positivos e negativos pertencentes ao
conjunto de nmeros inteiros, excluindo qualquer valor numrico
fracionrio. Ex. 10, 0, -3, etc.;
Reais: dados numricos positivos e negativos pertencentes ao
conjunto de nmeros inteiros, incluindo qualquer valor numrico
fracionrio e inteiro. Ex. 10, 0, -34.435, etc.;
No-numricos
Caracteres: sequncia de valores delimitados por aspas ( )
formados por letras (de A at Z), nmeros (0 at 9) e smbolos
(%,@,$,...). Este tipo tambm conhecido como alfanumrico,
string, literal ou cadeia. Ex. q, linguagem c++;
Lgicos: dados que sugerem uma nica opo entre duas
possibilidades existentes: verdadeiro ou falso, sim ou no, 1(um)
ou 0 (no).

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 18

CONSTANTES

Tudo que fixo, estvel, inaltervel, imutvel, contnuo, invarivel, de


valor fixo;
As constantes no sofrem alteraes ao longo do programa.

Exemplos:
pi = 3.14159265
resultado = aprovado
situacao = .falso.
VARIVEIS

Varivel tudo aquilo que sujeito a variaes, que incerto instvel ou


inconstante;
As informaes variveis so armazenadas na memria do computador;
A memria pode ser vista como um conjunto de gavetas. Para utilizar
uma gaveta preciso identific-la com uma etiqueta. A identificao
feita pelo nome da varivel;
Cada varivel guarda uma informao de cada vez, sendo sempre do
mesmo tipo.
Todo valor atribudo a uma varivel ser feito por meio do smbolo de
atribuio:
em algoritmo: (uma seta)
em C++:
= (igual)
em Pascal:
:= (dois pontos igual)

Ex. de declarao de varivel: real nota;


Ex. de atribuio em uma varivel: nota = 5.7;
REGRAS DE DEFINIO DE IDENTIFICADORES

Constantes e variveis so identificadores. As regras de definio de


nomes devem ser observadas:
O primeiro caractere do identificador deve ser sempre alfabtico.
Os demais podem ser alfanumricos;
No podem ser utilizados espaos em branco para formao de
identificadores com nomes compostos. Os nomes devero ser
separados por sublinhado (_);
No podem ser utilizados caracteres especiais;
No podem ser utilizadas palavras reservadas;
Os nomes devem refletir o contedo do identificador;
Exs. Vlidos: nome, nome_usuario, fone1;
Exs. Invlidos: 1X, fone#, inteiro, nome usuario;

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 19

OPERADORES ARITMTICOS: so as operaes aritmticas bsicas


Smbolo
/
*
+
ou mod
div

Significado
Diviso
Multiplicao
Adio
Subtrao
Resto da diviso de inteiros
Quociente da diviso de inteiros

Soma - Na matemtica, representada pelo sinal + e, em expresses em


termos computacionais, pelo mesmo sinal.
A+B
Expresso que simboliza a soma do valor de duas variveis.
2+3
Nesta expresso, o valor retornado a soma dos valores dados, isto
, 5.
Subtrao - Na matemtica, representada pelo sinal - e, em expresses em
termos computacionais, pelo mesmo sinal.
A-B
3 -2

Expresso que simboliza a subtrao do valor de duas variveis.


Nesta expresso, o valor retornado o resto, isto , 1.

Multiplicao - Na matemtica, representada pelos sinais x ou. e, em


expresses em termos computacionais, pelo sinal * .
B*D
3*2

Expresso que simboliza a multiplicao do valor de duas variveis.


Nesta expresso, o valor retornado o produto dos valores dados,
isto , 6.

Diviso - Na matemtica, representada pelo sinal

e, em expresses

computacionais, pelo sinal /.


A/B
6 /2
5 / 2

Expresso que simboliza a diviso do valor de duas variveis.


Nesta expresso, o valor retornado a diviso dos valores dados,
que, no caso, ser equivalente a 3.
Nesta expresso, o valor retornado a diviso dos valores dados,
que no caso ser equivalente a 2,5.

% - Resto (em outras linguagens, conhecido como mod). usado em


expresses em termos computacionais quando se deseja encontrar o resto da
diviso de dois nmeros inteiros.
K%Y
5%2
7%4

Expresso que simboliza a inteno de achar o valor do resto da


diviso do valor da varivel K pelo valor da varivel Y.
Nesta expresso, o valor retornado o resto da diviso do primeiro
pelo segundo nmero que, no caso, ser equivalente a 1.
Nesta expresso, o valor retornado o resto da diviso do primeiro
pelo segundo nmero que, no caso, ser equivalente a 3.

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 20

Observao:
Normalmente, as linguagens de programao assumem que a diviso uma
operao que retorna um valor REAL. Ateno especial, portanto, para
variveis que recebero o resultado de uma diviso.
Em algumas linguagens, quando se divide dois nmeros inteiros, o resultado
ser um inteiro.
PRIORIDADE
Operador
()
*, / ou %
+ ou -

Precedncia
Calculados em primeiro
lugar da esq. p/ dir.
Calculados em segundo
lugar da esq. p/ dir.
Calculados por ltimo da
esq. p/ dir.

OPERADORES RELACIONAIS: so operadores binrios


prioridade) que somente retornam os valores lgicos V ou F.
Smbolo

Significado

== ou =

Igual a

>

Maior que

<

Menor que

>=

Maior ou igual a

<=

Menor ou igual a

!= ou <>

Diferente

(de

mesma

Como exemplos de Expresses relacionais tm:


A != B
X == 1
7>6
8<9
1 <= Y
4 >= W

A diferente de B
X igual a 1
7 maior que 6
8 menor que 9
1 menor ou igual ao valor da varivel Y
4 maior ou igual ao valor da varivel W

PRIORIDADE
Operador
()
*, / ou %
+ ou <, <=, > ou >=
== ou !=
=

Precedncia
Calculados em primeiro lugar da esq. p/ dir.
Calculados em segundo lugar da esq. p/ dir.
Calculados em terceiro lugar da esq. p/ dir.
Calculados em quarto lugar da esq. p/ dir.
Calculados em quinto lugar da esq. p/ dir.
Calculados em ltimo lugar da dir.p/ esq.

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 21

Estes somente so usados para efetuar comparaes, as quais s podem ser


feitas entre dados do mesmo tipo.
O resultado de uma comparao sempre um valor lgico.
OPERADORES LGICOS OU BOOLEANOS: so usados para combinar
expresses relacionais e lgicas. Tambm retornam como resultado valores
lgicos V ou F.
Operador lgico de disjuno ( e )
Op. Lg. de Disjuno .e.
Cond.1

Cond.2

Resultado

Operador lgico de conjuno ( ou )


Op. Lg. de Conjuno .ou.
Cond.1

Cond.2

Resultado

Operador lgico de negao ( no )


Op. Lg. de Negao .no.
Condio

Resultado

ORDEM DE PRIORIDADES
Operador

Prioridade

Aritmticos

Relacional

Lgico

INTROD. PROGRAMAO Professora Gellars Tavares ano 2015

Pgina 22

S-ar putea să vă placă și