shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script-pt] Estudos durante a quarentena


From: George Robinson
Subject: Re: [shell-script-pt] Estudos durante a quarentena
Date: Fri, 5 Jun 2020 11:40:26 -0300

Olá Amigos,

O Raul acertou. É PowerShell. E a razão é simples. Estou iniciando meu enteado em desenvolvimento, e aprendendo coisas novas. Por isso, optei por PowerShell. Eu poderia fazer em bash, csh, ksh, mas quis deixá-lo o mais confortável possível sobre o conceito de algoritmos.

Sabendo que a lista é voltada para shell script, o objetivo era entender como os senhores resolveriam essa questão de forma que melhor lhes parecessem, para que eu pudesse transportar o algoritmo para PS e assim compreender a lógica do mesmo.

Eu, apesar de ter pedido ajuda aos grandes mestres da lista, consegui concluí-lo fazendo uma relação entre arquivos. A explicação está abaixo:

(não me julguem :P)!

Estabeleci os seguintes inputs:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ALUNO -> MATERIA (1 para N)
MATERIA -> NOTA (1 para N, pois são 4 bimestres)

No meu desafio, eu tratei arquivos .csv como "tabelas" e criei as seguintes estruturas:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  
estudantes.csv

cod_aluno,nome_aluno
001,Cadu
002,Maria
003,George
004,Rose
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  
materias.csv

cod_materia,nome_materia
01,Matemática
02,Português
03,Geografia
04,História
05,Física
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  
matematica.csv

cod_aluno,1_bi,2_bi,3_bi,4_bi
001,6.7,5.0,3.2,6.5
002,8.5,7.0,5.6,7.10
003,7.4,5.0,4.2,4.5
004,5.0,6.5,1.75,3.5
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  
portugues.csv

cod_aluno,1_bi,2_bi,3_bi,4_bi
001,4.2,5.0,2.25,2.25
002,7.6,7.5,6.9,6.5
003,5.8,6.8,6.5,7.10
004,4.8,8.5,7.2,4.5
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  
geografia.csv

cod_aluno,1_bi,2_bi,3_bi,4_bi
001,6.0,5.9,5,7,5,3
002,2.4,8.5,5.2,4.5
003,5.5,6.5,8.0,9.0
004,8.6,5.5,6.4,7.7
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  
historia.csv

cod_aluno,1_bi,2_bi,3_bi,4_bi
001,7.0,8.9,5,7,5,5
002,8.4,7.5,5.2,5.4
003,9.5,6.5,8.5,8.0
004,9.6,7.5,6.5,8.7
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------   
fisica.csv

cod_aluno,1_bi,2_bi,3_bi,4_bi
001,7.0,8.9,5,7,5,5
002,8.4,7.5,5.2,5.4
003,9.5,6.5,8.5,8.0
004,9.6,7.5,6.5,8.7
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
notas2.ps1

$MATERIA = ".\Downloads\materias.csv"
$LERMATERIA = import-csv $MATERIA

$ESTUDANTES =  ".\Downloads\estudantes.csv"
$LERESTUDANTES = import-csv $ESTUDANTES

$MATEMATICA = ".\Downloads\matematica.csv"
$LERMATEMATICA = import-csv $MATEMATICA

$PORTUGUES = ".\Downloads\portugues.csv"
$LERPORTUGUES = import-csv $PORTUGUES

$GEOGRAFIA = ".\Downloads\geografia.csv"
$LERGEOGRAFIA = import-csv $GEOGRAFIA

$HISTORIA = ".\Downloads\historia.csv"
$LERHISTORIA = import-csv $HISTORIA

$FISICA = ".\Downloads\fisica.csv"
$LERFISICA = import-csv $FISICA

foreach ($i_materia in $LERMATERIA)
{
        [int]$COD_MATERIA = $i_materia.cod_materia
        [string]$NOME_MATERIA = $i_materia.nome_materia

        Write-Host "`r`n$COD_MATERIA - $NOME_MATERIA :`r`n"
       
        foreach ($i_estudante in $LERESTUDANTES)
        {

        [int]$COD_ALUNO = $i_estudante.cod_aluno
        [string]$NOME_ALUNO = $i_estudante.nome_aluno
       
        Write-Host "`r`n$NOME_ALUNO"

            foreach ($i_mat in $LERMATEMATICA)
            {

                    [int]$COD_ALUNO_MAT = $i_mat.cod_aluno
                    [float]$B1_MAT = $i_mat.'1_bi'
                    [float]$B2_MAT = $i_mat.'2_bi'
                    [float]$B3_MAT = $i_mat.'3_bi'
                    [float]$B4_MAT = $i_mat.'4_bi'

                    if ($COD_MATERIA -eq 1 -and $COD_ALUNO -eq  $COD_ALUNO_MAT)
                    {

                    Write-Host "Nota 1º Bimestre:" $B1_MAT
                    Write-Host "Nota 2º Bimestre:" $B2_MAT
                    Write-Host "Nota 3º Bimestre:" $B3_MAT
                    Write-Host "Nota 4º Bimestre:" $B4_MAT

                    $MEDIA = ($B1_MAT + $B2_MAT + $B3_MAT + $B4_MAT)/4
                    $MEDIA_MAT = [math]::Round($MEDIA,1)

                        if ($MEDIA -lt 5)
                        {
                           
                            Write-Host "`r`nO aluno $NOME_ALUNO foi REPROVADO em $NOME_MATERIA com a media de: $MEDIA_MAT"
                           
                        } else {                        

                            Write-Host "`r`nO aluno $NOME_ALUNO foi APROVADO em $NOME_MATERIA com a media de: $MEDIA_MAT"

                               }
                    }

            }

            foreach ($i_por in $LERPORTUGUES)
            {

                    [int]$COD_ALUNO_POR = $i_por.cod_aluno
                    [float]$B1_POR = $i_por.'1_bi'
                    [float]$B2_POR = $i_por.'2_bi'
                    [float]$B3_POR = $i_por.'3_bi'
                    [float]$B4_POR = $i_por.'4_bi'

                    if ($COD_MATERIA -eq 2 -and $COD_ALUNO -eq  $COD_ALUNO_POR)
                    {

                    Write-Host "Nota 1º Bimestre:" $B1_POR
                    Write-Host "Nota 2º Bimestre:" $B2_POR
                    Write-Host "Nota 3º Bimestre:" $B3_POR
                    Write-Host "Nota 4º Bimestre:" $B4_POR

                    $MEDIA = ($B1_POR + $B2_POR + $B3_POR + $B4_POR)/4
                    $MEDIA_POR = [math]::Round($MEDIA,1)

                        if ($MEDIA -lt 5)
                        {
                           
                            Write-Host "`r`nO aluno $NOME_ALUNO foi REPROVADO em $NOME_MATERIA com a media de: $MEDIA_POR"
                           
                        } else {                        

                            Write-Host "`r`nO aluno $NOME_ALUNO foi APROVADO em $NOME_MATERIA com a media de: $MEDIA_POR"

                               }
                    }

            }

            foreach ($i_geo in $LERGEOGRAFIA)
            {

                    [int]$COD_ALUNO_GEO = $i_por.cod_aluno
                    [float]$B1_GEO = $i_geo.'1_bi'
                    [float]$B2_GEO = $i_geo.'2_bi'
                    [float]$B3_GEO = $i_geo.'3_bi'
                    [float]$B4_GEO = $i_geo.'4_bi'

                    if ($COD_MATERIA -eq 3 -and $COD_ALUNO -eq  $COD_ALUNO_GEO)
                    {

                    Write-Host "Nota 1º Bimestre:" $B1_GEO
                    Write-Host "Nota 2º Bimestre:" $B2_GEO
                    Write-Host "Nota 3º Bimestre:" $B3_GEO
                    Write-Host "Nota 4º Bimestre:" $B4_GEO

                    $MEDIA = ($B1_GEO + $B2_GEO + $B3_GEO + $B4_GEO)/4
                    $MEDIA_GEO = [math]::Round($MEDIA,1)

                        if ($MEDIA -lt 5)
                        {
                           
                            Write-Host "`r`nO aluno $NOME_ALUNO foi REPROVADO em $NOME_MATERIA com a media de: $MEDIA_GEO"
                           
                        } else {                        

                            Write-Host "`r`nO aluno $NOME_ALUNO foi APROVADO em $NOME_MATERIA com a media de: $MEDIA_GEO"

                               }
                    }

            }

            foreach ($i_his in $LERHISTORIA)
            {

                    [int]$COD_ALUNO_HIS = $i_his.cod_aluno
                    [float]$B1_HIS = $i_his.'1_bi'
                    [float]$B2_HIS = $i_his.'2_bi'
                    [float]$B3_HIS = $i_his.'3_bi'
                    [float]$B4_HIS = $i_his.'4_bi'

                    if ($COD_MATERIA -eq 4 -and $COD_ALUNO -eq  $COD_ALUNO_HIS)
                    {

                    Write-Host "Nota 1º Bimestre:" $B1_HIS
                    Write-Host "Nota 2º Bimestre:" $B2_HIS
                    Write-Host "Nota 3º Bimestre:" $B3_HIS
                    Write-Host "Nota 4º Bimestre:" $B4_HIS

                    $MEDIA = ($B1_HIS + $B2_HIS + $B3_HIS + $B4_HIS)/4
                    $MEDIA_HIS = [math]::Round($MEDIA,1)

                        if ($MEDIA -lt 5)
                        {
                           
                            Write-Host "`r`nO aluno $NOME_ALUNO foi REPROVADO em $NOME_MATERIA com a media de: $MEDIA_HIS"
                           
                        } else {                        

                            Write-Host "`r`nO aluno $NOME_ALUNO foi APROVADO em $NOME_MATERIA com a media de: $MEDIA_HIS"

                               }
                    }

            }

            foreach ($i_fis in $LERFISICA)
            {

                    [int]$COD_ALUNO_FIS = $i_fis.cod_aluno
                    [float]$B1_FIS = $i_fis.'1_bi'
                    [float]$B2_FIS = $i_fis.'2_bi'
                    [float]$B3_FIS = $i_fis.'3_bi'
                    [float]$B4_FIS = $i_fis.'4_bi'

                    if ($COD_MATERIA -eq 5 -and $COD_ALUNO -eq  $COD_ALUNO_FIS)
                    {

                    Write-Host "Nota 1º Bimestre:" $B1_FIS
                    Write-Host "Nota 2º Bimestre:" $B2_FIS
                    Write-Host "Nota 3º Bimestre:" $B3_FIS
                    Write-Host "Nota 4º Bimestre:" $B4_FIS

                    $MEDIA = ($B1_FIS + $B2_FIS + $B3_FIS + $B4_FIS)/4
                    $MEDIA_FIS = [math]::Round($MEDIA,1)

                        if ($MEDIA -lt 5)
                        {
                           
                            Write-Host "`r`nO aluno $NOME_ALUNO foi REPROVADO em $NOME_MATERIA com a media de: $MEDIA_FIS"
                           
                        } else {                        

                            Write-Host "`r`nO aluno $NOME_ALUNO foi APROVADO em $NOME_MATERIA com a media de: $MEDIA_FIS"

                               }
                    }

            }

        }
                         
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  
Assim funcionou. Embora não seja gerenciável do ponto de vista de desenvolvimento, ao menos garante que os inputs que forem dados nos arquivos serão lidos!

E obrigado a todos que puderam contribuir!!!

Em sex., 5 de jun. de 2020 às 11:18, Raul Libório <rauhmaru@gmail.com> escreveu:
Acredito que esse script dele seja em powershell.

Em sex., 5 de jun. de 2020 às 11:07, Julio C. Neves
<julio.neves@gmail.com> escreveu:
>
> Já que estamos falando sobre estudos durante a quarentena, se inscrevam nesse workshop gratuito: https://educacao.dicas-l.com.br/workshop
>
> Abraços,
> Julio
>
> » Não tem tempo para fazer um curso presencial?
> » Na sua cidade não tem nenhum bom curso de Linux?
> » Em 27/01/2020 abriremos uma semana de inscrições
> » para uma nova turma. Veja mais detalhes em:
> »      https://educacao.dicas-l.com.br/shell-linux
>
> Também damos treinamento em sua empresa
> em qualquer cidade, com certificado e nota fiscal.
>
>
>
>
>
>
>
> Em sex., 5 de jun. de 2020 às 11:00, Julio C. Neves <julio.neves@gmail.com> escreveu:
>>
>> Fala Paulo,
>> Com certeza não é csh... Conheço duas linguagens cuja atribuição é desse tipo:
>>
>> $COD_MATERIA = $i_notas.cod_materia
>>
>> Perl e PHP, provavelmente é uma das duas, mas pode ser outra.
>>
>> Eu ia responder esse e-mail, só não o tinha feito ainda, pq na próxima semana, eu e Rubens Queiroz estamos abrindo a matrícula de mais uma turma do curso de shell e isso me toma muito tempo.
>>
>> Mas pelo tamanho das duas soluções apresentadas, pode ser que o George Robinson se convença que o Shell é mais fácil e mais rápido.
>>
>> Abraços,
>> Julio
>>
>> » Não tem tempo para fazer um curso presencial?
>> » Na sua cidade não tem nenhum bom curso de Linux?
>> » Em 27/01/2020 abriremos uma semana de inscrições
>> » para uma nova turma. Veja mais detalhes em:
>> »      https://educacao.dicas-l.com.br/shell-linux
>>
>> Também damos treinamento em sua empresa
>> em qualquer cidade, com certificado e nota fiscal.
>>
>>
>>
>>
>>
>>
>>
>> Em qui., 4 de jun. de 2020 às 22:39, Paulo <phfbettega@gmail.com> escreveu:
>>>
>>> Olá George, o script é csh? Não tenho familiaridade, mas pela saída talvez
>>> seja o caso de imprimir os nomes dos alunos em outro ponto do script.
>>> Fiz esse script em bash com ajuda de sed, grep, bc.
>>> Acho que a lógica é mais ou menos a mesma, um loop pegando o nome
>>> dos alunos, outro loop dentro pegando as notas e outro para imprimir
>>> as matérias e médias.
>>>
>>> while IFS=, read cod_aluno nome; do
>>>
>>> while IFS=, read cod_materia cod_aluno_notas notas; do
>>> [ "$cod_aluno_notas" -eq "$cod_aluno" ] && media[$cod_materia]=$(echo "scale=3;(${notas//,/+})/4"|bc)
>>> done <<<"$(sed 1d notas.csv)"
>>>
>>> echo $cod_aluno $nome
>>>
>>> for i in ${!media[@]}; do
>>> printf "%-15s%s\n" "$(grep $i materias.csv|cut -d, -f2)" ${media[i]}
>>> done
>>>
>>> done <<<"$(sed 1d estudantes.csv)"
>>>
>>> 001 Carlos Eduardo Barbosa Oliveira
>>> Matemática    5.350
>>> Português     7.050
>>> Geografia      5.275
>>> História      4.187
>>> Física        3.425
>>> 002 Maria Eduarda Barbosa Oliveira
>>> Matemática    7.125
>>> Português     6.550
>>> Geografia      6.250
>>> História      5.725
>>> Física        5.150
>>>
>>> É possível reunir todos os três arquivos csv em um único? Acho que dessa maneira
>>> o script ficaria mais fácil, até mesmo fazer um script em awk também.
>>> Abraços Paulo
>>>
>>> On 03/06/2020 23:28, George Robinson wrote:
>>> > Caros,
>>> >
>>> > Eu e meu enteado resolvemos estudar juntos durante a quarentena, e estamos evoluindo bem em nossos conceitos.
>>> > Hoje, depois de finalizarmos estudos sobre lógica de programação e algoritmos, resolvemos nos envolver na
>>> > montagem de um código para lermos notas lançadas de alunos de um arquivo. O código evoluiu como deveria, até
>>> > que surgiu a questão. Não somos familiarizados ainda com o conceito de looping, do.. while, for, foreach.
>>> >
>>> > Pra resumir a questão, vou direto ao ponto. Fizemos um script grande, porém cansativo que dá muita margem ao
>>> > erro humano, então partimos para algo mais sofisticado e "automatizado", consultando um arquivo .csv e depois
>>> > lançar as notas, tirar a média e retornando com as condições.
>>> >
>>> > O código abaixo está parcialmente escrito, pois ele não retorna ainda os valores de que necessito para
>>> > concluir o código:
>>> >
>>> > -----------------------------------------------------------------------------------------------------
>>> > Arquivo  estudantes.csv
>>> >
>>> > cod_aluno,nome_aluno
>>> > 001,Carlos Eduardo Barbosa Oliveira
>>> > 002,Maria Eduarda Barbosa Oliveira
>>> > -----------------------------------------------------------------------------------------------------
>>> > Arquivo materias.csv
>>> >
>>> > cod_materia,nome_materia
>>> > 01,Matemática
>>> > 02,Português
>>> > 03,Geografia
>>> > 04,História
>>> > 05,Física
>>> > -----------------------------------------------------------------------------------------------------
>>> > Arquivo notas.csv
>>> >
>>> > cod_materia,cod_aluno,1_bi,2_bi,3_bi,4_bi
>>> > 01,001,6.7,5.0,3.2,6.5
>>> > 02,001,8.5,7.0,5.6,7.10
>>> > 03,001,7.4,5.0,4.2,4.5
>>> > 04,001,5.0,6.5,1.75,3.5
>>> > 05,001,4.2,5.0,2.25,2.25
>>> > 01,002,7.6,7.5,6.9,6.5
>>> > 02,002,5.8,6.8,6.5,7.10
>>> > 03,002,4.8,8.5,7.2,4.5
>>> > 04,002,6.0,5.9,5,7,5,3
>>> > 05,002,2.4,8.5,5.2,4.5
>>> > -----------------------------------------------------------------------------------------------------
>>> > notas.sh
>>> >
>>> > $MATERIA = ".\Downloads\materias.csv"
>>> > $LERMATERIA = import-csv $MATERIA
>>> >
>>> > $ESTUDANTES =  ".\Downloads\estudantes.csv"
>>> > $LERESTUDANTES = import-csv $ESTUDANTES
>>> >
>>> > $NOTAS = ".\Downloads\notas.csv"
>>> > $LERNOTAS = import-csv $NOTAS
>>> >
>>> > $REPROVA = 0
>>> >
>>> > foreach ($i_materia in $LERMATERIA) {
>>> >          [int]$COD_MATERIA = $i_materia.cod_materia
>>> >          [string]$NOME_MATERIA = $i_materia.nome_materia
>>> >
>>> >          #Write-Host "`r`n$COD_MATERIA $NOME_MATERIA"':'
>>> >
>>> >          foreach ($i_estudante in $LERESTUDANTES) {
>>> >          [int]$COD_ALUNO = $i_estudante.cod_aluno
>>> >          [string]$NOME_ALUNO = $i_estudante.nome_aluno
>>> >
>>> >          #Write-Host $COD_ALUNO $NOME_ALUNO
>>> >
>>> > foreach ($i_notas in $LERNOTAS) {
>>> >          $COD_MATERIA = $i_notas.cod_materia
>>> >          $COD_ALUNO = $i_notas.cod_aluno
>>> >          $B1 = $i_notas.'1_bi'
>>> >          $B2 = $i_notas.'2_bi'
>>> >          $B3 = $i_notas.'3_bi'
>>> >          $B4 = $i_notas.'4_bi'
>>> >
>>> >          $MEDIA = ([INT]$B1+[INT]$B2+[INT]$B3+[INT]$B4)/4
>>> >
>>> >          Write-Host 'Nota '$NOME_MATERIA': ' $NOME_ALUNO' :' $MEDIA
>>> >            }
>>> >       }
>>> > }
>>> > -----------------------------------------------------------------------------------------------------
>>> > SAIDA:
>>> >
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 5,25
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 7
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 5
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 4,25
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 3,25
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 7,25
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 6,5
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 4,75
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 5,25
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 7
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 5
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 4,25
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 3,25
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 7,25
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 6,5
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 4,75
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 5,25
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 7
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 5
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 4,25
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 3,25
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 7,25
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 6,5
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 4,75
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 5,25
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 7
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 5
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 4,25
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 3,25
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 7,25
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 6,5
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 4,75
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 5,25
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 7
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 5
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 4,25
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 3,25
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 7,25
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 6,5
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 4,75
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 5,25
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 7
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 5
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 4,25
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 3,25
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 7,25
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 6,5
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 4,75
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 5,25
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 7
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 5
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 4,25
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 3,25
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 7,25
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 6,5
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 4,75
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 5,25
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 7
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 5
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 4,25
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 3,25
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 7,25
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 6,5
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 4,75
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 5,25
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 7
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 5
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 4,25
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 3,25
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 7,25
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 6,5
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 4,75
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 5,25
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 7
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 5
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 4,25
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 3,25
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 7,25
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 6,5
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 4,75
>>> > ---------------------------------------------------------------------------------------------------------
>>> > Gostaria de entender qual a sub-rotina eu deveria inserir no código para que cada ALUNO fosse tratado
>>> > individualmente.
>>> >
>>> > --
>>> > George Robinson
>>> > Analista de Suporte
>>> > Tel: +55 (21) 97449-8138
>>> >
>>> > _______________________________________________
>>> > Lista brasileira de usuários de shell script
>>> > Endereço de e-mail da lista: shell-script-pt@nongnu.org
>>> > Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
>>> > Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/
>>> >
>>> > NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
>>> >
>>>
>>> _______________________________________________
>>> Lista brasileira de usuários de shell script
>>> Endereço de e-mail da lista: shell-script-pt@nongnu.org
>>> Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
>>> Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/
>>>
>>> NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
>
> _______________________________________________
> Lista brasileira de usuários de shell script
> Endereço de e-mail da lista: shell-script-pt@nongnu.org
> Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
> Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/
>
> NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.



--
Raul Libório
http://rauhmaru.blogspot.com/
openSUSE Member | Linux User #4444581

/etc/httpd/conf.d/ssl.conf:7
# Do NOT simply read the instructions in here without understanding
# what they do.  They're here only as hints or reminders.  If you are unsure
# consult the online docs. You have been warned.

_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.


--
George Robinson
Analista de Suporte
Tel: +55 (21) 97449-8138

reply via email to

[Prev in Thread] Current Thread [Next in Thread]