Para aprender uma linguagem de programação podemos começar por conhecer os vocábulos ou símbolos que formam o seu léxico e depois aprender como esses vocábulos integram as instruções (frases) que compõe um programa escrito nessa linguagem e, claro, qual o significado dessas instruções. Existem, basicamente, cinco tipos principais de símbolos: Identificadores Palavras reservadas Valores constantes Operadores Separadores e Delimitadores 1
Identificadores São símbolos que podem ser criados pelo programador para, por exemplo, identificar uma variável, ou pré-definidos em bibliotecas padrão existentes. Exemplos: x, y, nome,... Identificadores class Exemplo {static void Main() {int x, y; float z; x = 5; y = 10; z = (x+y)/2; System.Console.WriteLine ( O resultado é {0}.,z); } } 2
Palavras reservadas São os símbolos da linguagem que têm um significado específico e que não podem ser redefinidos pelo programador, isto é, não podem ser utilizados para outras finalidades além das definidas na LP. Exemplos: Main, int, float,... Palavras reservadas class Exemplo {static void Main() {int x, y; float z; x = 5; y = 10; z = (x+y)/2; System.Console.WriteLine ( O resultado é {0}.,z); } } 3
Valores Constantes São valores de dados que são explicitados no texto de um programa. Exemplos: 1.o valor -, 2.o valor, 2... Valores Constantes class Exemplo {static void Main() {int x, y; float z; x = 5; y = 10; z = (x+y)/2; System.Console.WriteLine ( O resultado é {0}.,z); } } 4
Operadores Estes símbolos representam operações sobre variáveis ou constantes. Com os operadores são escritas expressões que permitem calcular valores. Exemplos: +, /,... Operadores class Exemplo {static void Main() {int x, y; float z; x = 5; y = 10; z = (x+y)/2; System.Console.WriteLine ( O resultado é {0}.,z); } } 5
Separadores e Delimitadores Separadores são símbolos que separam outros símbolos, como identificadores, literais, palavras reservadas. O espaço é o separador mais utilizado no texto de um programa. Outros exemplos:,. Delimitadores são símbolos que permitem marcar o inicio e o término de outros símbolos Exemplos: ; Separadores e Delimitadores class Exemplo {static void Main() {int x, y; float z; x = 5; y = 10; z = (x+y)/2; System.Console.WriteLine ( O resultado é {0}.,z); } } 6
Comandos (Instruções) Os Comandos são formados combinando adequadamente os diversos símbolos e terminam geralmente com um delimitador. Podem existir comandos atómicos envolvendo uma só instrução seguida de um símbolo terminal ou comandos compostos que envolvem vários comandos atómicos. No caso do C# por exemplo: {int x, y; float z; x = 5; y = 10; z = (x+y)/2; System.Console.WriteLine ( O resultado é {0}.,z); } Comando atómico Comando composto As instruções são executadas sequencialmente mas em todas as linguagens existem estruturas de controle de sequência que permitem controlar a ordem de execução. 7
Exercício: using System; class OlaMundo {static void Main() {Console.WriteLine ( Olá Mundo ); } } A programação estruturada é baseada em três estruturas básicas para execução de comandos: a sequência, a selecção e a repetição. SEQUÊNCIA Na linguagem C#, o símbolo ; é um terminador de comandos que indica a sequência de execução destes. 8
SELECÇÃO As estruturas de selecção tem como objectivo a escolha de um processamento alternativo entre dois ou mais procedimentos. A forma geral dessa estrutura é: SE <expressão> ENTÃO <bloco 1> [ SENÃO <bloco 2> ] ; (A parte SENÃO é opcional.) SELECÇÃO A forma geral dessa estrutura em C# é: if (expression) statement1 [else statement2] Em C# existem ainda outras variantes que permitem fazer seleção usando as palavras reservadas: switch case 9
REPETIÇÃO As estruturas de repetição tem como objectivo a repetição do processamento de um comando ou conjunto de comandos. A forma geral dessa estrutura é: ENQUANTO <expressão> { <bloco> } REPETIÇÃO A forma geral dessa estrutura em C# é: while (expression) statement Em C# existem ainda outras variantes que permitem fazer repatição usando as palavras reservadas: do for foreach in 10
Calcular o factorial de um número inteiro, positivo e menor que 50: Ler NUM Se NUM>0 E NUM<50 então { Fact=1 I=NUM Enquanto I>0 { Fact= Fact * I I=I-1} escrever - O Factorial pedido é -, Fact } Senão escrever- O valor dado está fora da especificação! DESVIOS INCONDICIONAIS Existem casos específicos nos quais é conveniente controlar a saída de uma repetição de outra forma, além daquela estabelecida pela expressão de condição de repetição. Existem linguagens que possuem comandos para esse fim no entanto devemos evitar o uso de tais comandos pois o seu uso dificulta muitas vezes a compreensão do programa. 11
DESVIOS INCONDICIONAIS Exemplo: int x=0; Faz sair do ciclo while (true) de repetição while { x=x+1; if (x>20) break; System.Console.WriteLine (x) } Conceitos a saber: Tipos de símbolos de uma LP: Palavras Reservadas Identificadores Valores Constantes Separadores e Delimitadores Operadores 12
Conceitos a saber: Instruções/Comandos Estruturas de Controle SEQUÊNCIA SELECÇÃO REPETIÇÃO DESVIOS INCONDICIONAIS 13