Revisão Prova AED1 (Função, Recursão, Ponteiros e Lista Encadeada )| Questões Resolvidas de Linguagem C

Revisão Prova AED1 (Função, Recursão, Ponteiros e Lista Encadeada )| Questões Resolvidas de Linguagem C

·

3 min read

Função

https://ninacientista.hashnode.dev/funcoes-em-c-algoritmos-e-estruturas-de-dados-para-entusiastas-da-moda-edicao-7

Quaddro + MacMagazine: programando em C — funções - MacMagazine

Passagem de Parâmetros (Referência e Valor)

A passagem de parâmetros é uma parte fundamental da programação, permitindo que os valores sejam transmitidos entre diferentes partes de um programa. Existem dois principais métodos de passagem de parâmetros: por valor e por referência.

Na passagem de parâmetros por valor, uma cópia do valor do argumento é passada para a função ou método. Isso significa que quaisquer alterações feitas dentro da função não afetarão o valor original do argumento. Vamos considerar um exemplo em Python para ilustrar isso:

def dobrar_valor(numero):
    numero *= 2
    print("Dentro da função: ", numero)

valor = 5
print("Antes da função: ", valor)
dobrar_valor(valor)
print("Depois da função: ", valor)

Neste exemplo, temos uma função chamada dobrar_valor que recebe um parâmetro numero por valor. Dentro da função, o valor do parâmetro é dobrado. No entanto, quando a função é chamada com o valor 5, a saída será:

Antes da função: 5
Dentro da função: 10
Depois da função: 5

Observe que o valor original de valor não foi alterado após a chamada da função, pois a passagem de parâmetros foi feita por valor. Ou seja, uma cópia do valor foi passada para a função e qualquer modificação feita dentro dela não afetou a variável original.

Linguagem C LPG – I - FUNÇÕES Prof. Flavio Marcello - ppt carregar

Por outro lado, na passagem de parâmetros por referência, o endereço de memória do argumento é passado para a função. Isso permite que a função acesse e modifique diretamente o valor original do argumento.

Linguagem C LPG – I - FUNÇÕES Prof. Flavio Marcello - ppt carregar

Em resumo, a passagem de parâmetros por valor faz uma cópia do valor do argumento, enquanto a passagem por referência permite acessar e modificar diretamente o valor original do argumento. A escolha entre os dois métodos depende dos requisitos e das necessidades do programa em questão.

Recursão

Recursividade na Lógica de Programação

https://ninacientista.hashnode.dev/recursao-em-c-algoritmos-e-estruturas-de-dados-para-entusiastas-da-moda-edicao-10

Crie um programa que calcula o máximo divisor comum entre dois números usando a recursão.

#include<stdio.h>

int mdc(int num1, int num2)
{
    if(num2 != 0)
       return mdc(num2, num1%num2);
    else 
       return num1;
}
 int main()
{
   int n1, n2,calc;
   printf("Digite dois numeros inteiros positivos: ");
   scanf("%d %d", &n1, &n2);
   calc=mdc(n1,n2);

   printf("O MDC entre %d e %d eh : %d", n1, n2,calc );
 return 0; 
}

Crie um programa em Linguagem C que conte os dígitos de um determinado número usando recursão.

Observação: se o usuário inserir o número 250, a saída esperada deve ser : o número digitado tem 3 dígitos.

#include<stdio.h>

int num_digitos(int n1)
{
    static int cont=0;

     if(n1!=0)
     {
          cont++;
         num_digitos(n1/10);
     }

    return cont;
}

int main()
{
  int num,contador;
    printf(" Insira o numero : ");
    scanf("%d",&num);

    contador = num_digitos(num);

    printf("Quantidade de digitos = %d ",contador);
 return 0; 
}

https://www.huicode.com.br/p/lista-exercicios-resolvidos-sobre.html

Tipos Abstratos de Dados

PPT - TADS – Tipos Abstratos de Dados PowerPoint Presentation, free  download - ID:5183860

Tipos abstratos de dados (TADs) - PDF Download grátis

https://ninacientista.hashnode.dev/estruturas-em-c-algoritmos-e-estruturas-de-dados-para-entusiastas-da-moda-edicao-9

Ponteiros

Linguagem C - Infográfico Ponteiros - GuiaTECH

Me Salva! Programação em C - PLC15 - Ponteiros - YouTube

Ponteiros – Linguagem C/C++ | Master Da Web

https://ninacientista.hashnode.dev/exercicio-usando-struct-questoes-resolvidas-em-linguagem-c

Lista Encadeada (Inserção, Remoção)

Tipos abstratos de dados - Lista encadeada (Linked list)

https://ninacientista.hashnode.dev/lista-encadeada-algoritmo-e-estrutura-de-dados-para-entusiastas-da-moda-e-tecnologia-linguagem-c

obs: o último elemento é aquele que termina em ponteiro->Null

https://ninacientista.hashnode.dev/pilhas-questoes-resolvidas-de-linguagem-c

https://ninacientista.hashnode.dev/filas-estaticas-questoes-resolvidas-de-linguagem-c

https://ninacientista.hashnode.dev/filas-dinamicas-questoes-resolvidas-de-linguagem-c

https://ninacientista.hashnode.dev/pilha-e-fila-em-c-algoritmos-e-estruturas-de-dados-para-entusiastas-da-moda-edicao-15

https://ninacientista.hashnode.dev/lista-encadeada-algoritmo-e-estrutura-de-dados-para-entusiastas-da-moda-e-tecnologia-linguagem-c