Want to create interactive content? It’s easy in Genially!

Get started free

PSI11_M9

Patrícia Lopes

Created on September 29, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

TGPSI PSI - 2PG

start

Professora: Patrícia Lopes Ano Letivo: 2024-2025

Programação Estruturada c#

Programação Estruturada

  • Aparece no fim de 1960, início de 1970, por Dijkstra, Robert W. Floyd, Tony Hoare e David Gries.
  • Defende que una função computável pode ser implementada por apenas 3 tipos de estruturas de controlo:
    • Sequência
    • Seleção
    • Repetição

Programação Estruturada

  • Programação modular, a programação estruturada orienta os programadores para a criação de estruturas simples nos programas, usando as sub-rotinas e as funções.

Instrução de Seleção

Switch

Instrução WHILE

Estrutura de um ciclo (For)

Estrutura de um ciclo (Do-WHILE)

Ciclos

  • Dentro de uma estrutura de repetição, pode-se:
    • continue: efetuar desvios para o teste da condição
    • break: causar um encerramento forçado durante as repetições

Continue e Break

  • Tabelas unidimensionais (vetores), bidimensionais (matrizes típicas) ou com mais dimensões
  • Agrupam vários elementos do mesmo tipo (ou variáveis), numa dada sequência e com uma única designação
  • Cada elemento é uma referência e é acedido pelo índice que define a sua posição relativa na matriz
  • Uma vez criado um array, pode-se alterar o seu conteúdo, mas não o seu tamanho. Ou seja, se for criado um array de 15 elementos, não há como aumentá-lo para 20 ou reduzi-lo para 10.
  • A primeira posição de um array é acessada pelo índice 0. Um array de 10 elementos terá índices entre 0 a 9.

Matrizes (ou tabelas)

Sintaxe

Organização

Inicialização

Inicialização Explícita (I)

Inicialização Explícita (II)

Matrizes com mais de uma dimensão

Matrizes com mais de uma dimensão

Jagged Arrays

  • O Método Copy, da classe Array, permite copiar um conjunto de elementos de uma posição de memória para outra

Cópia eficiente de vetores e matrizes

  • Para resolver o problema da inversão de n números dados pelo utilizador, precisamos de 2 ciclos:
    • Direto
      • Do primeiro elemento ao elemento final, 0 ‐> 999
    • Inverso
      • Do último elemento ao elemento inicial, 999 ‐> 0

Ciclos com matrizes

matrizes

matrizes

  • Inicialização explícita exaustiva
  • Dimensão imutável
  • São sempre referências
  • Atribuições e comparações são entre referências
  • Indexação fora dos limites
    • int[] m = {0, 1, 2};
    • m[-1] = -1;
    • m[3] = 3;
      • Que sucede? Programa aborta!
      • Os índices são verificados em tempo de execução.

Particularidades das matrizes

  • String não é um tipo básico, é uma classe do C# usada para representar textos (cadeias de caracteres).
  • A classe String possui métodos que permitem a manipulação da sua cadeia de caracteres.
  • Um objeto do tipo String é imutável

Cadeias de caracteres

Definição de Instâncias (I)

Definição de Instâncias (II)

Definição de Instâncias (III)

https://learn.microsoft.com/en-us/dotnet/api/system.string?view=netframework-4.8

A classe String