Considere o conjunto de expressões aritméticas (Definição 4). Apresente uma funções recursivas para desempenhar as seguintes tarefas:
Calcular o número de constantes presentes em uma expressão.

Passo 1

Beleza, vamos lá! A questão pede para a gente criar uma função recursiva que conte o número de constantes em uma expressão aritmética. Isso é parte da matéria de Estruturas de Dados e Recursão. Para resolver, vamos precisar entender como as expressões aritméticas são estruturadas e como usar a recursão para percorrê-las.

Passo 2

Primeiro, precisamos saber como está definida uma expressão aritmética. Geralmente, elas são construídas usando dois tipos principais de elementos: constantes (como números) e operações (como +, -, *, /) que combinam outras expressões. Por exemplo, a expressão 3 + (4 times 5) tem constantes e operações.

Passo 3

Agora, vamos pensar em como representar isso em uma estrutura que a função recursiva vai percorrer. Podemos imaginar que cada expressão é um em uma árvore, onde cada nó pode ser uma constante ou uma operação que aponta para outras expressões (os filhos da árvore).

Passo 4

Com essa estrutura em mente, vamos criar a função recursiva. A ideia é que a função verifique se o nó atual é uma constante. Se for, ela conta 1. Se for uma operação, ela chama a si mesma para cada uma das subexpressões (os filhos) e soma os resultados.

Passo 5

Vamos escrever isso de forma mais concreta. Suponha que temos uma função chamada contar_constantes que recebe uma expressão. Ela verifica se a expressão é uma constante ou uma operação. Usando essa lógica, a função fica assim:
contarconstantes(e) = 1 & se e é uma constante contarconstantes(e1) + contarconstantes(e2) & se e é uma operação com subexpressões e1 e e2 ééçãõ

Resposta

A função recursiva para calcular o número de constantes em uma expressão aritmética é:
contarconstantes(e) = 1 & se e é uma constante contarconstantes(e1) + contarconstantes(e2) & se e é uma operação com subexpressões e1 e e2 ééçãõ

Exercícios relacionados