PRG29002-2020-2-Manha: mudanças entre as edições

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Eraldo (discussão | contribs)
Eraldo (discussão | contribs)
 
(20 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 8: Linha 8:




*a definir na primeira semana de aula
*TERÇA: 8h às 10h
*QUARTA: 13h30 às 15h30


=CONTEÚDO PROGRAMÁTICO=
=CONTEÚDO PROGRAMÁTICO=
Linha 236: Linha 237:


https://wiki.sj.ifsc.edu.br/index.php/AULA_6_-_Programa%C3%A7%C3%A3o_1_-_Engenharia
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
=AULA 13 - Dia 21/12/2020=
*Avaliação 1
=AULA 14 - Dia 5/02/2021=
==LINK PARA AULA SÍNCRONA==
Início previsto 8h. Estarei online a partir das 7h30.
https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose
==Objetivos==
Após esta aula o aluno deverá:
*Conceituar funções e parâmetros
*Explorar exemplo de menus e submenusfluxogramas ou pseudo-código em estruturas em linguagem C.
*Definir funções no C
==LINK PARA AULA DA WIKI==
https://wiki.sj.ifsc.edu.br/index.php/Fun%C3%A7%C3%B5es_-_Programa%C3%A7%C3%A3o_1_-_Engenharia#FUN.C3.87.C3.95ES_no_C
=AULA 15 - Dia 8/02/2021=
==LINK PARA AULA SÍNCRONA==
Início previsto 9h40.
https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose
LINK PARA WIKI
https://wiki.sj.ifsc.edu.br/index.php/AULA_9_-_Programa%C3%A7%C3%A3o_1_-_Engenharia
==Objetivos==
Após esta aula o aluno deverá:
*Revisão da aula anterior.
*Usar parâmetros e tipo de retorno
*Distinguir Variáveis  locais x globais.
=AULA 16 - Dia 12/02/2021=
==LINK PARA AULA SÍNCRONA==
https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose
Início previsto 8h.
==LINK PARA WIKI==
https://wiki.sj.ifsc.edu.br/index.php/AULA_9_-_Programa%C3%A7%C3%A3o_1_-_Engenharia
==Objetivos==
Objetivos
O aluno deverá:
*compreender o conceito de vetores;
*definir e inicializar vetores do tipo int, float e double no C;
*passar vetores como parâmetro sem usar o conceito de ponteiros;
=AULA 17 - Dia 19/02/2021=
==LINK PARA AULA SÍNCRONA==
https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose
==Link para Wiki desta Aula==
https://wiki.sj.ifsc.edu.br/index.php/AULA_10_-_Programa%C3%A7%C3%A3o_1_-_Engenharia
==Objetivos==
Após esta aula o aluno deverá ser capaz de:
*Descrever como um caracter é representado no computador e como usar a tabela ASCII para verificar a representação de caracteres em binário, decimal;
*Reconhecer a utilidade de caracteres especiais tais como o NUL e o NEWLINE;
*Entender o que é uma string;
*Construir definições/declarações de vetores de char no C e iniciar estes vetores com strings;
*Construir código em C para processamento básico de strings armazenadas em vetores, usando indexação;
*Construir funções que recebem como parâmetro vetores de char e utilizar o passagem por referência (endereço);
=AULA 18 - Dia 22/02/2021=
==LINK PARA AULA SÍNCRONA==
https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose
==Link para Wiki desta Aula==
https://wiki.sj.ifsc.edu.br/index.php/AULA_10_-_Programa%C3%A7%C3%A3o_1_-_Engenharia
==Objetivos==
Após esta aula o aluno deverá ser capaz de:
*revisão da aula anterior;
*Construir funções que recebem como parâmetro vetores de char e utilizar o passagem por referência (endereço);
=AULA 19 - Dia 26/02/2021=
==LINK PARA AULA SÍNCRONA==
https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose
==Link para Wiki desta Aula==
[https://wiki.sj.ifsc.edu.br/index.php/AULA_Exercicios_Strings_-_Programa%C3%A7%C3%A3o_1_-_Engenharia Funções da Biblioteca para Manipulação de strings]
=AULA 20 - Dia 01/03/2021=
==LINK PARA AULA SÍNCRONA==
https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose
==Link para Wiki desta Aula==
https://wiki.sj.ifsc.edu.br/index.php/Programa%C3%A7%C3%A3o_1_-_Engenharia_-_Arrays_Multidimensionais
==Objetivos da Aula==
*Definindo matrizes (arranjos multidomensionais) no C
*Funções com matrizes
*Exemplo: Batalha Naval
=AULA DIA 12/3/2021=
*Aula de Exercícios para prepação da avaliação II
==Possíveis soluções tarefa 10==
===Questão 1===
===Questão 1===
<syntaxhighlight lang=c>
#include <stdio.h>
#include <string.h>
void str_cat(char str1[], char str2[])
{
    int final_string;
    final_string = strlen(str1);
    strcpy(&str1[final_string],str2);
    return;
}
int main()
{
    char teste1[50]="alo", teste2[50]=" mundo";
    str_cat(teste1,teste2);
    printf("%s\n", teste1);
    str_cat(teste1," e alo Marte");
    printf("%s\n", teste1);
    return 0;
}
</syntaxhighlight>
===Questão 2===
<syntaxhighlight lang=c>
#include <stdio.h>
#define TAM_LINHA 5
#define TAM_COL 5
float media_linha(float mat[TAM_LINHA][TAM_COL], int i)
{
    int k,j,cont=0;
    float soma_ac=0, media_matriz, media_linha;
    /* calculo media matriz */
    for(k=0;k<5;k++){
        for(j=0;j<5;j++) {
            soma_ac = soma_ac + mat[k][j];
        }
    }
    media_matriz = soma_ac/(TAM_COL*TAM_LINHA);
    printf("Valor da media é %f\n", media_matriz);
    /* calculo media da linha dos elementos acima da media da matriz */
    soma_ac = 0;
    for(k=0;k<5;k++){
            if (mat[i][k]>media_matriz) {
                soma_ac = soma_ac + mat[i][j];
                cont++;
            }
    }
    if (cont!=0) //Sugestão do aluno Lucas para contornar divisão por zero
        media_linha = soma_ac/cont;
    else {
        printf("divisão por zero\n");
        media_linha = 0; // isto deveria estar no manual...
    }
    return media_linha;
    /* */
}
int main()
{
    float x[5][5]= {
            {4.5,6.7,8.0,11.3,4.3},
            {4.9,2.7,8.9,7.3,9.3},
            {2.5,6.7,2.9,3.3,4.3},
            {4.3,6.7,8.9,11.3,4.9},
            {1.5,6.7,2.5,11.3,4.3},
    };
    float med_linha;
    med_linha = media_linha(x,3);
    return 0;
}
</syntaxhighlight>
=AULA DIA 22/3/2021=
*Continuação de Estruturas - ver registro de aula no SIGAA
=AULA DIA 26/3/2021=
*Introdução a Ponteiros - Ver SIGAA
=AULA DIA 1/4/2021=
*Aula assíncrona
*Ponteiros para Estruturas e outros objetos. Ver SIGAA.
=AULA DIA 4/4/2021=
*Vetor de Ponteiros. Passagem de argumentos em linha de comando. Ver SIGAA.


=SUPORTE DURANTE A SITUAÇÃO DE CRISE=
=SUPORTE DURANTE A SITUAÇÃO DE CRISE=

Edição atual tal como às 17h49min de 4 de abril de 2021

1 PROFESSOR

  • Eraldo Silveira e Silva


2 ATENDIMENTO PARALELO

  • TERÇA: 8h às 10h
  • QUARTA: 13h30 às 15h30

3 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)

4 Links Importantes

5 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)!!!

6 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....

7 AULA 1 - Dia 9/11/2020

Aula síncrona

7.1 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

7.2 Material de Referência

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

8 AULA 2 - Dia 13/11/2020

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

8.1 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

8.2 Material de Referência

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

9 AULA 3 - Dia 16/11/2020

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

9.1 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

9.2 Material de Referência

Controle de Fluxo: Estrutura de Decisão


10 AULA 4 - Dia 20/11/2020

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

10.1 Objetivos/Conteúdos

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

10.2 Material de Referência

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

11 AULA 5 - Dia 23/11/2020

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

11.1 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)

11.2 Material de Referência

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

12 AULA 6 - Dia 27/11/2020

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

12.1 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.

12.2 Material de Referência

13 AULA 7 - Dia 30/11/2020

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

13.1 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.

13.2 Exercício em Sala

Implementar um programa C para resolver a expressão: X=A*B+C*D*E+F2. 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.

13.3 Material de Referência


14 AULA 8 - Dia 4/12/2020

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

14.1 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).

14.2 Material de Referência

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

15 AULA 9 - Dia 7/12/2020

Aula síncrona:

15.1 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

15.2 Material de Referência

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

16 AULA 10 - Dia 11/12/2020

Aula síncrona:

16.1 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.

16.2 Material de Referência

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

17 AULA 11 - Dia 14/12/2020

Aula síncrona:

17.1 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.

17.2 Material de Referência

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

18 AULA 12 - Dia 18/12/2020

Aula síncrona:

18.1 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.

18.2 Material de Referência

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

19 AULA 13 - Dia 21/12/2020

  • Avaliação 1

20 AULA 14 - Dia 5/02/2021

20.1 LINK PARA AULA SÍNCRONA

Início previsto 8h. Estarei online a partir das 7h30.

https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

20.2 Objetivos

Após esta aula o aluno deverá:

  • Conceituar funções e parâmetros
  • Explorar exemplo de menus e submenusfluxogramas ou pseudo-código em estruturas em linguagem C.
  • Definir funções no C

20.3 LINK PARA AULA DA WIKI

https://wiki.sj.ifsc.edu.br/index.php/Fun%C3%A7%C3%B5es_-_Programa%C3%A7%C3%A3o_1_-_Engenharia#FUN.C3.87.C3.95ES_no_C

21 AULA 15 - Dia 8/02/2021

21.1 LINK PARA AULA SÍNCRONA

Início previsto 9h40.

https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

LINK PARA WIKI https://wiki.sj.ifsc.edu.br/index.php/AULA_9_-_Programa%C3%A7%C3%A3o_1_-_Engenharia

21.2 Objetivos

Após esta aula o aluno deverá:


  • Revisão da aula anterior.
  • Usar parâmetros e tipo de retorno
  • Distinguir Variáveis locais x globais.

22 AULA 16 - Dia 12/02/2021

22.1 LINK PARA AULA SÍNCRONA

https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

Início previsto 8h.

22.2 LINK PARA WIKI

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

22.3 Objetivos

Objetivos O aluno deverá:

  • compreender o conceito de vetores;
  • definir e inicializar vetores do tipo int, float e double no C;
  • passar vetores como parâmetro sem usar o conceito de ponteiros;


23 AULA 17 - Dia 19/02/2021

23.1 LINK PARA AULA SÍNCRONA

https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

23.2 Link para Wiki desta Aula

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

23.3 Objetivos

Após esta aula o aluno deverá ser capaz de:

  • Descrever como um caracter é representado no computador e como usar a tabela ASCII para verificar a representação de caracteres em binário, decimal;
  • Reconhecer a utilidade de caracteres especiais tais como o NUL e o NEWLINE;
  • Entender o que é uma string;
  • Construir definições/declarações de vetores de char no C e iniciar estes vetores com strings;
  • Construir código em C para processamento básico de strings armazenadas em vetores, usando indexação;
  • Construir funções que recebem como parâmetro vetores de char e utilizar o passagem por referência (endereço);

24 AULA 18 - Dia 22/02/2021

24.1 LINK PARA AULA SÍNCRONA

https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

24.2 Link para Wiki desta Aula

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

24.3 Objetivos

Após esta aula o aluno deverá ser capaz de:

  • revisão da aula anterior;
  • Construir funções que recebem como parâmetro vetores de char e utilizar o passagem por referência (endereço);

25 AULA 19 - Dia 26/02/2021

25.1 LINK PARA AULA SÍNCRONA

https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

25.2 Link para Wiki desta Aula

Funções da Biblioteca para Manipulação de strings



26 AULA 20 - Dia 01/03/2021

26.1 LINK PARA AULA SÍNCRONA

https://conferenciaweb.rnp.br/webconf/programacao-1-engtelecom-ifsc-sao-jose

26.2 Link para Wiki desta Aula

https://wiki.sj.ifsc.edu.br/index.php/Programa%C3%A7%C3%A3o_1_-_Engenharia_-_Arrays_Multidimensionais

26.3 Objetivos da Aula

  • Definindo matrizes (arranjos multidomensionais) no C
  • Funções com matrizes
  • Exemplo: Batalha Naval

27 AULA DIA 12/3/2021

  • Aula de Exercícios para prepação da avaliação II

27.1 Possíveis soluções tarefa 10

27.1.1 Questão 1

27.1.2 Questão 1

#include <stdio.h>
#include <string.h>

void str_cat(char str1[], char str2[])
{
    int final_string;
    final_string = strlen(str1);
    strcpy(&str1[final_string],str2);
    return;
}

int main()
{
    char teste1[50]="alo", teste2[50]=" mundo";

    str_cat(teste1,teste2);
    printf("%s\n", teste1);
    str_cat(teste1," e alo Marte");
    printf("%s\n", teste1);
    return 0;
}

27.1.3 Questão 2

#include <stdio.h>
#define TAM_LINHA 5
#define TAM_COL 5

float media_linha(float mat[TAM_LINHA][TAM_COL], int i)
{
    int k,j,cont=0;
    float soma_ac=0, media_matriz, media_linha;

    /* calculo media matriz */
    for(k=0;k<5;k++){
        for(j=0;j<5;j++) {
            soma_ac = soma_ac + mat[k][j];
        }
    }
    media_matriz = soma_ac/(TAM_COL*TAM_LINHA);
    printf("Valor da media é %f\n", media_matriz);
    /* calculo media da linha dos elementos acima da media da matriz */
    soma_ac = 0;
    for(k=0;k<5;k++){
            if (mat[i][k]>media_matriz) {
                soma_ac = soma_ac + mat[i][j];
                cont++;
            }
    }
    if (cont!=0) //Sugestão do aluno Lucas para contornar divisão por zero
        media_linha = soma_ac/cont;
    else {
        printf("divisão por zero\n");
        media_linha = 0; // isto deveria estar no manual...
    }
    return media_linha;
    /* */
}

int main()
{
    float x[5][5]= {
            {4.5,6.7,8.0,11.3,4.3},
            {4.9,2.7,8.9,7.3,9.3},
            {2.5,6.7,2.9,3.3,4.3},
            {4.3,6.7,8.9,11.3,4.9},
            {1.5,6.7,2.5,11.3,4.3},
    };
    float med_linha;
    med_linha = media_linha(x,3);
    return 0;
}

28 AULA DIA 22/3/2021

  • Continuação de Estruturas - ver registro de aula no SIGAA

29 AULA DIA 26/3/2021

  • Introdução a Ponteiros - Ver SIGAA

30 AULA DIA 1/4/2021

  • Aula assíncrona
  • Ponteiros para Estruturas e outros objetos. Ver SIGAA.

31 AULA DIA 4/4/2021

  • Vetor de Ponteiros. Passagem de argumentos em linha de comando. Ver SIGAA.

32 SUPORTE DURANTE A SITUAÇÃO DE CRISE

32.1 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).

32.2 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.

32.3 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...