Você está na página 1de 48

Fernando clio

1. CONCEITOS INICIAIS
1.1 Definio de algoritmos.
1.2 Formas de representao.
1.3 Tipos de dados, variveis e constantes.
1.4 Instrues primitivas.
Fernando Clio de Deus

uma sequncia de instrues bem definidas


que, executadas passo a passo, permitem a
soluo de um problema.

Passo a passo significa que cada passo


completado antes que o prximo comece.
Bem definido significa que cada passo
completamente definido a partir da entrada
atual e dos passos anteriores

FASES para desenvolver o algoritmo:


Determinar o problema, defin-lo bem
Dividir a soluo nas trs fases:

ENTRADA

PROCESSAMENTO

SADA

Exemplo:
Problema: calcular a mdia de quatro nmeros

Dados de entrada: os nmeros, N1, N2, N3 e N4


Processamento: somar os quatro nmeros e dividir a
soma por 4

Dados de sada: a mdia final

N1 + N2 + N3 + N4
4

Algoritmo:
1.
2.
3.
4.
5.
6.
7.

Receber o primeiro nmero


Receber o segundo nmero
Receber o terceiro nmero
Receber o quarto nmero
Somar todos os nmeros
Dividir a soma por 4
Mostrar o resultado da diviso

Entender a entrada
Entender o que se espera na sada
Repetir:

Bolar um mtodo,
Se o mtodo correto, ento
Analisar a complexidade do mtodo,
Se complexidade aceitvel, terminar.

Implementar (programar)

PSEUDOCDIGO:
Facilita descrever o algoritmo antes de pass-lo
para uma linguagem de programao
Intermediria: linguagem natural linguagem de
programao
Pseudocdigo = cdigofalso
FLUXOGRAMA:
uma forma universal de representao, pois se
utiliza de figuras geomtricas para ilustrar passos
a serem seguidos para a resoluo de problemas

Descrio do algoritmo, menos rigorosa que na


linguagem de programao (cdigo fonte)Fcil de
entender e fcil de codificar depois Independente
da linguagem de programao Simples e objetivo
Tcnicas:
1. Incio de programa
2. ler a, b
3. se a0 ento
x=-b/a
imprimir valor do zero x
seno
imprimir No h zero
fim de se
4. Fim de programa

uma forma universal de representao, pois se


utiliza de figuras geomtricas para ilustrar passos a
serem seguidos para a resoluo de problemas.

Fluxograma de um programa para ler dois nmeros aleatrios


diferentes de zero, calcular a mdia dos mesmos e mostrar o resultado
encontrado.
Inicio

Digite 1 numero n1
Digite 2 numero n2
SIM
Nmeros
so zeros??

NO

Some os dois nmeros e divida por 2

Imprima o
encontrado

Fim

resultado

Faa um algoritmo para assar po em um


fogo a lenha.

Elabore um algoritmo que conte os votos S ou


N entre 03 votantes.

ALGORITMO
Sequncia finita de passos que levam
execuo de uma tarefa
Ex. somar dois nmeros:
Escrever primeiro nmero no retngulo A
Escrever segundo nmero no retngulo B
Somar o nmero do retngulo A com o
nmero do retngulo B e escrever o
resultado no retngulo C
A

B
+

C
=

PROGRAMA:
Algoritmo escrito em uma linguagem de
computador (linguagem de programao C, Pascal, COBOL, Fortran, Basic, Java, etc.)
Interpretado e executado por um
computador
Interpretao rigorosa, exata, do
computador
escrita do algoritmo na linguagem de
prog. tem que seguir regras mais rigorosas

Constantes
Tm-se como definio de constante tudo aquilo que
fixo ou estvel.
EX: CONST pi = 3.14159

Variveis
Todas as variveis utilizadas em algoritmos devem
ser definidas antes de serem utilizadas.
VAR nome: caracter[30]
idade: inteiro
salrio: real
tem_filhos: lgico

INTEIRO: Representa valores numricos negativo ou positivo sem casa


decimal, ou seja, valores inteiros.
REAL: Representa valores numricos negativo ou positivo com casa
decimal, ou seja, valores reais. Tambm so chamados de ponto
flutuante.
LGICO: Representa valores booleanos, assumindo apenas dois
estados, VERDADEIRO ou FALSO. Pode ser representado apenas um
bit (que aceita apenas 1 ou 0).
TEXTO: Representa uma sequencia de um ou mais de caracteres,
colocamos os valores do tipo TEXTO entre (aspas duplas).

Todo o trabalho realizado por um computador


baseado na manipulao das informaes
contidas em sua memria. Grosso modo, estas
informaes podem ser classificadas em dois
tipos:
As instrues, que comandam o funcionamento da
mquina e determinam a maneira como devem ser
tratados os dados.
Os dados propriamente ditos, que correspondem
poro das informaes a serem processadas pelo
computador.

O conjunto dos nmeros naturais representado


por N e dado por:
N = {1, 2, 3, 4, ...}
Na sequncia, encontramos o conjunto dos
nmeros inteiros:
Z = {..., -3, -2, -1, 0, 1, 2, 3, ...}
Englobando o conjunto dos nmeros inteiros,
existe o conjunto dos nmeros fracionrios.

Os nmeros inteiros so aqueles que no possuem


componentes decimais ou fracionrios, podendo
ser positivos ou negativos.
Como exemplos de nmeros inteiros temos:
24 - nmero inteiro positivo
0 - nmero inteiro
-12 - nmero inteiro negativo

Os dados de tipo real so aqueles que podem


possuir componentes decimais ou fracionrios, e
podem tambm ser positivos ou negativos.

Exemplos de dados do tipo real:


24.01 - nmero real positivo com duas casas decimais
144. - nmero real positivo com zero casas decimais
-13.3 - nmero real negativo com uma casa decimal
0.0 - nmero real com uma casa decimal
0. - nmero real com zero casas decimais

O tipo de dados literal constitudo por uma


sequncia de caracteres contendo letras, dgitos
e/ou smbolos especiais.
Exemplos de dados do tipo literal:

"QUAL ?" - literal de comprimento 6


" " - literal de comprimento 1
"qUaL ?!$" - literal de comprimento 8
" AbCdefGHi" - literal de comprimento 9
"1-2+3=" - literal de comprimento 6

O tipo de dados lgico usado para representar


dois nicos valores lgicos possveis:
verdadeiro e falso.

Exemplo:
.V. - valor lgico verdadeiro
.F. - valor lgico falso

Os dados numricos dividem-se em duas classes:


inteiros, que no possuem parte fracionria e podem ser
positivos ou negativos;
reais, que podem possuir parte fracionria e podem ser
positivos ou negativos.
Os dados do tipo literal podem conter sequncias de
letras, dgitos ou smbolos especiais, delimitados por
aspas ("). Seu comprimento dado pelo nmero de
caracteres em string.

Bit a sigla para Binary Digit, que em


portugus significa dgito binrio, ou seja, a
menor unidade de informao que pode ser
armazenada ou transmitida. Um bit pode
assumir somente 2 valor
Um byte um dos tipos de dados integrais
em computao, usado para especificar o
tamanho ou quantidade da memria ou da
capacidade de
armazenamento de um
dispositivo, independentemente do tipo de
dados armazenados. 0 ou 1.
30

1.
2.
3.
4.
5.

1
1
1
1
1

Byte = 8 bits
Kilobyte (ou KB) = 1024 bytes
Megabyte (ou MB) = 1024 kilobytes
Gigabyte (ou GB) = 1024 megabytes
Terabyte (ou TB) = 1024 gigabytes

tambm atravs dos bytes que se determina o


comprimento da palavra de um computador.
8 bits - palavra de 1 byte
16 bits - palavra de 2 bytes
32 bits - palavra de 4 bytes

31

Tipo

Tamanho

Intervalo

Uso

Char/Boolean

1 byte

-128 a 127

nmero muito
pequeno e
caracter ASCII

int

2 bytes

- 32768 a
32767

contador,
controle de lao

3.4e38

Real (preciso
de 7 dgitos)

1.7e-308 a
1.7e308

cientfico
(preciso de 15
dgitos)

float

double

4 bytes

8 bytes

2.1 Estrutura condicional simples.


2.2 Estrutura condicional composta.
2.3 Estrutura condicional com mltiplas
possibilidades de escolha.

Faa um algoritmo que calcule a nota do


aluno se nota maior ou igual a 70 aprovado
se nota menor reprovado.

Faa um programa que calcule a velocidade


mdia de um veculo a partir da distncia em
km (D) e o tempo de percurso em horas (T).
Caso a velocidade mdia supere 120km/h, o
programa deve imprimir Multa.

Faa um programa que l dois nmeros e


responda se o primeiro o maior.

ASCENCIO, Ana Fernanda Gomes. Lgica de programao com Pascal.


So Paulo: Pearson Makron
Books, 1999.
ASCENCIO, Ana Fernanda Gomes; VENERUCHI, Edilene Aparecida.

Fundamentos de programao de
computadores: algoritmos, Pascal e C/C++. So Paulo: Prentice Hall,

2002.
GUIMARES, Angelo de Moura; LAGES, Newton Alberto de Castilho.
Algoritmos e estruturas de dados.
Rio de Janeiro: LTC, 1994.
MEDINA, Marco; FERTIG, Cristina. Algoritmos e programao teoria e
prtica. So Paulo: Novatec, 2005.
ZIVIANI, Nvio. Projeto de algoritmos com implementao em Pascal e
C. 2.ed. So Paulo: Thomson, 2004.

hpt.wikipedia.org/wiki/Algoritmo
www.apostilando.com/
www.freepascal.org
www2.fundao.pro.br/articles.asp?cod=32
www.apoioinformatica.inf.br/visualg/objetivos.htm
arquivos.coinfo.cefetpb.edu.br/~fred/logalg/material/ApostilaA
lgoritmosPascal.pdf
www.malvescpv.com.br/logica_program.doc
paginas.terra.com.br/informatica/ rjmf/alpseudocodigo.htm
http://pjtsalina.codigolivre.org.br/apostilas/apascal.html
http://www.bc.furb.br/docs/MO/2002/256981_1_1.pdf
http://www.htdp.org/

Faa um fluxograma que:

1. Escreva os passos necessrios para uma


pessoa efetuar um saque em um caixa
eletrnico

Exemplos:
MEDIA = (N1+N2+N3+N4) / 4

Lgica de
programao

Operadores relacionais so muito usados


quando temos que tomar decises nos
algoritmos. Com eles fazemos testes,
comparaes, que resultam em valores lgicos
(verdadeiro ou falso):
Exemplo:
tendo duas variveis, A = 5 e B = 3:

Basicamente, uma varivel possui trs atributos: um


nome, um tipo de dado associado mesma e a
informao o por ela guardada.

VAR <nome_da_varivel> : <tipo_da_varivel>


VAR <lista_de_variveis> : <tipo_das_variveis>

Leitura do material programao em dev C++

Adotada: ARAJO, Everton C. Algoritmos:


fundamento e prtica.
Captulo: 10 - Pseudocdigos Estrutura
Condicional.

MANZANO, Jos Augusto N. G.; OLIVEIRA, Jayr Figueiredo.


Algoritmos: lgica para
desenvolvimento de programao de computadores.
Captulo: 4 - Estruturas de Controle A Tomada de Deciso.
ARAJO, Everton C. Algoritmos: fundamento e prtica.
Captulo: 11 - Estruturas de Repetio.
MANZANO, Jos Augusto N. G.; OLIVEIRA, Jayr Figueiredo.
Algoritmos: lgica para
desenvolvimento de programao de computadores.
Captulo: 5 - Estruturas de Controle Laos ou Malhas de
Repetio.
SALIBA, Walter Lus Caram. Tcnicas de programao: uma
abordagem estruturada.
Captulo: 7 - Controle do Fluxo de Execuo.

ARAJO, Everton C. Algoritmos: fundamento e prtica. 2.ed.


Florianpolis: VisualBooks, 2005.
MANZANO, Jos Augusto N. G.; OLIVEIRA, Jayr Figueiredo.
Algoritmos: lgica para desenvolvimento de
programao de computadores. 17.ed. So Paulo: rica, 2005.
SALIBA, Walter Lus Caram. Tcnicas de programao: uma
abordagem estruturada. So Paulo: Pearson
Education do Brasil, 1992.