Upload
others
View
143
Download
3
Embed Size (px)
Citation preview
UFCD 0782 - Estrutura Básica e Conceitos Fundamentais
1ºTIS
2019/2020
Conceitos Introdutórios
■ Linguagens naturais e linguagens formais;
■ Algoritmos e pseudocódigo;
■ Dados e tipos de dados;
■ Variáveis e constantes;
■ Tipos de operadores;
■ Ficha de trabalho.
2
Sumário
Linguagens naturais e linguagens formais
■ Linguagem – forma de comunicação, que utiliza símbolos e determinadas regras
para os combinar;
■ Linguagem natural é a linguagem falada ou escrita – Português;
3
Unidade 1 – Introdução à programação
Linguagem Associação de formas com significado
Sintaxe Especificação da combinação das formas
Semântica Especificação dos significados
Linguagens naturais e linguagens formais
■ Linguagem formal – são previamente projetadas para determinados fins.
4
Unidade 1 – Introdução à programação
Linguagem natural Não projetada pelas pessoas
Passível de várias interpretações
Linguagem formal Previamente projetada para determinados fins
Evita ambiguidades e redundância
Linguagens de programação
■ Existem inúmeras linguagens de programação. Estas são organizadas em gerações.A 1ª geração corresponde a linguagens de mais baixo nível, a linguagem máquina,as de nível superior aproximam-se da compreensão dos seres humanos.
5
Unidade 1 – Introdução à programação
Linguagem de
programação
Sistema de escrita formal, constituído por um conjunto
de regras para a escrita de programas de computador.
Programa (código)Conjunto de instruções numa linguagem de
programação.
Instrução Especificação ao processador da ação a executar.
6
Unidade 1 – Introdução à programação
7
Unidade 1 – Introdução à programação
SERÁ QUE SABES?1 - Qual a diferença entre a linguagem natural e a linguagem formal?
(A) As linguagens naturais podem ser projetadas pelas pessoas,
enquanto as linguagens formais não.
(B) A ambiguidade e a redundância são características das linguagens
naturais.
(C) Não existem diferenças entre as linguagens naturais e formais.
(D) A estrutura, a sintaxe e semântica das linguagens naturais são
previamente estabelecidas.
8
SERÁ QUE SABES?2 - Qual a diferença entre uma linguagem de programação de alto nível e
uma linguagem de programação de baixo nível?
(A) É de alto nível quando se aproxima da linguagem-máquina e de baixo
nível quando se aproxima da compreensão dos seres humanos.
(B) É de alto nível quando se afasta da linguagem natural e é de baixo
nível quando se aproxima desta.
(C) É de alto nível quando se aproxima da compreensão dos seres
humanos e de baixo nível quando se aproxima da linguagem-
máquina.
(D) Ambas as linguagens são diretamente executáveis pelo processador
do computador.
9
Algoritmos
■ Um algoritmo pode ser escrito com o auxilio de uma linguagem natural, mas existem
outros modos de especificação que são o fluxograma e o pseudocódigo.
■ No primeiro caso utiliza-se uma representação gráfica e no segundo caso, uma
representação textual (português estruturado).
10
Unidade 1 – Introdução à programação
Problema
Algoritmo
Programa
O que se pretende resolver
Sequência finita de instruções descritas de forma lógica,
ordenada, clara e precisa a fim de resolver o problema
Algoritmo codificado numa linguagem de programação
Fluxograma
■ Utilizam símbolos gráficos.
11
Unidade 1 – Introdução à programação
Símbolo
DescriçãoInicio ou fim do
algoritmo
Entrada ou saída
de dados
Processo/
Operação
Decisão/
ComparaçãoConexão Linha de fluxo
Pseudocódigo
■ Utiliza uma representação textual (narrativa) constituída por palavras da linguagem
natural e pela sintaxe característica das linguagens de programação.
12
Unidade 1 – Introdução à programação
Estrutura Elemento
Dados Variáveis, constantes
Tipos de dados Numéricos, lógicos, carateres, estruturados
Operadores Aritméticos, relacionais, lógicos, de cadeias de carateres
Instruções básicas Atribuição, de entrada, de saída
Estruturas de controlo Sequencial, decisão ou seleção, repetição
■ Programas extensos – fluxograma fica difícil de concretizar.
Algoritmo – Para construir é necessário:
1- Compreender o problema (o que se pretende);
2- Identificar os dados de entrada (os dados fornecidos e a sua situação inicial);
3- Identificar os dados de saída (os dados resultantes do processamento);
4- Identificar as operações de processamento (os cálculos e as restrições para a obtenção
dos dados de saída a partir dos dados de entrada);
5- Elaborar o algoritmo, definindo:
- as variáveis necessárias para armazenar as entradas e efetuar o processamento;
- as instruções necessárias.
6- Testar o algoritmo.
13
Unidade 1 – Introdução à programação
Algoritmo – Dividir em duas partes…
■ Declaração de dados e variáveis;
■ Instruções que concretizam as operações necessárias para atingir um objetivo.
14
Unidade 1 – Introdução à programação
A soma de dois números
15
Unidade 1 – Introdução à programação
Linguagem natural Fluxograma PseudocódigoLinguagem de
programação (Pascal)
1. Início
2. Ler dois valores
reais (a,b)
3. Efetuar o cálculo
da soma dos dois
valores reais
(c=a+b)
4. Escrever o
resultado da
soma (c)
5. Fim
Algoritmo soma;
Variáveis a,b,c: real;
Inicio
Ler (a,b);
c←a+b;
Escrever (c);
Fim.
Program soma;
Var a, b, c: real;
Begin
Readln(a,b);
c:=a+b;
Write(c);
End.
Inicio
Ler (a,b)
c←a+b
Escrever (c)
Fim
SERÁ QUE SABES?3 – Define o conceito de algoritmo.
(A) É um conjunto de instruções escritas com a ajuda de uma linguagem
natural, mas que não necessita de expressões precisas.
(B) É uma sequência de instruções que devem ser exatamente seguidas
passo a passo para resolver um determinado problema.
(C) É um conjunto de instruções codificadas numa linguagem de
programação.
(D) É o conjunto de instruções que são descritas aleatoriamente para
compreender um determinado problema.
16
SERÁ QUE SABES?4 – Completa a seguinte afirmação:
“O __________ é uma escrita informal, de alto nível, de um algoritmo que
apresenta alguns elementos de uma linguagem de programação.
(A) Pseudocódigo.
(B) Algoritmo.
(C) Fluxograma.
(D) Programa
17
SERÁ QUE SABES?5 – Define o conceito de fluxograma.
(A) É uma linguagem de programação formal.
(B) É uma linguagem de programação natural.
(C) É uma representação textual de um algoritmo.
(D) É uma representação gráfica de um algoritmo.
18
Dados e tipos de dados
■ Dados - elementos sobre os quais serão efetuadas operações.
■ Tipos de dados – está associado a um conjunto de valores, que definem o formato
específico desse tipo.
19
Unidade 1 – Introdução à programação
Dados e tipos de dados
20
Unidade 1 – Introdução à programação
Tipo de dado Intervalo de valores Exemplo
Numérico Integer (inteiro) -32 768 a 32 767 30
Longint (inteiro longo) -2 147 483 648 a 2 147 483 647 1 123 23 123
Shortint (inteiro curto) -128 a 127 -3
Byte (inteiro) 0 a 255 200
Real (real) 2,9x10-39 a 1,7x1038 2,5
Lógico Boolean (booleano) True ou False (verdadeiro ou falso) True
Carácter Char (carácter) Qualquer elemento da tabela ASCII a
Cadeia de caracteres String (texto) Até 255 elementos da tabela ASCII Olá
Dados e tipos de dados
21
Unidade 1 – Introdução à programação
Tipo de dado Descrição
Estruturado Array (vetor) É identificado por um único nome.
A sua estrutura é definida por vários elementos do mesmo tipo.
Record (registo) Constituído por um conjunto de dados “logicamente relacionados”,
podendo estes, ser de tipos diferentes.
Constantes e variáveis
22
Unidade 1 – Introdução à programação
■ Constantes – identificadores para designar valores que não variam ao longo da execução
do programa.
– Pi =3,14
■ Variáveis – identificadores para designar valores que podem variar ao longo da execução
do programa.
– D=2xr
23
Unidade 1 – Introdução à programação
Resolução de uma ficha de trabalho
Próxima aula...
24
Instruções de atribuição
25
Unidade 1 – Introdução à programação
■ Associa um determinado valor a uma variável.
– P 5
Instruções de entrada e de saída
26
Unidade 1 – Introdução à programação
■ Entrada - servem para ler dados exteriores ao programa, que são armazenados em
variáveis.
– Quando pedimos ao utilizador para inserir o comprimentos dos catetos para
calcularmos a hipotenusa.
– Ler (cateto)
– Obter (Cateto)
■ Saída – servem para escrever dados para o exterior do programa.
– Quando mostramos o resultado, neste exemplo, o valor da hipotenusa.
– Escrever (“Olá”)
– Apresentar (“Hipotenusa=“, hipotenusa)
Operadores e expressões
■ Operadores – elementos matemáticos que atuam sobre constantes e variáveis,
numa determinada expressão;
■ Expressão – combinação de operandos e operadores e que, uma vez resolvidas,
resultam num determinado valor.
27
Unidade 1 – Introdução à programação
Operadores
Aritméticos
Relacionais
Lógicos
Expressão x=(a+b)*3
Operadores aritméticos
■ Permitem a realização de operações matemáticas com valores do tipo numérico,
cujo resultado é também um valor numérico.
28
Unidade 1 – Introdução à programação
Operador Significado Exemplo
^ Exponenciação 5^2 = 25
* Multiplicação 5*2 = 10
/ Divisão 5/2 = 2.5
MOD Resto da divisão inteira 15 MOD 2 = 1
DIV Divisão inteira 15 DIV 2 = 7
+ Adição 5 + 4= 9
– Subtração 6 - 2 = 4
+
–
Prioridade
Operadores aritméticos
■ Os operadores MOD e DIV só podem ser aplicados a valores do tipo inteiro;
■ Do operador Divisão (/) resulta sempre num valor real;
■ Em caso de empate na prioridade das operações, estas realizam-se da esquerda
para a direita.
29
Unidade 1 – Introdução à programação
Operadores relacionais
■ Efetuam comparações entre expressões, resultando sempre num dos valores
lógicos, true ou false.
■ Os operadores relacionais têm menos prioridade que os aritméticos.
30
Unidade 1 – Introdução à programação
Operador Significado Exemplo Resultado
> Maior que 5 > 6 FALSE
< Menor que 2*3 < 2^3 TRUE
<> Diferente de 2+3 <> 6 TRUE
= Igual a 2 = 0 FALSE
<= Menor ou igual a 4 * 2 <= 0 FALSE
>= Maior ou igual a 8 >= 2 TRUE
Operadores lógicos
■ Realizam operações lógicas, devolvendo sempre um dos valores lógicos, true ou false.
■ Para se poder utilizar operadores lógicos, é necessário conhecer a tabela de verdade, que
contém as combinações possíveis dos operandos A e B para cada um dos operadores.
31
Unidade 1 – Introdução à programação
Operador Significado Exemplo Resultado
NÃO (NOT) Negação NÃO (13 >5) FALSE
E (AND) Conjunção 13 > 5 E 5 > 2 TRUE
OU (OR) Disjunção 13 < 5 OU 2 > 13 FALSE
Operadores lógicos
■ Tabela de verdade
32
Unidade 1 – Introdução à programação
A B A E B A OU B NOT A
V V V V F
V F F V F
F V F V V
F F F F V
Prioridade dos operadores
33
Unidade 1 – Introdução à programação
Prioridade Operadores
1ª NAO
2ª ^
3ª * / MOD DIV E
4ª + – OU
5ª < <= > >= <> =
Qual o resultado final da expressão?
34
Unidade 1 – Introdução à programação
((10+5) > 10) E (10 < (10-5))
(15 > 10) E (10 < 5)
V E F
F
Qual o resultado final da expressão?
35
Unidade 1 – Introdução à programação
NOT ((6>=3) E (5 <> 6)) OU (10*2 > 22)
NOT( V E V ) OU (20>22)
NOT( V ) OU F
F OU F
F
SERÁ QUE SABES?6 – Classifica de verdadeira ou falsa as seguintes afirmações.
(A) De acordo com o conceito de prioridade, os operadores adição e
subtração são sempre executados antes dos operadores de multiplicação
e divisão.
(B) Os operandos são valores que recebem a ação dos operadores.
(C) Os operadores DIV e MOD podem ser aplicados a valores do tipo real.
36
SERÁ QUE SABES?7 – Indica o resultado das seguintes expressões.
(A) 3 div 2
(B) 3 mod 2
(C) (20 div 10) mod 2
37
1
1
0