Mudanças entre as edições de "PRG29002-2020-2-Manha"
Linha 184: | Linha 184: | ||
*[https://wiki.sj.ifsc.edu.br/index.php/AULA_4_-_Programa%C3%A7%C3%A3o_1_-_Engenharia Aula de Introdução ao C] | *[https://wiki.sj.ifsc.edu.br/index.php/AULA_4_-_Programa%C3%A7%C3%A3o_1_-_Engenharia Aula de Introdução ao C] | ||
+ | |||
+ | |||
+ | =AULA 8 - Dia 4/12/2020= | ||
+ | |||
+ | Aula síncrona: | ||
+ | |||
+ | ==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 | ||
=SUPORTE DURANTE A SITUAÇÃO DE CRISE= | =SUPORTE DURANTE A SITUAÇÃO DE CRISE= |
Edição das 07h16min de 4 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:
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
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...