Você está na página 1de 44

INFORMÁTICA

Introdução a programação

Linguagens Pascal e MatLab


Profª. Rita Porfírio

1
5. Introdução a programação
SUMÁRIO

•Programa, algoritmo, operadores, operações, expressões


e prioridades;
•Lógica estruturada e não estruturada;
•Tipos de Variáveis;
•Declarar tipos de variáveis;
•Definir e desenvolver estrutura seqüencial;
•Definir e desenvolver estrutura condicional;
•Definir e desenvolver estrutura de repetição;
•Comandos simples e compostos.
•Tipos Estruturados (vetores e matrizes)
–2–
Bibliografia Recomendada
• Livros
1. ALENCAR FILHO, Edgard. Iniciação à Lógica
Matemática. Ed. Nobel, 2002.
2. LAGES & GUIMARAES. Algoritmos e Estrutura de
Dados. Ed. LTC, 1994.
3. PINTO, Wilson Silva. Introdução ao desenvolvimento
de algoritmos e estrutura de dados . Ed. Érica, 1991

• Softwares
– Visualg
– Pascal
– Matlab
3
Indicações

• Filmes Indicados:
– Piratas do Vale do Silício (MS)
– Jobs (Apple)
– O Quinto Poder (Wikileaks)
– A Rede Social (Facebook)
– Hackers 2 (Kevin Mitnick)

• Livros Indicados:
– Fortaleza Digital
– Universidade H4CK3R
– A Indecifrável Enigma
4
Conceitos Fundamentais
• Em matemática e ciência da computação, um algoritmo é
uma sequência finita de ações executáveis que visam
obter uma solução para um determinado tipo de
problema. Segundo Dasgupta, Papadimitriou e Vazirani;
Algoritmos são procedimentos precisos, não ambíguos,
padronizados, eficientes e corretos."
https://pt.wikipedia.org/wiki/Algoritmo

• Um Algoritmo serve para representar uma solução para


um problema;
• É uma linguagem intermediária entre a humana e as de
programação.
5
Elementos de um Algoritmo

• Dados (variáveis e constantes)


• Tipos de dados (inteiro, real,...)
• Operadores (soma, subtração,...)
• Comandos (entrada, saída, ...)
• Funções
• Comentários

6
Tipos de Algoritmo

• Pode ser representado como:


– Narrativa
– Fluxograma
– Pseudocódigo

7
Tipos de Algoritmo

• Narrativa: nesta forma de representação, os


algoritmos são expressos em linguagem natural.

Exemplo: trocar um pneu


1. Afrouxar as porcas
2. Levantar o carro
3. Retirar as porcas
4. Trocar o pneu pelo estepe
5. Apertar as porcas
6. Abaixar o carro
8
Tipos de Algoritmo

• Fluxograma: é uma representação gráfica dos


algoritmos;
• Cada figura geométrica representa diferentes
ações;
• Facilita o entendimento das ideias contidas no
algoritmo.

9
Tipos de Algoritmo

• Elementos do fluxograma:

10
Tipos de Algoritmo
• Exemplo de fluxograma:
• Início

• Calcular média de duas

• A média para passar é 7

• Indicar “Aprovado” ou
“Reprovado” como saída
(verifica se a média é maior ou
igual a 7 dentro de um losango)

11
• Fim de programa
Tipos de Algoritmo
• Pseudocódigo: forma de representação de algoritmos rica
em detalhes, uma aproximação do código final a ser escrito
em uma linguagem de programação;
 <nome_do_algoritmo> é um nome simbólico dado ao
algoritmo com a finalidade de distingui-los dos demais;
 <declaração_de_variáveis> consiste em uma porção
opcional onde são declaradas as variáveis globais usadas
no algoritmo principal e, eventualmente, nos
subalgoritmos;
 <subalgoritmos> consiste de uma porção opcional de
pseudocódigo onde são definidos os subalgoritmos;
 Início e Fim são respectivamente as palavras que
delimitam o início e o término do conjunto de instruções do
corpo do algoritmo. 12
Tipos de Algoritmo
• Algoritmo média de duas notas, em
pseudocódigo:
Algoritmo Media
Declare N1, N2, MEDIA real
Início
Leia (N1, N2)
MEDIA ← (N1 + N2) / 2
Se MEDIA >= 7 então
Escreva “Aprovado”
Senão
Escreva “Reprovado”
Fim_se
Fim 13
Tipos Básicos de Dados

• Dados Numéricos Inteiros


– São os números positivos e negativos sem casas
decimais
• Dados Numéricos Reais
– São os números positivos e negativos que possuem
casas decimais
• Dados Literais
– São seqüências de caracteres
• Dados Lógicos ou Booleanos
– Podem ser verdadeiros ou Falsos, apenas
14
Variáveis
• O armazenamento de informações pelo
computador em sua memória, se dá em uma
região nomeada através de uma variável, ao
declarar uma variável, o computador reserva um
espaço na memória para ela;
• Uma variável possui:
• NOME
• TIPO
• CONTEÚDO
• As regras para nomes de variáveis mudam de
uma linguagem para outra;
15
Variáveis
• Variáveis devem ser declaradas antes de serem
utilizadas;
• Cada tipo de variável ocupa um tamanho diferente
na memória, isso varia para cada linguagem de
programação.

16
Operadores

• Cada tipo de operador tem sua função


específica e uma ordem de precedência:
• Atribuição
• Aritméticos
• Relacionais
• Lógicos

17
Operadores

• Operadores Lógicos:

Lista de Operadores Lógicos


Operador Operação Prioridade
.OU. 3
disjunção
.E. 2
conjunção
.NAO. 1
negação

18
Operadores

• Operadores Aritméticos
Lista de Operadores Numéricos
Operador Operação Prioridade
+ adição 4
- subtração 4
* multiplicação 3
/ divisão 3
** exponenciação 2
+ conservação do sinal 1
- inversão do sinal 1
19
Operadores

• Operadores Relacionais:

Lista de Operadores Relacionais


Operador Operação
= igualdade
< Menor que
> Maior que
<= Menor ou igual
>= Maior ou igual
<> diferença 20
Operadores

• Exemplos operadores relacionais:


– cond1 ← 2 = 3 // (falso)
– cond2 ← 1.6 <> 5.0 // (verdadeiro)
– cond3 ← 1 > 5 // (falso)
– cond4 ← (1 + 2) < 5 // (verdadeiro)
– cond5 ← 10 >= 3 // (verdadeiro)
– cond6 ← 1 <= 4 // (verdadeiro)
– cond7 ← “café” < “expresso” // (verdadeiro)
– cond8 ← “café” =“café” // (verdadeiro)
– cond9 ← “café” >= “mocha” // (falso) 21
Atribuição

• Permitem colocar um valor em uma variável:


A  10
TEXTO  “Diego”

• Uma variável só pode receber um valor do seu tipo;


• Cada linguagem de programação possui tipos
específicos de dados.

22
Comando de Atribuição

• Utilizado para atribuir um valor a uma variável (“=“


ou “:=“ ou “← ”):

nome da
Valor
variável

• Notação:
x1 ← 23
temp ← x1
nome ← “Carlos da Silva”

23
Comando de Entrada

• As operações de entrada permitem que o


usuário forneça dados ao programa;
• A entrada também pode ser dada via
programas, scanners, câmeras e outros.
• Comando: leia

–Exemplos:
• leia (X)
• leia (A, NOTA)

24
Comando de Saída

• As operações de saída permitem que o


programa forneça informações ao usuário;
• Geralmente a saída é feita na tela, mas também
pode ser via rede, impressora, leds, som e
outros.
• Comando: escreva
– Exemplos:
escreva (X)
escreva (B, MEDIA, 2+2)
escreva(“cliente cadastrado com sucesso”)
25
Funções

• Podem ser pré-definidas da linguagem ou


definidas pelo programador.

• Exemplos:
– seno(angulo)
– exp(x,y)

26
Comentários

• Utilizados para descrever texto esclarecendo


trechos do código.

– { } ou // (Pascal)

– % (Matlab)

27
Iniciando em algoritmos...

• De forma genérica, a construção de um


algoritmo se resume às seguintes etapas:
1. entendimento do problema
2. elaboração da solução algorítmica
3. codificação da solução em pseudo-
código ou linguagem de programação

• Geralmente a etapa 2 é a mais complexa

28
Estruturas Sequenciais

• O fluxo de controle segue a mesma seqüência


linear da nossa escrita, ou seja:
– De cima para baixo;
– Da esquerda para direita

29
Estruturas Sequenciais

Exemplo

• Enunciado: Fazer um programa que leia dois


valores reais, e calcule e exiba a média
aritmética

• Uma boa prática seria decompor o problema em


problemas menores!! “Dividir para conquistar”

30
Estruturas Sequenciais

• Passo 1
– Qual a fórmula da média?
– A média aritmética de dois valores é calculada como
(a+b)/2
• Passo 2
– Os dados necessários serão os dois valores, que
colocaremos em duas variáveis A e B do tipo real, e
uma terceira variável, que chamaremos MEDIA, para
armazenar a média aritmética calculada.

31
Estruturas Sequenciais

• Passo 3
– A entrada dos dados neste programa é simples e
direta.
– Pedir ao usuário que digite os dois valores
• Passo 4
– O processamento é o cálculo da média, usando a
fórmula mencionada na etapa 1.
– O resultado do cálculo será armazenado na variável
MEDIA.

32
Estrutura Condicional

• Execução seletiva ou
condicional início

– Depende da avaliação da
olhar o céu
condição
chuva? F

• Permite a escolha de um
V
grupo de ações (bloco),
quando certas condições levar usar
são (ou não são) guarda- roupa
satisfeitas. chuva leve

fim
Estrutura Condicional

• Simples

• Composta

34
Estrutura Condicional Simples

início

olhar o céu

F
escuro?

acender
luz

fim
35
Estrutura Condicional Simples

• Utilizada quando precisamos testar uma certa


condição antes de executar uma ação

se
se <condição>
<condição> entao
entao
<bloco
<bloco de
de
ações>
ações>
Fim_se
Fim_se

36
Exemplo

”Algoritmo “Media
Algoritmo “Media”
Declare
Declare
:declaração
// declaraçãode de
variáveis //
variáveis:
N1, N2,
N1, N2, NF,
NF, media
mediareal
real
inicio
inicio
início do programa
// início //
do programa
leia)N1,N2,NF(
leia(N1,N2,NF)
media←
media ←3.0
(N1 /+ )N1
N2 ++ NF)
N2 +/ NF(
3.0

se
se (media
)media ≥≥ 7.0)
7.0( entao
entao
escreva(“Aluno
escreva)”Aluno aprovado”)
aprovado“(
fim_se
fim_se

Fim_algoritmo
Fim_algoritmo
37
Exercício
• Crie um algoritmo que leia um valor e
mostre esse valor caso ele seja maior que
zero.
”Algoritmo “MostraMaiorZero
Algoritmo “MostraMaiorZero”
Declare
Declare
:declaração de de
// declaração variáveis //
variáveis:
numinteiro
num inteiro
inicio
inicio
:início do do
// início programa //
programa:
leia)num(
leia(num)

se
se (num
)num >> 0)
0( entao
entao
escreva(“numero
(escreva)numero maior
maior que
que zero:”,
zero:”, num)
num“
fim_se
fim_se

Fim_algoritmo
Fim_algoritmo 38
Estrutura Condicional Composta

• Considere um problema que exija uma decisão.


– Tomemos como exemplo uma divisão, onde
haja a necessidade de que o algoritmo
verifique se o divisor é igual ou diferente de
zero.
– Se for igual não é possível dividir.
– Se for diferente é possível dividir.

39
Estrutura Condicional Composta

• Utilizada em situações em que duas alternativas


dependem da mesma condição, uma da
condição verdadeira (então) e a outra da
condição falsa (senão).
se
se <condição>
<condição> entao
entao
<bloco
<bloco de
de
ações1>
ações1>
senão
senão
<bloco
<bloco de
de
ações2>
ações2>
Fim_se
Fim_se 40
Exemplo
”Algoritmo “Media2
Algoritmo “Media2”
Declare
Declare
declaração
// declaraçãode variáveis
de variáveis//
N1, N2,
N1, N2, NF,
NF, media
mediareal
real
inicio
inicio
início do programa
// início do programa //
leia)N1,N2,NF(
leia(N1,N2,NF)
media
media ←← (N1
(N1 ++ N2
N2 ++ NF)
NF) // 3,0
3,0
se
se (media
)media ≥≥ 5,0)
5,0( entao
entao
escreva("Aluno
escreva)"Aluno aprovado")
aprovado"(
senão
senão
escreva("Aluno
escrevaAluno"(
reprovado")
)"reprovado
fim_se
fim_se
Fim_algoritmo
Fim_algoritmo 41
Exercício
• Crie um ”Algoritmo “Dif2Numeros
Algoritmo “Dif2Numeros”
algoritmo que Declare
Declare
leia dois números declaração
// declaração de variáveis //
de variáveis
inteiros e calcule : N1,
N1, N2,N2,DifDifinteiro
: inteiro
a diferença entre inicio
inicio
eles. :início
// início do do
programa //
programa:
leia)N1,N2(
leia(N1,N2)
se
se N1
N1 >> N2
N2 entao
entao
• A diferença é o
Dif
Dif ←← N1
N1 -- N2
N2
maior número senao
menos o menor senao
Dif
Dif ←← N2N2 -- N1
N1
fim_se
fim_se
escreva(“a diferença é”,
escreva)a diferença é”, Dif“(
Dif)
Fim_algoritmo
Fim_algoritmo 42
Estrutura Condicional Composta
Algoritmo "Divisão"
Declare n1, n2 inteiro
resultado real
inicio
escreva ("Digite o dividendo ==> ")
leia (n1)
escreva ("Digite o divisor ==> ")
leia (n2)
se (n2=0) entao
escreva ("impossivel dividir por 0")
senao
resultado  n1/n2
escreva ("O resultado eh ==>", resultado)
fim_se 43
fim_algoritmo
Estrutura Condicional Composta
Algoritmo
Algoritmo Maior3Numeros
Maior3Numeros
var
var
N1, N2,
N1, N2, N3
N3real
real
inicio
inicio
leia)N1,N2,N3(
leia(N1,N2,N3)
se
se N1
N1 ≥≥ N2
N2 ee N1
N1 ≥≥ N3
N3 entao
entao
escreva(N1,
escreva)"N1,"é"éo omaior")
maior(
senao
senao
seseN2
N2 ≥≥ N1N1 ee N2
N2 ≥≥ N3 entao
N3entao
escrever(N2,
escrever)"N2,"é"éo omaior")
maior(
senao
senao
escrever(N3,
escrever)"N3,"é"éo omaior")
maior(
fim_se
fim_se
fim_se
fim_se 44
Fim_algoritmo
Fim_algoritmo

Você também pode gostar