Você está na página 1de 25

EXA801 Algoritmos e Programao 1

Prof. Matheus Giovanni Pires


Aula 1-Introduo aos Algoritmos
Universidade Estadual de Feira de Santana
Departamento de Cincias Exatas
Engenharia de Computao
Esta aula foi baseada em material cedido gentilmente pelas professoras
Ana Lcia Lima Marreiros Maia e Fabiana Cristina Bertoni
O computador
Memria Principal
(RAM, ROM, Cache,
Registradores)
Dispositivos de
Entrada
Dispositivos de Sada
CPU
Memria Secundria
(CD, Disquete, HD)
2
O computador
Hardware: Componentes fsicos de um sistema de
computao.
Software: Instrues para o hardware executar uma
tarefa. So os programas do computador.
Sistema Operacional: Conjunto de programas e
rotinas que gerenciam recursos de hardware de
modo a possibilitar sua utilizao e permitir a
comunicao entre os dispositivos.
3
Linguagens de programao
Proporcionam ao programador a possibilidade de
fornecer instrues ao computador atravs de
comandos ou sentenas, escritas em uma linguagem
prxima linguagem humana, permitindo desta
forma a criao de novos softwares.
Linguagem que o computador entende a linguagem de
mquina, composta de 0 e 1.

4
Linguagens de programao
Cada linguagem de programao obedece regras
especficas.
As regras de sintaxe de uma linguagem de programao
definem como so definidas as instrues a serem
executadas.
BAIXO NVEL - Linguagens de mquina e de
montagem.
Mais compatveis com o hardware do computador.
ALTO NVEL - Linguagens de compilao e
interpretao.
Similares nossa linguagem natural.
5
Linguagens de programao
Linguagem de mquina
Formada por cdigos binrios interpretados diretamente
pelo hardware do computador.
Exemplo:

6
Linguagens de programao
Linguagem Assembler
Formada por cdigos mnemnicos, os quais precisam ser
convertidos em Linguagem de Mquina, para que sejam
interpretados pelo hardware do computador.
uma linguagem difcil e especfica, mas poderosa e
eficiente.
Exemplo:

7
Linguagens de programao
Linguagem de alto nvel
Usa sintaxe prxima da linguagem do usurio.
Precisa ser convertida em Linguagem de Mquina, para
que seja interpretada pelo hardware do computador.
Exemplos: Fortran, Basic, Pascal, Delphi, C, C++, Java.

program teste;
begin
writeln("Hello world");
end.
8
Linguagens de programao
Linguagem de alto nvel
Converso em linguagem de mquina.

9
Algoritmos
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
10
Algoritmos
Propriedades:
A sequncia de instrues deve ser finita.
Deve terminar depois de um nmero finito de passos.
No deve existir ambiguidade sobre o prximo passo a ser
realizado.
Deve ser correto, ou seja, sempre termina e para qualquer
instncia de entrada produz uma sada correta.
Exemplos: receita de bolo, manual do videocassete, regras
de um jogo, direes para ir entre dois lugares, etc.

11
Algoritmos
Podemos construir algoritmos diferentes para
realizar a mesma tarefa.
Um mesmo problema pode ser resolvido de vrias formas,
visando atingir o mesmo objetivo.
Construindo um algoritmo:
Ler atentamente o enunciado do problema destacando
seus pontos principais;
Definir os dados de entrada, ou seja, quais dados sero
fornecidos;
Definir o processamento dos dados, ou seja, o que deve
ser feito aos dados de entrada para transform-los em
dados de sada.
Definir os dados de sada, ou seja, a resposta ao problema.
12
Algoritmos
Um algoritmo pode ser escrito de quatro formas:
Descrio Narrativa ou Linguagem Natural
Fluxograma
Pseudocdigo
Linguagem de programao
13
Algoritmos
Descrio Narrativa
Escrever aquilo que se quer fazer, assim como em uma
receita de bolo.
Passo 1: receber os dois nmeros que sero multiplicados.
Passo 2: multiplicar os nmeros.
Passo 3: Mostrar o resultado obtido na multiplicao.

14
Algoritmos
Fluxogramas
So diagramas que representam graficamente o algoritmo,
enfatizando os passos individuais e o fluxo da execuo.
Elementos so representados por smbolos convencionais
e os relacionamentos por linhas de conexo, permitindo
visualizar o fluxo lgico atravs do tempo.

15
Algoritmos
Fluxogramas: smbolos

Some A e B

Leia A e B
Soma > 5
Imprima
Maior que 5
Incio
Imprima
Menor que 5
Fim
S
N
inicio / fim
leitura
deciso
ao
impresso
conector
16
Algoritmos
Pseudocdigo
Linguagem especial para expresso de algoritmos,
funciona como uma linguagem simplificada de
programao, utilizando expresses concisas e pr-
definidas para representar as aes e os fluxos de
execuo.

17
Algoritmos
Linguagem de programao
Escrita de algoritmos a partir de um conjunto de comandos
definido pela linguagem de programao
Exemplo: cdigo em C.
#include <stdio.h>
int main() {
int a, b, soma;
scanf ("%d, %d", &a, &b);
soma = a + b;
if (soma > 5) {
printf ("%d maior que 5.", soma);
}
else {
printf ("%d menor que 5.", soma);
}
}
18
Variveis
Uma varivel uma poro da memria do
computador onde um valor pode ser armazenado
para ser usado por um programa.
A esse espao de memria associado um nome
(identificador) e um tipo que corresponde ao tipo de
informao que ser armazenada.
Nomes de variveis:
O primeiro caractere deve ser uma letra ou o caractere _
Na formao dos identificadores so permitidos: nmeros,
letras (maisculas ou minsculas) e o caractere _
Algumas linguagens fazem diferena entre maisculas e
minsculas, portanto o identificador num diferente de
Num, nUm, NUM, ...
No so permitidos espaos em branco.
19
Variveis
Tipos de dados primitivos
caractere, inteiro, real
Declarao de variveis
Normalmente feita no incio do algoritmo
Define o espao a ser reservado na memria para uso do
algoritmo.
Forma Geral
tipo nome;
Exemplo:
inteiro a;
real b, c;
Nem todas as linguagens exigem declarao de
variveis. A linguagem C exige.
20
Variveis
Para armazenar valores em variveis
Operador de atribuio (=): armazena um valor ou o
resultado de uma expresso em uma varivel.
Exemplo:
inteiro a, b;
a = 10;
b = 5 * 7 + a;
Comando de leitura de dados
Obtm dados do usurio via teclado.
Exemplo:
leia(valor);
21
Exemplos de programas
Escreva um programa que escreva a frase Meu
primeiro programa na tela.
#include <stdio.h>

int main() {

printf("Meu primeiro programa");

return 0;

}
22
Exemplos de programas
Escreva um programa que calcule a soma de dois
nmeros inteiros.
#include <stdio.h>

int main() {
int a, b, soma;
printf("Digite o valor do primeiro numero: ");
scanf("%d", &a);
printf("\nDigite o valor do segundo numero: ");
scanf("%d", &b);
soma = a + b;
printf("\nO resultado da soma eh.: %d", soma);
return 0;
}
23
Exemplos de programas
Escreva um programa que leia a base e a altura de
um tringulo e calcule e escreva na tela o valor de
sua rea.

#include <stdio.h>

int main() {
int base, altura, area;
printf("Digite o valor da base do triangulo: ");
scanf("%d", &base);
printf("\nDigite o valor da altura do triangulo: ");
scanf("%d", &altura);
area = (base * altura)/2;
printf("\nA area do triangulo eh.: %d", area);
return 0;
}
24
Exerccios
Um funcionrio recebe um salrio fixo mais 4% de
comisso sobre as vendas. Escreva um programa que leia
o valor do salrio fixo de um funcionrio e o valor de
suas vendas, calcule e mostre na tela a comisso e o
salrio final do funcionrio.
Sabe-se que para iluminar de maneira correta os
cmodos de uma casa, para cada m2 deve-se usar 18W
de potncia. Escreva um programa que leia as dimenses
de um cmodo retangular (em metros), calcule e mostre
a sua rea (em m
2
) e a potncia de iluminao que
dever ser utilizada.
Joo recebeu seu salrio e precisa pagar duas contas que
esto atrasadas. Joo dever pagar de multa 2% do valor
de cada conta. Escreva um programa que leia o valor do
salrio de Joo e o valor de cada uma das contas, calcule
e mostre na tela quanto restar do salrio de Joo.
25