Fundamentos da Lógica de Programação

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Qual é a principal finalidade da lógica de programação?

  • Organizar instruções para realizar tarefas em um programa. (correct)
  • Criar interfaces gráficas complexas.
  • Otimizar o desempenho do hardware do computador.
  • Gerenciar bancos de dados relacionais.

O que são variáveis em programação?

  • Comandos que controlam o fluxo do programa.
  • Funções predefinidas da linguagem.
  • Espaços de memória que armazenam dados. (correct)
  • Dispositivos de entrada e saída de dados.

Qual tipo de dado é usado para armazenar números decimais?

  • float (correct)
  • char
  • int
  • string

Qual estrutura de controle permite executar diferentes blocos de código com base em uma condição?

<p>condicional if (A)</p> Signup and view all the answers

Qual é o principal objetivo de um loop while?

<p>Repetir um bloco de código enquanto uma condição for verdadeira. (D)</p> Signup and view all the answers

Qual das seguintes opções descreve corretamente o conceito de uma função em programação?

<p>Um bloco de código reutilizável que realiza uma tarefa específica. (A)</p> Signup and view all the answers

Qual a diferença fundamental entre um array e uma lista?

<p>Arrays têm tamanho fixo, enquanto listas podem crescer dinamicamente. (B)</p> Signup and view all the answers

Qual é o propósito do tratamento de erros em programação?

<p>Identificar e responder a erros para manter o programa funcionando de forma estável. (D)</p> Signup and view all the answers

Em um bloco try-except, qual é a função do bloco try?

<p>Conter o código que pode gerar uma exceção. (C)</p> Signup and view all the answers

Qual estrutura de controle é mais adequada para iterar sobre os elementos de um array?

<p><code>for</code> (B)</p> Signup and view all the answers

Qual das seguintes opções representa uma declaração correta de uma variável do tipo inteiro em Python?

<p><code>x = 10</code> (A)</p> Signup and view all the answers

Em programação, qual é a finalidade de um procedimento?

<p>Executar uma série de comandos ou modificar variáveis, geralmente sem retornar um valor. (D)</p> Signup and view all the answers

Considere o seguinte trecho de código:

x = 5
y = 0
try:
  resultado = x / y
except ZeroDivisionError:
  resultado = 0
print(resultado)

Qual será o valor impresso na tela?

<p>0 (D)</p> Signup and view all the answers

Qual das seguintes opções descreve corretamente a utilização da estrutura elif em Python?

<p>Permite avaliar múltiplas condições em sequência, após um <code>if</code> e antes de um <code>else</code> opcional. (C)</p> Signup and view all the answers

Em um loop while, qual é o risco principal se a condição nunca se tornar falsa?

<p>O programa entrará em loop infinito. (C)</p> Signup and view all the answers

Qual das seguintes características é verdadeira sobre arrays em comparação com listas na maioria das linguagens de programação?

<p>Arrays oferecem acesso mais rápido aos elementos devido à sua estrutura de memória contígua. (B)</p> Signup and view all the answers

Em tratamento de erros, qual a diferença entre capturar uma exceção específica (e.g., ValueError) e capturar a exceção genérica Exception?

<p>Capturar uma exceção específica permite um tratamento mais preciso e evita mascarar outros erros que possam ocorrer. (A)</p> Signup and view all the answers

Qual é o resultado do seguinte código em Python?

def funcao_recursiva(n):
    if n == 0:
        return 1
    else:
        return n * funcao_recursiva(n-1)

print(funcao_recursiva(5))

<p>120 (C)</p> Signup and view all the answers

Em programação orientada a objetos, como o conceito de 'encapsulamento' se relaciona com a proteção de dados em variáveis?

<p>Encapsulamento restringe o acesso direto às variáveis de um objeto, permitindo o acesso apenas através de métodos específicos, protegendo a integridade dos dados. (B)</p> Signup and view all the answers

Como a escolha entre usar uma lista ligada (linked list) e um array impacta a inserção de um novo elemento no meio da estrutura de dados?

<p>Inserir em um array requer deslocar todos os elementos subsequentes, enquanto em uma lista ligada apenas os ponteiros precisam ser ajustados. (D)</p> Signup and view all the answers

Qual das seguintes opções descreve a principal vantagem de usar recursão em vez de iteração em um algoritmo?

<p>Recursão pode fornecer uma solução mais elegante e concisa para problemas que são naturalmente recursivos. (C)</p> Signup and view all the answers

Qual dos seguintes tipos de dados é imutável em Python?

<p>tuple (D)</p> Signup and view all the answers

Qual das seguintes opções melhor descreve o conceito de 'escopo' de uma variável em programação?

<p>A região do código onde a variável pode ser acessada. (B)</p> Signup and view all the answers

O que acontece se você tentar acessar um índice fora dos limites de um array na maioria das linguagens de programação?

<p>O programa lança uma exceção ou erro de 'índice fora dos limites'. (A)</p> Signup and view all the answers

Qual é a principal diferença entre 'passagem por valor' e 'passagem por referência' ao passar argumentos para uma função?

<p>Passagem por valor cria uma cópia do argumento, enquanto passagem por referência usa o argumento original. (B)</p> Signup and view all the answers

Qual estrutura é mais adequada para implementar uma fila (queue)?

<p>Lista ligada (B)</p> Signup and view all the answers

Considere o seguinte código em Python:

x = [1, 2, 3]
y = x
y[0] = 4
print(x)

Qual será a saída?

<p>[4, 2, 3] (D)</p> Signup and view all the answers

Qual a principal diferença entre funções puras e impuras?

<p>Funções puras sempre retornam o mesmo resultado para as mesmas entradas e não têm efeitos colaterais, enquanto funções impuras podem ter efeitos colaterais e/ou retornar valores diferentes para as mesmas entradas. (C)</p> Signup and view all the answers

Em linguagens de programação, qual é a finalidade da palavra-chave finally em um bloco try-except-finally?

<p>Definir o bloco de código que sempre será executado, independentemente de uma exceção ter ocorrido ou não. (D)</p> Signup and view all the answers

O que é 'type hinting' (dicas de tipo) em Python, e qual é sua principal vantagem?

<p>Uma anotação que especifica o tipo esperado de uma variável ou argumento de função, ajudando na detecção de erros em tempo de desenvolvimento e melhorando a legibilidade do código. (D)</p> Signup and view all the answers

Qual estrutura de dados seria mais apropriada para implementar uma busca em largura (breadth-first search) em um grafo?

<p>Fila (queue) (D)</p> Signup and view all the answers

Considere o seguinte código:

def funcao(a, b=[]):
    b.append(a)
    return b

print(funcao(1))
print(funcao(2))

Qual será a saída?

<p>[1] [1, 2] (A)</p> Signup and view all the answers

Qual das seguintes opções é uma desvantagem de usar tratamento de exceções excessivamente?

<p>Pode mascarar erros reais e dificultar a depuração. (A)</p> Signup and view all the answers

Qual das seguintes técnicas ajuda a evitar loops infinitos em um while?

<p>Garantir que a condição do loop eventualmente se torne falsa. (B)</p> Signup and view all the answers

Se você tem uma grande quantidade de dados para armazenar e precisa acessar elementos aleatoriamente de forma eficiente, qual estrutura de dados seria mais adequada?

<p>Array (B)</p> Signup and view all the answers

Qual é o resultado do seguinte código?

def modificar_lista(lst):
 lst.append(10)

minha_lista = [1, 2, 3]
modificar_lista(minha_lista)
print(minha_lista)

<p>[1, 2, 3, 10] (C)</p> Signup and view all the answers

Em relação aos tipos de dados, qual é a diferença crucial entre uma variável declarada como const (em linguagens como C++ ou JavaScript) e uma variável normal?

<p>Variáveis <code>const</code> não podem ser modificadas após sua inicialização, enquanto variáveis normais podem ter seu valor alterado. (B)</p> Signup and view all the answers

Qual das seguintes propriedades geralmente se aplica a uma tabela de hash (hash table)?

<p>Oferece tempo médio de acesso O(1) para inserção, busca e remoção, mas pode ter um tempo de acesso O(n) no pior caso devido a colisões. (D)</p> Signup and view all the answers

Escreva um programa em pseudocódigo que inverta uma string (por exemplo, transforme 'hello' em 'olleh'), sem usar funções embutidas de inversão de string. Quais estruturas de dados e lógicas de controle são essenciais para essa tarefa?

<p>Todas as opções acima estão corretas. (A)</p> Signup and view all the answers

Qual das proposições a seguir é uma forma de reduzir o tempo de execução quando trabalhamos com tratamento de erros em projetos relativamente grandes?

<p>Implementar log de erros detalhado apenas em ambientes de desenvolvimento. (A)</p> Signup and view all the answers

Flashcards

Lógica de programação

Organização coerente de instruções para realizar tarefas em um programa.

Variáveis

Espaços de memória que armazenam dados para uso e modificação.

Tipos de Dados

Define a natureza da informação que uma variável pode armazenar.

Inteiros (int)

Números inteiros, como 1, -5, 100.

Signup and view all the flashcards

Números de ponto flutuante (float)

Números decimais, como 3.14, -2.5.

Signup and view all the flashcards

Caracteres (char)

Um único caractere, como 'a', 'Z', '5'.

Signup and view all the flashcards

Strings (string)

Sequências de caracteres, como "Hello", "Python".

Signup and view all the flashcards

Booleanos (bool)

Valores lógicos, True ou False.

Signup and view all the flashcards

Estruturas de Controle

Permitem alterar o fluxo do programa com base em condições ou repetições.

Signup and view all the flashcards

Condicionais (if, else, elif)

Executa blocos de código diferentes dependendo se uma condição é verdadeira ou falsa.

Signup and view all the flashcards

Loops (for)

Itera sobre uma sequência e executa um bloco de código para cada elemento.

Signup and view all the flashcards

Loops (while)

Executa um bloco de código enquanto uma condição for verdadeira.

Signup and view all the flashcards

Funções

Blocos de código reutilizáveis que realizam uma tarefa específica.

Signup and view all the flashcards

Procedimentos

Similares a funções, mas geralmente não retornam um valor.

Signup and view all the flashcards

Arrays

Estruturas que armazenam uma coleção de elementos do mesmo tipo.

Signup and view all the flashcards

Listas

Estruturas que armazenam coleções de elementos em uma ordem específica.

Signup and view all the flashcards

Tratamento de Erros

Processo de identificar e responder a erros durante a execução.

Signup and view all the flashcards

Try

Contém o código que pode gerar uma exceção.

Signup and view all the flashcards

Except

Contém o código que será executado se uma exceção ocorrer dentro do bloco try.

Signup and view all the flashcards

Study Notes

  • Lógica de programação é a organização coerente de instruções para realizar tarefas em um programa.
  • Envolve criar algoritmos, que são sequências lógicas de passos para resolver um problema específico.
  • A lógica de programação é fundamental para construir programas eficientes e sem erros.

Variáveis

  • Variáveis são espaços de memória que armazenam dados, permitindo que sejam usados e modificados durante a execução do programa.
  • Cada variável tem um nome único (identificador) e um tipo de dado associado.
  • É importante declarar variáveis antes de usá-las, especificando seu tipo e nome.

Tipos de Dados

  • Tipos de dados definem a natureza da informação que uma variável pode armazenar.
  • Tipos comuns incluem:
    • Inteiros (int): números inteiros, como 1, -5, 100.
    • Números de ponto flutuante (float): números decimais, como 3.14, -2.5.
    • Caracteres (char): um único caractere, como 'a', 'Z', '5'.
    • Strings (string): sequências de caracteres, como "Hello", "Python".
    • Booleanos (bool): valores lógicos, True ou False.

Estruturas de Controle

  • Estruturas de controle permitem que o fluxo de execução do programa seja alterado com base em condições ou repetições.
  • Incluem:
    • Condicionais (if, else, elif): executam blocos de código diferentes dependendo se uma condição é verdadeira ou falsa.
    • Loops (for, while): repetem um bloco de código várias vezes, com base em uma condição ou iteração.
    • Desvios (switch, case): escolhem um bloco de código para executar com base no valor de uma variável.

Condicionais (if, else, elif)

  • A estrutura if avalia uma condição e executa um bloco de código se a condição for verdadeira.
  • A estrutura else fornece um bloco de código alternativo para ser executado se a condição do if for falsa.
  • elif (else if) permite avaliar múltiplas condições em sequência.

Loops (for, while)

  • O loop for itera sobre uma sequência (como uma lista ou string) e executa um bloco de código para cada elemento.
  • O loop while executa um bloco de código enquanto uma condição for verdadeira.
  • É importante garantir que a condição do while eventualmente se torne falsa para evitar loops infinitos.

Funções

  • Funções são blocos de código reutilizáveis que realizam uma tarefa específica.
  • Permitem dividir o programa em partes menores e mais organizadas.
  • Uma função pode receber parâmetros (entradas) e retornar um valor (saída).

Procedimentos

  • Procedimentos são similares a funções, mas geralmente não retornam um valor.
  • São usados para executar uma série de comandos ou modificar variáveis.
  • A distinção entre funções e procedimentos pode variar dependendo da linguagem de programação.

Arrays

  • Arrays são estruturas de dados que armazenam uma coleção de elementos do mesmo tipo em posições de memória contíguas.
  • Cada elemento em um array é acessado por um índice numérico.
  • Arrays têm um tamanho fixo, definido no momento da sua criação.

Listas

  • Listas são estruturas de dados que armazenam uma coleção de elementos em uma ordem específica.
  • Diferentemente de arrays, listas podem armazenar elementos de tipos diferentes.
  • Listas são dinâmicas, ou seja, podem crescer ou diminuir de tamanho durante a execução do programa.

Tratamento de Erros

  • Tratamento de erros é o processo de identificar e responder a erros que ocorrem durante a execução de um programa.
  • Permite que o programa continue a funcionar de forma estável, mesmo quando ocorrem situações inesperadas.
  • Inclui o uso de blocos try-except para capturar exceções e tomar medidas apropriadas.

Try-Except

  • O bloco try contém o código que pode gerar uma exceção.
  • O bloco except contém o código que será executado se uma exceção ocorrer dentro do bloco try.
  • É possível especificar os tipos de exceção que o bloco except deve capturar.
  • Usar tratamento de erros adequado melhora a robustez e a usabilidade do programa.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Use Quizgecko on...
Browser
Browser