AI-B-Modulo 1

Fazer download em pptx, pdf ou txt
Fazer download em pptx, pdf ou txt
Você está na página 1de 95

Unidade 1 – INTRODUÇÃO À

PROGRAMAÇÃO
12º ANO
APLICAÇÕES INFORMÁTICAS B
Objetivos
Compreender e desenvolver algoritmos.
Conhecer os conceitos fundamentais relacionados com
algoritmia e programação.
Utilizar a programação estruturada no desenvolvimento de
programas.
Utilizar a programação orientada aos eventos no
desenvolvimento de programas.
Introdução
As linguagens de programação não são mais do que um
conjunto de palavras utilizadas na escrita de programas, de
acordo com léxico próprio sujeito a uma determinada
estrutura.
Inicialmente as linguagens de programação, aproximavam-se
bastante das instruções do processador, o que as tornava
muito complexas e de difícil utilização. No entanto esta
evoluiu rapidamente, e desde então aparecem linguagens
aproximadas da linguagem natural.
Introdução

Ada Lovelace criou a


primeira linguagem de
programação.
Introdução
As linguagens de programação têm como objetivo:
Permitir a escrita de programas utilizados pelo
computador:
 Processadores de texto
 Folhas de cálculo
 Sistemas operativos
 Jogos
 Programas de tratamento de imagens e de gráficos
Introdução
Etapas da programação:
1. Definição do problema;
2. Planificação da resolução;
3. Codificação;
4. Teste e correção de erros;
5. Documentação;
6. Manutenção
Conceitos fundamentais
Algoritmo (fase da conceção)
Conjunto de regras bem determinadas para a resolução
de um problema, através de um número finito de
operações.

Programa (fase da implementação)


Conjunto de instruções destinadas a serem processadas
num sistema informático.
Conceitos
fundamentais

Ficha de trabalho nº1


Algoritmos e Pseudocódigo
Crie um algoritmo para ajudar o robot a chegar a casa, desviando-se
dos obstáculos.

Avança 1 passo
em frente

Vira para a
esquerda

Vira para a
direita
Algoritmos e Pseudocódigo
Uma linguagem de programação tem como objetivo
expressar um processo que, com o auxílio do
computador, tende a resolver um problema. No
entanto para efetuar a passagem do problema para um
programa, convém elaborar um algoritmo.
Algoritmos e Pseudocódigo
Um algoritmo pode ser escrito com o auxílio de uma linguagem natural,
utilizando expressões precisas.
Algoritmos e Pseudocódigo
Mas existem outros modos de especificação: o fluxograma…
Algoritmos e Pseudocódigo
… e o pseudocódigo.
Algoritmos e Pseudocódigo
Os fluxogramas utilizam símbolos gráficos para representar o fluxo das
ações.
Algoritmos e
Pseudocódigo
Os pseudocódigos
utilizam uma
representação textual
(narrativa) constituída
por palavras da
linguagem natural e
pela sintaxe
característica das
linguagens de
programação.
Algoritmos e Pseudocódigo
A utilização de um fluxograma torna-se complicado quando o programa é
muito extenso. Neste caso devemos utilizar o pseudocódigo.
Para construir um algoritmo é necessário:
1. Compreender o que se pretende.
2. Identificar os dados de entrada.
3. Identificar os dados de saída (dados que resultam do processamento).
4. Elaborar o algoritmo:
 Variáveis necessárias para armazenar as entradas e efetuar o processamento;
 As instruções necessárias.
5. Testar o algoritmo.
Algoritmos e Pseudocódigo
Algoritmos e
Pseudocódigo

Ficha de trabalho nº2


Dados e tipos de dados
Os dados são elementos sobre os quais serão efetuadas
operações. Podem ser de diferentes tipos:
 Integer (números inteiros);
 Double (números reais);
 String (carateres);
 Boolean (lógicos);
 Arrays (vetores);
 Record (Registos).
Dados e tipos de dados
Integer (inteiros)
São valores numéricos, positivos ou negativos, sem a
parte decimal (vírgula).
Os números inteiros podem representar valores de
notas do aluno, idades de pessoas, distâncias em km,
temperaturas, pontos de uma equipa, etc. Exemplos:
10; 3; 300; -5; 0; 100000
Dados e tipos de dados
Double (números reais)
São valores numéricos, positivos ou negativos, com
ponto decimal.
Podem ser valores de média de notas do aluno, valor
de pi, comprimento microscópico de uma célula,
etc. Exemplos:
431.82; 3.1415; 0.00012; -0.5; 10000.001
Dados e tipos de dados
String (carateres)
São valores alfanuméricos, isto é, conjuntos de caracteres que
podem ter letras, números e outros caracteres. Estes dados
têm, obrigatoriamente, o sinal de aspas (“) no princípio e no
fim.
Os dados que têm letras e caracteres especiais, como nomes e
moradas, são sempre do tipo STRING. Exemplos:
“Escola Secundária“; “10º ano”; “5 de Outubro de 1910“;
“22º Centígrados“; ““; “P.S.I. “
Dados e tipos de dados
Boolean (Lógicos)
Os dados lógicos têm apenas 2 valores possíveis:
• Verdadeiro (True) ou
• Falso (False)
Dados e tipos
de dados
Arrays (vetores)
É uma estrutura de dados,
todos do mesmo tipo
(inteiros, reias,…), com um
nome ou identificador
comum para todos os
elementos, sendo cada
elemento identificado por
um índice. Podemos ter
arrays de várias dimensões.
Dados e tipos de dados
Record (registos)
Conjunto de dados, que podem ser ou não de tipos
diferentes entre si.
Dados e tipos de
dados

Ficha de trabalho nº3


Variáveis e constantes
 Variáveis
Valores que podem variar ao longo do programa.
• Constante
Valor que nunca varia ao longo do programa.
Variáveis e constantes guardam os valores utilizados nos programas. As
variáveis e as constantes têm um nome chamado identificador. Exemplos:
Largura; Comprimento; Area;
Idade; Temperat; Nome_Aluno; Media; C; N1
As constantes são criadas e recebem um valor “fixo” durante um
programa. Exemplos:
Max = 100; IVA = 0.23; Pi = 3.1415
Variáveis e constantes
Regras no nome de uma variável
1. Pode ter letras (maiúsculas ou minúsculas), algarismos e o
símbolo underscore (para separar duas ou mais palavras).
2. Tem que começar por uma letra.
3. Não pode ter símbolos nem espaços. Exemplo: * + > < ( ) # ! ; , . : “ - & €
4. Deve evitar caracteres acentuados (regra não obrigatória).
5. Deve ter um máximo de 255 caracteres (é aconselhado não usar muitos
caracteres para evitar erros).
6. Deve ser significativo (corresponder à sua função).
Variáveis e constantes
Exemplos de nomes válidos para variáveis:
Aluno; Idade; Comprimento; Area; Temperat;
Temperatura_maxima (é válido mas não deve ser utilizado porque tem
muitos caracteres);
Xyz (é válido mas não deve ser utilizado porque não é significativo);
Área (é válido mas não deve ser utilizado porque tem um carácter com
acento)
Exemplos de nomes não válidos:
1aluno (não começa por uma letra); Idade pessoa (tem espaço);
Tempº (tem símbolo); C*L (tem símbolo)
Variáveis e constantes

Ficha de trabalho nº4


Instruções de atribuição
Tem por finalidade atribuir um determinado valor a
uma variável. Guarda um valor.
Instruções de entrada e saída
As instruções de entrada servem para ler dados
exteriores ao programa (Input), que são armazenados
em programas.

read(c); scanf(c); num1=input.nextFloat()


Instruções de entrada e saída
As instruções de saída servem para escrever dados para
o exterior do programa (output).

write(c); printf(c); System.out.println(c)


Operadores e expressões
Operadores aritméticos

Só podem ser
aplicados a
valores
Inteiros.
Operadores e expressões
Operadores relacionais
Operadores e expressões
Operadores Lógicos
Operadores e expressões
Prioridade dos operadores
Operadores e
Expressões

Ficha de trabalho nº5


Teste e controlo de erros em algoritmia
Permitem verificar se este resolve o problema
pretendido. Para isso utiliza-se a técnica do tracing
(traçagem), que permite acompanhar passo a passo a
execução de um algoritmo.
O tracing consiste em testar o algoritmo com valores
de entrada, observando o comportamento interno ao
longo dos vários passos que compõem o algoritmo.
Teste e controlo de erros em algoritmia
a=4eb=5
Traçagens

Ficha de trabalho nº6


VISUAL BASIC
Instruções em Visual Basic
Declaração de variáveis
Instruções de Input
Instruções de processamento
Instruções de output
Visual Basic
Ex: pretende-se calcular a área de um retângulo através dos valores do comprimento e da largura.
Declaração de variáveis

 Dim Comprim As Integer Declara a variável Comprim para guardar nºs inteiros
 Dim Largura As Integer Declara a variável Largura para guardar nºs inteiros
 Dim Area As Integer Declara a variável Area para guardar nºs inteiros
Outros Exemplos:
 Dim nome As String Declara a variável nome para guardar caracteres
 Dim media As Double Declara a variável media para guardar n.ºs reais
 Dim aprovado As Boolean Declara a variável aprovado para guardar verdadeiro
ou falso
Visual Basic
Instruções de Input
Estas instruções permitem guardar
numa variável o valor introduzido
num objeto pelo utilizador
Variável = Objeto.Propriedade
 Comp = TextBox1.Text Guarda na
variável Comp o valor escrito pelo
utilizador no objeto TextBox1
 Larg = TextBox2.text Guarda na
variável Larg o valor da TextBox2
Visual Basic
Instruções de processamento
São instruções que permitem efetuar os cálculos aritméticos e
lógicos.

Area = Comp * Larg Guarda na variável Area o resultado


da operação
Visual Basic
Instruções de Output
Estas instruções permitem escrever dados calculados pelo computador no ecrã
Objeto.Propriedade = Valor

Label3.Text = Area Escreve no objeto Label 3 o valor


guardado na variável Area

Outros Exemplos:
Label1.Text = “Olá Mundo!” Escreve na Label a frase indicada entre aspas
Label1.Text = “” Apaga o texto que estiver escrito no objeto label
Visual Basic

Ficha de trabalho nº7


Estruturas de Controlo
Avaliam o desenrolar das instruções de um
programa. Subdividem-se em:
• Decisão ou seleção;
• Repetição ou ciclos;
Estrutura de Decisão ou Seleção
Permitem escolher uma opção entre as
existentes, executando sequências alternativas de
acordo com os dados de entrada.
Subdividem-se em:
• Seleção simples;
• Seleção composta;
• Seleção encadeada;
• Seleção múltipla.
Estrutura de Seleção simples
IF … Then … Else
Permite que o programa decida se executa uma instrução ou outra
mediante uma determinada condição.

If «condição» Then
• Se condição for Verdadeira
instrução A
(TRUE) executa a Instrução A,
Else • Se condição for Falsa (FALSE)
«instrução B executa a instrução B.
End If
IF … Then … Else
Exemplo: se (IF) uma pessoa tem idade igual ou superior a 18 então
(Then) é maior de idade senão (Else) é menor de idade.

idade = Val(TextBox1.Text)

If idade >= 18 Then

Label3.Text = "Maior de idade"

Else

Label3.Text = "Menor de idade“

End If
Estrutura de Seleção Composta
nota = Val(TextBox1.Text)

If nota > 20 Then


Label1.Text = “Nota Inválida”
Else
If nota < 10 Then
Label1.Text = “Negativa”
Else
Label1.Text = “Positiva”
End If
End If
Estrutura de Seleção encadeada
dia = Val(TextBox1.Text)
If dia = 1 Then
Label2.Text = "Domingo"
Else
If dia = 2 Then
Label2.Text = "Segunda-Feira"
Else
If dia = 3 Then
Label2.Text = "Terça-Feira"
Else
If dia = 4 Then
Label2.Text = "Quarta-Feira"
Else
If dia = 5 Then
Label2.Text = "Quinta-Feira"
Else
If dia = 6 Then
Label2.Text = "Sexta-Feira"
Else
Label2.Text = "Sábado"
End If
End If
End If
End If
End If
End If
Estrutura de Seleção encadeada
Na estrutura de seleção encadeada podemos substituir a
condição IF … Then … Else por If ..Then …ElseIF
If condição Then
«instrução A»
ElseIf condição Then
«instrução B»
ElseIf condição Then
«instrução C»
ElseIf...

End If
If ..Then …ElseIF
dia = Val(TextBox1.Text)
If dia = 1 Then
Label2.Text = "Domingo"
ElseIf dia = 2 Then
Label2.Text = "Segunda-Feira"
ElseIf dia = 3 Then
Label2.Text = "Terça-Feira"
ElseIf dia = 4 Then
Label2.Text = "Quarta-Feira"
ElseIf dia = 5 Then
Label2.Text = "Quinta-Feira"
ElseIf dia = 6 Then
Label2.Text = "Sexta-Feira“
Else
Label2.Text = "Sábado"
End If
Exercícios
Estrutura de Seleção Múltipla
Permite selecionar uma de múltiplas opções, de acordo com o valor de
uma variável.

Select Case «variável»


Case a
«Instrução A»
Case b
«Instrução B»
Case c
«Instrução C»

Case Else
«Instrução D»
End Select
Select Case
dia = Val(TextBox1.Text)
Select Case dia
Case 1
Label2.Text = "Domingo"
Case 2
Label2.Text = "Segunda-Feira"
Case 3
Label2.Text = "Terça-Feira"
Case 4
Label2.Text = "Quarta-Feira"
Case 5
Label2.Text = "Quinta-Feira"
Case 6
Label2.Text = "Sexta-Feira"
Case 7
Label2.Text = "Sábado"
Case Else
Label2.Text = "Dia Inválido!"
End Select
Select Case
dia = Val(TextBox1.Text)
Select Case dia
Case 2, 3, 4, 5, 6
Label2.Text = "Dia da Aulas”
Case 1, 7
Label2.Text = “Fim-de-semana”
Case Else
Label2.Text = "Dia Inválido!"

End Select
Exercícios

Crie um programa que permita ler


dois números reais.
Mediante a seleção de uma opção
(A-adição, S-subtração, M-
multiplicação e D-divisão) deve ser
efetuada a respetiva operação
aritmética e apresentar o
resultado.
Uma ScrollBar (barra de
deslocamento) permite:
• Arrastar o conteúdo de objetos
(automático).
• Selecionar valores (através de
Scrollbar código).

Existem 2 tipos de barras de


deslocamento:
HScrollBar - Barra Horizontal
VScrollBar - Barra Vertical
Propriedade das Barras

Propriedade Descrição
Maximum Maior valor do intervalo
Minimum Menor valor do intervalo
Value O valor que a caixa da barra representa
O total a alterar de cada vez que a barra é
LargeChange
atualizada (incremento)
HScrollBar
Dim nota As Integer

Private Sub HScrollBar1_Scroll(...

nota = HScrollBar1.Value

Label2.Text = nota

End Sub
VScrollBar
nota = VScrollBar1.Value
Label2.Text = nota

Select Case nota


Case 0, 1, 2, 3, 4
Label4.Text = "Mau"
Case 5, 6, 7, 8, 9
Label4.Text = "Insuf"
Case 10, 11, 12, 13, 14
Label4.Text = "Suf"
Case 15, 16, 17
Label4.Text = "Bom"
Case 18, 19, 20
Label4.Text = "M Bom"
End Select
Exercícios
NumericUpDown
Permite introduzir
valores através do
rato (com clique
nas setas) ou do
teclado:
Propriedades
Propriedade Descrição
Maximum Maior valor do intervalo
Minimum Menor valor do intervalo
Value O valor que a caixa numérica contém
DecimalPlaces Nº de casas decimais
Valor a incrementar/decrementar a cada clique
Increment
nas setas
NumericUpDown
Dim nota As Double

Private Sub Button1_Click(…


nota = NumericUpDown1.Value

If nota >= 9.5 Then

Label1.Text = "positiva" Propriedade Descrição


Else
Maximum 20
Label1.Text = "Negativa" Minimum 0
End If
Value 10,5
End Sub DecimalPlaces 1
Increment 0,1
Estruturas de Repetição ou ciclos
Permitem repetir um conjunto de instruções de um
programa, controlado pelo resultado lógico da avali
ação de uma condição ou expressão.
• For… Next;
• While…end While;
• Do… Loop Until;
For ...Next
Tipo de estrutura de repetição em que inicialmente é
conhecido o número de vezes que o bloco de
instruções será repetido. Para tal, utiliza um contador
automático implementado através de uma variável do
tipo inteiro. O valor da variável vai ser incrementado ou
decrementado, resultando a realização de uma
contagem de repetições indicadas na estrutura do ciclo.
For ...Next
For variável = início To fim
Instrução a
Next
Private Sub Button1_Click
For i = 1 to 5
ListBox1.Items.Add (“Olá”)
Next
End Sub
For ...Next
Private Sub Button1_Click
For i = 1 to 5
ListBox1.Items.Add(i)
Next
For ...Next
inicio = NumericUpDown1.Value
fim = NumericUpDown2.Value

ListBox1.Items.Clear()
For i = inicio To fim
ListBox1.Items.Add(i)
Next
For ...Next
incr = NumericUpDown1.Value
ListBox1.Items.Clear()

For n = 1 To 10 Step incr


ListBox1.Items.Add(n)
Next
For ...Next
ListBox1.Items.Clear()

For n = 10 To 1 Step -1
ListBox1.Items.Add(n)
Next
For ...Next

For i = 1 To 5 1
4
9
dobro = i * 2 16
25

ListBox1.Items.Add(dobro)
quadrado = i * i
ListBox2.Items.Add(quadrado)
Next
Exercícios
Exercícios
Exercícios
Exercícios
Escrever todos os nºs pares, desde o zero ao 20.

Escrever todos os nºs de -10 a +10, pela ordem


inversa (10, 9, 8,… -7, -8, -9, -10).
Instrução InputBox
Mostra uma caixa de diálogo permitindo a introdução
de dados.
Instrução InputBox
«variável» = InputBox (Frase, Título, Valor por Defeito)

Título (opcional)

Frase

Valor por defeito (opcional)


Instrução InputBox
Dim nome as String
Dim nota as Integer

nome = InputBox(“Escreva o nome do aluno:”)


Label1.text=nome

nota= Val(InputBox(“Indique a nota 0-20:”, “Nota do Teste”, 10))


Label2.text=nota
MSGBOX (caixa de mensagem)
MsgBox(“Isto é uma caixa de mensagem”)

MsgBox(“Isto é uma caixa de mensagem”, MsgBoxStyle.Information)


MSGBOX
MsgBox (“Isto é uma caixa de mensagem”, MsgBoxStyle.Exclamation)

MsgBox (“Isto é uma caixa de mensagem”, MsgBoxStyle.Critical)


MSGBOX
MsgBox (“Isto é uma caixa de mensagem”, MsgBoxStyle.Question)

MsgBox(“Isto é uma caixa de mensagem”, MsgBoxStyle.OkCancel)


MSGBOX
MsgBox (“Isto é uma caixa de mensagem”, MsgBoxStyle.YesNo)

MsgBox (“Isto é uma caixa de mensagem”, MsgBoxStyle.YesNo+MsgBoxStyle.Question )


MSGBOX
Ex: responder a uma caixa de mensagem

Dim resposta as Integer


resposta = MsgBox(“Quer abandonar o programa?”,
MsgBoxStyle.YesNo+MsgBoxStyle.Question)
If resposta = VbYes Then
End
End If
While… end While
Permite repetir um bloco de código enquanto uma
determinada condição for verdadeira.
É executado pelo
menos uma vez
Do While «condição» While «condição» Do
«Instrução a»
«Instrução a» «Instrução a»
Loop While «condição»
Loop End While
While… end While
Exemplo 1: Ler o valor de uma nota de teste. Continuar a ler a nota até
esta ser inválida, isto é se for maior que 20.

Dim nota As Integer


nota = Val(InputBox("Indique a nota 0-20:"))
While nota > 20
MsgBox("A nota tem que ser entre 0-20!", MsgBoxStyle.Information)
nota = Val(InputBox("Indique a nota 0-20:"))
End While
Label2.Text = nota
While… end While
Dim genero As String
genero = UCase(InputBox("Indique o género M/F"))
While genero <> "M" And genero <> "F"
MsgBox("Tem que indicar M ou F!", MsgBoxStyle.Information)
genero = InputBox("Indique o género M/F")
End While
If genero = "M" Then
Label2.Text = "Género masculino"
Else
Label2.Text = "Género feminino“
End If
Exercícios
Neste programa, só deverá continuar caso
introduza um ano válido, ou seja, neste caso
entre 1950 e 2011. Depois de introduzido um
ano válido, este deverá ser mostrado numa
Label.

Caso introduza um ano que não esteja entre


1950 e 2011 deverá surgir uma mensagem de
erro.
Exercícios
Neste programa, só deverá continuar caso
introduza uma password válida.

Caso introduza uma password inválida


deverá surgir a seguinte mensagem de
erro.
Exercícios
Crie um exercício igual ao
apresentado com as seguintes
condições:
• Ciclo for para a introdução dos
nomes e das notas;
• Ciclo while para verificar se as
notas são >20 e <0
• Colocação dos nomes em
maiúsculas (Ucase())
• Média com duas casas decimais
(Math.Round())
• Utilização de MsgBox e InputBox

Você também pode gostar