Mudanças entre as edições de "PRG29002-2020-2-Manha"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 246: Linha 246:
  
 
*conhecer a sintaxe e a semântica dos comandos de repetição do C: for e goto.
 
*conhecer a sintaxe e a semântica dos comandos de repetição do C: for e goto.
 +
*mapear estruturas simples de repetição especificadas em fluxogramas ou pseudo-código em estruturas em linguagem C.
 +
 +
==Material de Referência==
 +
 +
https://wiki.sj.ifsc.edu.br/index.php/AULA_6_-_Programa%C3%A7%C3%A3o_1_-_Engenharia
 +
 +
=AULA 12 - Dia 18/12/2020=
 +
 +
Aula síncrona:
 +
 +
==Objetivos/Conteúdos==
 +
 +
Ao final deste tópico o aluno deverá:
 +
 +
*conhecer a sintaxe e a semântica dos comandos de repetição do C: goto.
 +
*diferenciar os tipos int;
 
*mapear estruturas simples de repetição especificadas em fluxogramas ou pseudo-código em estruturas em linguagem C.
 
*mapear estruturas simples de repetição especificadas em fluxogramas ou pseudo-código em estruturas em linguagem C.
  

Edição das 07h43min de 18 de dezembro de 2020

PROFESSOR

  • Eraldo Silveira e Silva


ATENDIMENTO PARALELO

  • a definir na primeira semana de aula

CONTEÚDO PROGRAMÁTICO

(copiado do SIGAA)

Conteudo Programático

PARTE 1 - Introdução a Lógica de Programação e a Programação C - 26H

  • Conceito e representações de algoritmos: pseudocódigo e fluxograma
  • Desenvolvimento de algoritmos simples usando fluxogramas e pseudocódigo
  • Introdução a Programação C: ferramentas de desenvolvimento. Estrutura de programa. Entrada e saída de dados.
  • Tipos de dados, constantes, variáveis e expressões. Operadores no C.
  • Princípios de depuração de programas C e uso de IDE.
  • Estruturas de controle de fluxo no C

PARTE 2 - 18H

  • Funções no C. Biblioteca do C.
  • Noções de programação estruturada e organização de programas com múltiplos arquivos.
  • Arranjos unidimensionais de char, int e float/double.
  • Strings e processamento de Strings.
  • Arranjos multidimensionais

PARTE 3 - 18H

  • Estruturas no C
  • Ponteiros, aritmética de ponteiros e noções de alocação dinâmica
  • Vetor de Ponteiros e Passagem de parâmetros em linha de comando
  • Diretivas de pré-compilação e outros tópicos
  • Operação com arquivos

PARTE 4 - 10H

  • Desenvolvimento de Projeto (início previsto na PARTE 2)

Links Importantes

Bibliografia durante a pandemia

  • As aulas da wiki em princípio, quando acompanhadas de aulas síncronas são suficientes;
  • Existem materiais em protuguÊs de outras universidades:
  • NÃO BAIXAR LIVROS DA INTERNET (a não ser livros abertos/gratuitos)!!!

Desenvolvimento das ANPs

  • Dois encontros Síncronos semanais (1H cada encontro)
  • Tarefa Semanal: Tarefa planejada para contemplar 4H de trabalho (2H equivalentes a sala de aula presencial e duas adicionais normalmente previstas)
  • Observar que no estudo normal espera-se que além da sala de aula o aluno estude pelo menos 50% da carga sozinho....

AULA 1 - Dia 9/11/2020

Aula síncrona

Objetivos

  • Apresentar o plano de ensino: ementa e conteúdo programático
  • PARTE 1: Introdução a Lógica de Programação
    • Conceito de Algoritmo e Representações de Algoritmos: Fluxograma, Pseudocódigo e através de linguagens computacionais.
    • Construção de Fluxogramas e para problemas simples
    • Noção de contantes, variáveis e expressões

Material de Referência

Aula Introdutória sobre Lógica de Programação

AULA 2 - Dia 13/11/2020

Aula síncrona: https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

Objetivos/Conteúdos

  • PARTE 1: Introdução a Lógica de Programação
    • Conceito de Algoritmo e Representações de Algoritmos: Fluxograma, Pseudocódigo e através de linguagens computacionais.
    • Construção de Fluxogramas e Pseudcódigo para problemas simples
    • Noção de constantes, variáveis e expressões

Material de Referência

Aula Introdutória sobre Lógica de Programação

AULA 3 - Dia 16/11/2020

Aula síncrona: https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

Objetivos/Conteúdos

  • PARTE 1: Introdução a Lógica de Programação
    • Noção de constantes, variáveis e expressões
    • Estrutura de Decisão na Lógica de Programação

Material de Referência

Controle de Fluxo: Estrutura de Decisão


AULA 4 - Dia 20/11/2020

Aula síncrona: https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

Objetivos/Conteúdos

  • PARTE 1: Introdução a Lógica de Programação
    • Estruturas de Controle de Fluxo na Lógica de Programação

Material de Referência

https://wiki.sj.ifsc.edu.br/index.php/AULA_3_-_Programa%C3%A7%C3%A3o_1_-_Engenharia

AULA 5 - Dia 23/11/2020

Aula síncrona: https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

Objetivos/Conteúdos

  • PARTE 1: Introdução a Lógica de Programação
    • Estruturas de Controle de Fluxo na Lógica de Programação
    • (Continuação)

Material de Referência

https://wiki.sj.ifsc.edu.br/index.php/AULA_3_-_Programa%C3%A7%C3%A3o_1_-_Engenharia

AULA 6 - Dia 27/11/2020

Aula síncrona: https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

Objetivos/Conteúdos

  • PARTE 1: Introdução a Linguagem C

bjetivos

O aluno deverá ser capaz de:

  • descrever o processo de compilação;
  • diferenciar código fonte, objeto e executável;
  • compilar, executar pequenos programa em C usando o gcc;
  • declarar e usar variáveis locais inteiras e reais;
  • usar de forma simplificada as funções de entrada e saída: scanf() e printf.

Material de Referência

AULA 7 - Dia 30/11/2020

Aula síncrona: https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

Objetivos/Conteúdos

  • PARTE 1: Introdução a Linguagem C - Objetivos (continuação aula anterior)

O aluno deverá ser capaz de:

  • compilar, executar pequenos programa em C usando o gcc;
  • declarar e usar variáveis locais inteiras e reais;
  • usar de forma simplificada as funções de entrada e saída: scanf() e printf.

Exercício em Sala

Implementar um programa C para resolver a expressão: . Os valores de A,B,C,D e E são reais, e o valor de F é inteiro. Estes valores devem ser fornecidos como entrada do algoritmo mas você DEVE tentar usar o MENOR número possível de variáveis, ou seja, tente reaproveitar variáveis para armazenamento dos dados de entrada mantendo a coerência de tipos das variáveis. Você pode inclusive reaproveitar a variável usada para armazenar o valor de X. Imprima o valor de X no final do programa.

Material de Referência


AULA 8 - Dia 4/12/2020

Aula síncrona: meet.google.com/dtq-pdyr-iuv

Objetivos/Conteúdos

Ao final deste tópico o aluno deverá:

  • Utilizar os operadores relacionais e lógicos na programação C
  • Conhecer um pouco mais sobre variáveis: tipo char;
  • Utilizar o comando de decisão if else;
  • Utilizar comandos if else aninhados em pequenos programas C;
  • Compreender e saber usar blocos (composição de instruções).

Material de Referência

https://wiki.sj.ifsc.edu.br/index.php/AULA_5_-_Programa%C3%A7%C3%A3o_1_-_Engenharia

AULA 9 - Dia 7/12/2020

Aula síncrona:

Objetivos/Conteúdos

Ao final deste tópico o aluno deverá:


  • Conhecer um pouco mais sobre variáveis: tipo char;
  • Utilizar comandos if else aninhados em pequenos programas C;
  • Compreender e saber usar blocos (composição de instruções).
  • Exercícios

Material de Referência

https://wiki.sj.ifsc.edu.br/index.php/AULA_5_-_Programa%C3%A7%C3%A3o_1_-_Engenharia

AULA 10 - Dia 11/12/2020

Aula síncrona:

Objetivos/Conteúdos

Ao final deste tópico o aluno deverá:

  • conhecer a sintaxe e a semântica dos comandos de repetição do C: while, do while, for e goto.
  • mapear estruturas simples de repetição especificadas em fluxogramas ou pseudo-código em estruturas em linguagem C.

Material de Referência

https://wiki.sj.ifsc.edu.br/index.php/AULA_6_-_Programa%C3%A7%C3%A3o_1_-_Engenharia

AULA 11 - Dia 14/12/2020

Aula síncrona:

Objetivos/Conteúdos

Ao final deste tópico o aluno deverá:

  • conhecer a sintaxe e a semântica dos comandos de repetição do C: for e goto.
  • mapear estruturas simples de repetição especificadas em fluxogramas ou pseudo-código em estruturas em linguagem C.

Material de Referência

https://wiki.sj.ifsc.edu.br/index.php/AULA_6_-_Programa%C3%A7%C3%A3o_1_-_Engenharia

AULA 12 - Dia 18/12/2020

Aula síncrona:

Objetivos/Conteúdos

Ao final deste tópico o aluno deverá:

  • conhecer a sintaxe e a semântica dos comandos de repetição do C: goto.
  • diferenciar os tipos int;
  • mapear estruturas simples de repetição especificadas em fluxogramas ou pseudo-código em estruturas em linguagem C.

Material de Referência

https://wiki.sj.ifsc.edu.br/index.php/AULA_6_-_Programa%C3%A7%C3%A3o_1_-_Engenharia

SUPORTE DURANTE A SITUAÇÃO DE CRISE

Instalando o Linux na VirtualBox

Conforme comentando em aula, o Linux pode ser instalado sobre uma máquina VIRTUAL em um sistema (hospedeiro) Windows ou Linux. Pode-se selecionar (ver condições de uso) uma distribuição gratuita do Linux e de uma Máquina Virtual. Ver abaixo procedimento para instalação. SEMPRE salve seus dados antes de qualquer operação sobre o sistema Windows ou Linux ou MacOS. NÃO recomendo DUAL BOOT pois pode (ainda que com baixa probabilidade) danificar o sistema hospedeiro.

  • Fazer Download do arquivo ISO em [2] versão Ubuntu 18.04.3 LTS ou a mais recente. Escolher a opção Desktop. Confira se o seu PC é 64 bits (os mais novos são).
  • Instalar a VirtualBox (já está instalada no nosso Lab). Baixar de [3] e selecionar para a máquina hospedeira alvo. Selecione o sistema hospedeiro (o seu sistema) correto.
  • O procedimento abaixo é para instalação de uma máquina virtual sobre o hospedeiro Linux Ubuntu mas para o Windows é bastante similar. Se tiver dúvidas pesquise no google como fazer a instalação sobre o Windows. Note que o VirtualBox é instalado como aplicativo tanto no Windows como Ubuntu.

Caso a distribuição que tenha instalado não possua o GCC, pode instalá-lo usando na linha de comando (para a familília Debian/Ubuntu):

 $ sudo apt install g++

Note que $ é o prompt (não faz parte do comando).

Compilador C no Android

Eu instalei e testei sem problemas (mas não posso garantir nada)) no meu Android, o compilador C "Coding C" (a partir do Play Store). Para testar pequenos programas pode ser uma solução interessante. Ele permite compilar offline, ou seja, não precisa usar a rede.

DevC++ no Windows

Como comentei em aula, em situação normal não recomendo usar um compilador C sobre o Windows diretamente. Como estamos em situação emergencial, uma opção seria instalar o DevC++diretamente no Ubuntu.

Vi um tutorial em : http://linguagemc.com.br/tutorial-de-instalacao-do-dev-c/ Não testei...