Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Funções, Funções de Ordem Alta e Delegates em C#: Vantagens e Desvantagens, Exercícios de Estruturas Discretas e Teoria dos Grafos

Uma visão geral sobre a computação baseada em funções matemáticas, enfatizando a aplicação de funções e suas vantagens e desvantagens. Além disso, aborda as funções de ordem alta e delegates em c#, explicando suas vantagens e desvantagens.

Tipologia: Exercícios

2022

Compartilhado em 27/05/2022

lucas-cezario-1
lucas-cezario-1 🇧🇷

1 / 4

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
computação como uma avaliação de funções matemáticas e que evita estados ou dados mutáveis, ela enfatiza a
aplicação de funções.
Vantagens: Fácil manutenção, processamento em paralelo, facilidade nos testes e na busca por bugs.
Desvantagens: Algumas estruturas de dados são ineficientes quando implementadas em um paradigma
puramente funcional, e que no fim de todo programa gera algum dado de saída, portanto tem efeitos colaterais.
É uma função que recebe ou retorna uma função. Só é possível definir uma função de alta ordem, se a
linguagem tem funções de primeira classe, pois é necessário que funções sejam "passáveis". Suas Vantagens são:
Não contém instruções de atribuição, o fluxo lógico é claro, pois o estado é menos disperso e não muda
implicitamente. Suas desvantagens: É difícil de manter pois muitos objetos evoluem durante a codificação, os
objetos podem não representar o problema corretamente, a reutilização é muito complicada e requer
refatoração constante.
Exemplo:
pf3
pf4

Pré-visualização parcial do texto

Baixe Funções, Funções de Ordem Alta e Delegates em C#: Vantagens e Desvantagens e outras Exercícios em PDF para Estruturas Discretas e Teoria dos Grafos, somente na Docsity!

computação como uma avaliação de funções matemáticas e que evita estados ou dados mutáveis, ela enfatiza a aplicação de funções. Vantagens: Fácil manutenção, processamento em paralelo, facilidade nos testes e na busca por bugs. Desvantagens: Algumas estruturas de dados são ineficientes quando implementadas em um paradigma puramente funcional, e que no fim de todo programa gera algum dado de saída, portanto tem efeitos colaterais. É uma função que recebe ou retorna uma função. Só é possível definir uma função de alta ordem, se a linguagem tem funções de primeira classe, pois é necessário que funções sejam "passáveis". Suas Vantagens são: Não contém instruções de atribuição, o fluxo lógico é claro, pois o estado é menos disperso e não muda implicitamente. Suas desvantagens: É difícil de manter pois muitos objetos evoluem durante a codificação, os objetos podem não representar o problema corretamente, a reutilização é muito complicada e requer refatoração constante. Exemplo:

Delegates: São classes especiais que criamos para servir como ponteiros para métodos. São semelhantes aos ponteiros de função em C++; entretanto, delegates são fortemente tipados e seguros Vantagens: Desvantagens: Delegates Multicast: São delegates que podem apontar para vários métodos ao mesmo tempo, executando-os na sequência em que são atribuídos ao delegate em questão. Vantagens: Desvantagens: { class Program { public delegate int Operacao(int n1, int n2); static void Main(string[] args) { int resultado; Operacao d1 = new Operacao(Mat.soma); resultado = d1(2, 2); Console.WriteLine("Soma: {0}", resultado); d1 = new Operacao(Mat.subtracao); resultado = d1(2, 2); Console.WriteLine("Subtração: {0}", resultado); d1 = new Operacao(Mat.multiplicacao); resultado = d1(2, 2); Console.WriteLine("Multiplicação: {0}", resultado); d1 = new Operacao(Mat.divisao);