UFCD 0782 Estrutura Bsica e Conceitos Fundamentais 1TIS
UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios
Sumário ■ 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
Unidade 1 – Introdução à programação 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; Linguage m Associação de formas com significado Sintaxe Especificação da combinação das formas Semântica Especificação dos significados 3
Unidade 1 – Introdução à programação Linguagens naturais e linguagens formais ■ Linguagem formal – são previamente projetadas para determinados fins. 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 4
Unidade 1 – Introdução à programação Linguagens de 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. ■ 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 6
Unidade 1 – Introdução à programação 7
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 linguagemmáquina. (D) Ambas as linguagens são diretamente executáveis pelo processador do computador. 9
Unidade 1 – Introdução à programação Algoritmos Problema O que se pretende resolver Algoritmo Sequência finita de instruções descritas de forma lógica, ordenada, clara e precisa a fim de resolver o problema Programa Algoritmo codificado numa linguagem de programação ■ 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 Fluxograma ■ Utilizam símbolos gráficos. Símbolo Descrição Inicio ou fim do algoritmo Entrada ou saída de dados Processo/ Operação Decisão/ Comparação Conexão Linha de fluxo 11
Unidade 1 – Introdução à programação 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. 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. 12
Unidade 1 – Introdução à programação 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 Linguagem natural 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 Fluxograma Inicio Ler (a, b) c←a+b Pseudocódigo Algoritmo soma; Variáveis a, b, c: real; Inicio Ler (a, b); c←a+b; Escrever (c); Fim. Linguagem de programação (Pascal) Program soma; Var a, b, c: real; Begin Readln(a, b); c: =a+b; Write(c); End. Escrever (c) Fim 15
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
Unidade 1 – Introdução à programação 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 Tipo de dado Numérico Integer (inteiro) Intervalo de valores Exemplo -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, 9 x 10 -39 a 1, 7 x 1038 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á 20
Unidade 1 – Introdução à programação Dados e tipos de dados Tipo de dado Estruturado Descrição 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. 21
Unidade 1 – Introdução à programação Constantes e variáveis ■ 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=2 xr 22
Unidade 1 – Introdução à programação Resolução de uma ficha de trabalho 23
Próxima aula. . . 24
Unidade 1 – Introdução à programação Instruções de atribuição ■ Associa um determinado valor a uma variável. – P 5 25
Unidade 1 – Introdução à programação Instruções de entrada e de saída ■ 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) 26
Unidade 1 – Introdução à programação 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. Operadore s Expressão Aritméticos Relacionais Lógicos x=(a+b)*3 27
Unidade 1 – Introdução à programação 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. 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 – 28
Unidade 1 – Introdução à programação 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. Operad or 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 ■ Os operadores relacionais têm menos prioridade que os aritméticos. 30
Unidade 1 – Introdução à programação Operadores lógicos ■ Realizam operações lógicas, devolvendo sempre um dos valores lógicos, true ou false. ■ Operado r 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 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 Operadores lógicos ■ Tabela de verdade A B AEB A OU B NOT A V V F V F F V 32
Unidade 1 – Introdução à programação Prioridade dos operadores Prioridade Operadores 1ª NAO 2ª ^ 3ª * / MOD 4ª + – OU 5ª < <= > DIV E >= <> = 33
Unidade 1 – Introdução à programação Qual o resultado final da expressão? ((10+5) > 10) E (10 < (10 -5)) (15 > 10) E (10 < 5) V E F F 34
Unidade 1 – Introdução à programação Qual o resultado final da expressão? NOT ((6>=3) E (5 <> 6)) OU (10*2 > 22) NOT( V E V ) OU (20>22) NOT( V ) OU F F 35
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 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. 1 (A) 3 div 2 1 (B) 3 mod 2 (C) (20 div 10) mod 2 0 37
- Slides: 37