Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 J701 :: Lógica de Programação e Algoritmos Prof. Celso A. W. Santos J701 :: Lógica de Programação e Algoritmos celso.santos@docente.unip.br 18/08/2020 2 Sejam bem-vinds! Sejam muito bem-vind*s! (... ou bem-vind*s de volta :D) � Prof. Celso Aimbiré Weffort-Santos � Aluno de Doutorado da Universidade Estadual de Campinas . Teoria da Computação . Colorações de Grafos . Complexidade Parametrizada � J701 - Lógica de Programação e Algoritmos (LPA) � J07B - Introdução à Programação Estruturada (IPE) 2 Sejam bem-vinds! Sejam muito bem-vind*s! (... ou bem-vind*s de volta :D) � Prof. Celso Aimbiré Weffort-Santos � Aluno de Doutorado da Universidade Estadual de Campinas . Teoria da Computação . Colorações de Grafos . Complexidade Parametrizada � J701 - Lógica de Programação e Algoritmos (LPA) � J07B - Introdução à Programação Estruturada (IPE) 2 Sejam bem-vinds! Sejam muito bem-vind*s! (... ou bem-vind*s de volta :D) � Prof. Celso Aimbiré Weffort-Santos � Aluno de Doutorado da Universidade Estadual de Campinas . Teoria da Computação . Colorações de Grafos . Complexidade Parametrizada � J701 - Lógica de Programação e Algoritmos (LPA) � J07B - Introdução à Programação Estruturada (IPE) 2 Sejam bem-vinds! Sejam muito bem-vind*s! (... ou bem-vind*s de volta :D) � Prof. Celso Aimbiré Weffort-Santos � Aluno de Doutorado da Universidade Estadual de Campinas . Teoria da Computação . Colorações de Grafos . Complexidade Parametrizada � J701 - Lógica de Programação e Algoritmos (LPA) � J07B - Introdução à Programação Estruturada (IPE) 2 Sejam bem-vinds! Sejam muito bem-vind*s! (... ou bem-vind*s de volta :D) � Prof. Celso Aimbiré Weffort-Santos � Aluno de Doutorado da Universidade Estadual de Campinas . Teoria da Computação . Colorações de Grafos . Complexidade Parametrizada � J701 - Lógica de Programação e Algoritmos (LPA) � J07B - Introdução à Programação Estruturada (IPE) 2 Sejam bem-vinds! Sejam muito bem-vind*s! (... ou bem-vind*s de volta :D) � Prof. Celso Aimbiré Weffort-Santos � Aluno de Doutorado da Universidade Estadual de Campinas . Teoria da Computação . Colorações de Grafos . Complexidade Parametrizada � J701 - Lógica de Programação e Algoritmos (LPA) � J07B - Introdução à Programação Estruturada (IPE) 2 Sejam bem-vinds! Sejam muito bem-vind*s! (... ou bem-vind*s de volta :D) � Prof. Celso Aimbiré Weffort-Santos � Aluno de Doutorado da Universidade Estadual de Campinas . Teoria da Computação . Colorações de Grafos . Complexidade Parametrizada � J701 - Lógica de Programação e Algoritmos (LPA) � J07B - Introdução à Programação Estruturada (IPE) 3 Sobre nossas aulas... � Infelizmente, estamos no meio de uma pandemia mundial. � Portanto, nossas aulas serão todas online, via Zoom. . Os detalhes de acesso estão disponíveis no sistema da UNIP. � IMPORTANTÍSSIMO: Isso aqui NÃO. � Nosso ensino é presencial, porém virtual. Tratem nossas aulas com a mesma seriedade que tratariam se estivéssemos no mesmo prédio. � PORTANTO: . Se você tem uma dúvida: levante a mão e tire-a! . Se você tem alguma contribuição para fazer à aula: levante a mão e faça-a! . Se você não entendeu alguma coisa que eu falei: me interrompa que eu explico de novo! � Aulas online são chatasdiferentes... Mas ela é tão chatadiferente quanto vocês deixam ela ser! https://zoom.us 3 Sobre nossas aulas... � Infelizmente, estamos no meio de uma pandemia mundial. � Portanto, nossas aulas serão todas online, via Zoom. . Os detalhes de acesso estão disponíveis no sistema da UNIP. � IMPORTANTÍSSIMO: Isso aqui NÃO. � Nosso ensino é presencial, porém virtual. Tratem nossas aulas com a mesma seriedade que tratariam se estivéssemos no mesmo prédio. � PORTANTO: . Se você tem uma dúvida: levante a mão e tire-a! . Se você tem alguma contribuição para fazer à aula: levante a mão e faça-a! . Se você não entendeu alguma coisa que eu falei: me interrompa que eu explico de novo! � Aulas online são chatasdiferentes... Mas ela é tão chatadiferente quanto vocês deixam ela ser! https://zoom.us 3 Sobre nossas aulas... � Infelizmente, estamos no meio de uma pandemia mundial. � Portanto, nossas aulas serão todas online, via Zoom. . Os detalhes de acesso estão disponíveis no sistema da UNIP. � IMPORTANTÍSSIMO: Isso aqui NÃO. � Nosso ensino é presencial, porém virtual. Tratem nossas aulas com a mesma seriedade que tratariam se estivéssemos no mesmo prédio. � PORTANTO: . Se você tem uma dúvida: levante a mão e tire-a! . Se você tem alguma contribuição para fazer à aula: levante a mão e faça-a! . Se você não entendeu alguma coisa que eu falei: me interrompa que eu explico de novo! � Aulas online são chatasdiferentes... Mas ela é tão chatadiferente quanto vocês deixam ela ser! https://zoom.us 3 Sobre nossas aulas... � Infelizmente, estamos no meio de uma pandemia mundial. � Portanto, nossas aulas serão todas online, via Zoom. . Os detalhes de acesso estão disponíveis no sistema da UNIP. � IMPORTANTÍSSIMO: Isso aqui NÃO. É. � Nosso ensino é presencial, porém virtual. Tratem nossas aulas com a mesma seriedade que tratariam se estivéssemos no mesmo prédio. � PORTANTO: . Se você tem uma dúvida: levante a mão e tire-a! . Se você tem alguma contribuição para fazer à aula: levante a mão e faça-a! . Se você não entendeu alguma coisa que eu falei: me interrompa que eu explico de novo! � Aulas online são chatasdiferentes... Mas ela é tão chatadiferente quanto vocês deixam ela ser! https://zoom.us 3 Sobre nossas aulas... � Infelizmente, estamos no meio de uma pandemia mundial. � Portanto, nossas aulas serão todas online, via Zoom. . Os detalhes de acesso estão disponíveis no sistema da UNIP. � IMPORTANTÍSSIMO: Isso aqui NÃO. É. EAD. � Nosso ensino é presencial, porém virtual. Tratem nossas aulas com a mesma seriedade que tratariam se estivéssemos no mesmo prédio. � PORTANTO: . Se você tem uma dúvida: levante a mão e tire-a! . Se você tem alguma contribuição para fazer à aula: levante a mão e faça-a! . Se você não entendeu alguma coisa que eu falei: me interrompa que eu explico de novo! � Aulas online são chatasdiferentes... Mas ela é tão chatadiferente quanto vocês deixam ela ser! https://zoom.us 3 Sobre nossas aulas... � Infelizmente, estamos no meio de uma pandemia mundial. � Portanto, nossas aulas serão todas online, via Zoom. . Os detalhes de acesso estão disponíveis no sistema da UNIP. � IMPORTANTÍSSIMO: Isso aqui NÃO. É. EAD. � Nosso ensino é presencial, porém virtual. Tratem nossas aulas com a mesma seriedade que tratariam se estivéssemos no mesmo prédio. � PORTANTO: . Se você tem uma dúvida: levante a mão e tire-a! . Se você tem alguma contribuição para fazer à aula: levante a mão e faça-a! . Se você não entendeu alguma coisa que eu falei: me interrompa que eu explico de novo! � Aulas online são chatasdiferentes... Mas ela é tão chatadiferente quanto vocês deixam ela ser! https://zoom.us 3 Sobre nossas aulas... � Infelizmente, estamos no meio de uma pandemia mundial. � Portanto, nossas aulas serão todas online, via Zoom. . Os detalhes de acesso estão disponíveis no sistema da UNIP. � IMPORTANTÍSSIMO: Isso aqui NÃO. É. EAD. � Nosso ensino é presencial, porém virtual. Tratem nossas aulas com a mesma seriedade que tratariam se estivéssemos no mesmo prédio. Isso é o que EU vou fazer! � PORTANTO: . Se você tem uma dúvida: levante a mão e tire-a! . Se você tem alguma contribuição para fazer à aula: levante a mão e faça-a! . Se você não entendeu alguma coisa que eu falei: me interrompa que eu explico de novo! � Aulas online são chatasdiferentes... Mas ela é tão chatadiferente quanto vocês deixam ela ser! https://zoom.us 3 Sobre nossas aulas... � Infelizmente, estamos no meio de uma pandemia mundial. � Portanto, nossas aulas serão todas online, via Zoom. . Os detalhes de acesso estão disponíveis no sistema da UNIP. � IMPORTANTÍSSIMO: Isso aqui NÃO. É. EAD. � Nosso ensino é presencial, porém virtual. Tratem nossas aulas com a mesma seriedadeque tratariam se estivéssemos no mesmo prédio. Isso é o que EU vou fazer! � PORTANTO: . Se você tem uma dúvida: levante a mão e tire-a! . Se você tem alguma contribuição para fazer à aula: levante a mão e faça-a! . Se você não entendeu alguma coisa que eu falei: me interrompa que eu explico de novo! � Aulas online são chatasdiferentes... Mas ela é tão chatadiferente quanto vocês deixam ela ser! https://zoom.us 3 Sobre nossas aulas... � Infelizmente, estamos no meio de uma pandemia mundial. � Portanto, nossas aulas serão todas online, via Zoom. . Os detalhes de acesso estão disponíveis no sistema da UNIP. � IMPORTANTÍSSIMO: Isso aqui NÃO. É. EAD. � Nosso ensino é presencial, porém virtual. Tratem nossas aulas com a mesma seriedade que tratariam se estivéssemos no mesmo prédio. Isso é o que EU vou fazer! � PORTANTO: . Se você tem uma dúvida: levante a mão e tire-a! . Se você tem alguma contribuição para fazer à aula: levante a mão e faça-a! . Se você não entendeu alguma coisa que eu falei: me interrompa que eu explico de novo! � Aulas online são chatasdiferentes... Mas ela é tão chatadiferente quanto vocês deixam ela ser! https://zoom.us 4 Sobre a avaliação... � A avaliação da disciplina de LPA será realizada por meio de listas de exercícios e provas. � Sobre as listas: . A partir da próxima semana, eu disponibilizarei uma pequena lista de exercícios para fixação. Serão dois ou três (no máximo), e serão relacionados ao conteúdo visto em sala de aula. . As listas serão fornecidas a cada 15 dias (duas semanas), com prazo de entrega até o final da semana vigente. . Entregar as listas de exercícios contará para a nota final do semestre. . A menos que explicitado no cabeçalho da lista, a correção dos exercícios será binária: ou acertou tudo ou errou tudo. � Sobre a prova: . Será realizada uma única prova ao final do semestre. . Muito provavelmente essa prova será virtual. . A prova será com consulta. . Haverá possibilidade de prova substitutiva, caso alguém não possa comparecer à prova. 4 Sobre a avaliação... � A avaliação da disciplina de LPA será realizada por meio de listas de exercícios e provas. � Sobre as listas: . A partir da próxima semana, eu disponibilizarei uma pequena lista de exercícios para fixação. Serão dois ou três (no máximo), e serão relacionados ao conteúdo visto em sala de aula. . As listas serão fornecidas a cada 15 dias (duas semanas), com prazo de entrega até o final da semana vigente. . Entregar as listas de exercícios contará para a nota final do semestre. . A menos que explicitado no cabeçalho da lista, a correção dos exercícios será binária: ou acertou tudo ou errou tudo. � Sobre a prova: . Será realizada uma única prova ao final do semestre. . Muito provavelmente essa prova será virtual. . A prova será com consulta. . Haverá possibilidade de prova substitutiva, caso alguém não possa comparecer à prova. 4 Sobre a avaliação... � A avaliação da disciplina de LPA será realizada por meio de listas de exercícios e provas. � Sobre as listas: . A partir da próxima semana, eu disponibilizarei uma pequena lista de exercícios para fixação. Serão dois ou três (no máximo), e serão relacionados ao conteúdo visto em sala de aula. . As listas serão fornecidas a cada 15 dias (duas semanas), com prazo de entrega até o final da semana vigente. . Entregar as listas de exercícios contará para a nota final do semestre. . A menos que explicitado no cabeçalho da lista, a correção dos exercícios será binária: ou acertou tudo ou errou tudo. � Sobre a prova: . Será realizada uma única prova ao final do semestre. . Muito provavelmente essa prova será virtual. . A prova será com consulta. . Haverá possibilidade de prova substitutiva, caso alguém não possa comparecer à prova. 4 Sobre a avaliação... � A avaliação da disciplina de LPA será realizada por meio de listas de exercícios e provas. � Sobre as listas: . A partir da próxima semana, eu disponibilizarei uma pequena lista de exercícios para fixação. Serão dois ou três (no máximo), e serão relacionados ao conteúdo visto em sala de aula. . As listas serão fornecidas a cada 15 dias (duas semanas), com prazo de entrega até o final da semana vigente. . Entregar as listas de exercícios contará para a nota final do semestre. . A menos que explicitado no cabeçalho da lista, a correção dos exercícios será binária: ou acertou tudo ou errou tudo. � Sobre a prova: . Será realizada uma única prova ao final do semestre. . Muito provavelmente essa prova será virtual. . A prova será com consulta. . Haverá possibilidade de prova substitutiva, caso alguém não possa comparecer à prova. 4 Sobre a avaliação... � A avaliação da disciplina de LPA será realizada por meio de listas de exercícios e provas. � Sobre as listas: . A partir da próxima semana, eu disponibilizarei uma pequena lista de exercícios para fixação. Serão dois ou três (no máximo), e serão relacionados ao conteúdo visto em sala de aula. . As listas serão fornecidas a cada 15 dias (duas semanas), com prazo de entrega até o final da semana vigente. . Entregar as listas de exercícios contará para a nota final do semestre. . A menos que explicitado no cabeçalho da lista, a correção dos exercícios será binária: ou acertou tudo ou errou tudo. � Sobre a prova: . Será realizada uma única prova ao final do semestre. . Muito provavelmente essa prova será virtual. . A prova será com consulta. . Haverá possibilidade de prova substitutiva, caso alguém não possa comparecer à prova. 4 Sobre a avaliação... � A avaliação da disciplina de LPA será realizada por meio de listas de exercícios e provas. � Sobre as listas: . A partir da próxima semana, eu disponibilizarei uma pequena lista de exercícios para fixação. Serão dois ou três (no máximo), e serão relacionados ao conteúdo visto em sala de aula. . As listas serão fornecidas a cada 15 dias (duas semanas), com prazo de entrega até o final da semana vigente. . Entregar as listas de exercícios contará para a nota final do semestre. . A menos que explicitado no cabeçalho da lista, a correção dos exercícios será binária: ou acertou tudo ou errou tudo. � Sobre a prova: . Será realizada uma única prova ao final do semestre. . Muito provavelmente essa prova será virtual. . A prova será com consulta. . Haverá possibilidade de prova substitutiva, caso alguém não possa comparecer à prova. 4 Sobre a avaliação... � A avaliação da disciplina de LPA será realizada por meio de listas de exercícios e provas. � Sobre as listas: . A partir da próxima semana, eu disponibilizarei uma pequena lista de exercícios para fixação. Serão dois ou três (no máximo), e serão relacionados ao conteúdo visto em sala de aula. . As listas serão fornecidas a cada 15 dias (duas semanas), com prazo de entrega até o final da semana vigente. . Entregar as listas de exercícios contará para a nota final do semestre. . A menos que explicitado no cabeçalho da lista, a correção dos exercícios será binária: ou acertou tudo ou errou tudo. � Sobre a prova: . Será realizada uma única prova ao final do semestre. . Muito provavelmente essa prova será virtual. . A prova será com consulta. . Haverá possibilidade de prova substitutiva, caso alguém não possa comparecer à prova. 4 Sobre a avaliação... � A avaliação da disciplina de LPA será realizada por meio de listas de exercícios e provas. � Sobre as listas: . A partir da próxima semana, eu disponibilizarei uma pequena lista de exercícios para fixação. Serão dois ou três (no máximo), e serão relacionados ao conteúdo visto em sala de aula. . As listas serão fornecidas a cada 15 dias (duas semanas), com prazo de entrega até o final da semana vigente. . Entregar as listas de exercícios contará para a nota final do semestre. . A menos que explicitado no cabeçalho da lista, a correção dos exercícios será binária: ou acertou tudo ou errou tudo. � Sobre a prova: . Será realizada uma única prova ao final do semestre. . Muito provavelmente essa prova será virtual. . A prova serácom consulta. . Haverá possibilidade de prova substitutiva, caso alguém não possa comparecer à prova. 4 Sobre a avaliação... � A avaliação da disciplina de LPA será realizada por meio de listas de exercícios e provas. � Sobre as listas: . A partir da próxima semana, eu disponibilizarei uma pequena lista de exercícios para fixação. Serão dois ou três (no máximo), e serão relacionados ao conteúdo visto em sala de aula. . As listas serão fornecidas a cada 15 dias (duas semanas), com prazo de entrega até o final da semana vigente. . Entregar as listas de exercícios contará para a nota final do semestre. . A menos que explicitado no cabeçalho da lista, a correção dos exercícios será binária: ou acertou tudo ou errou tudo. � Sobre a prova: . Será realizada uma única prova ao final do semestre. . Muito provavelmente essa prova será virtual. . A prova será com consulta. . Haverá possibilidade de prova substitutiva, caso alguém não possa comparecer à prova. 4 Sobre a avaliação... � A avaliação da disciplina de LPA será realizada por meio de listas de exercícios e provas. � Sobre as listas: . A partir da próxima semana, eu disponibilizarei uma pequena lista de exercícios para fixação. Serão dois ou três (no máximo), e serão relacionados ao conteúdo visto em sala de aula. . As listas serão fornecidas a cada 15 dias (duas semanas), com prazo de entrega até o final da semana vigente. . Entregar as listas de exercícios contará para a nota final do semestre. . A menos que explicitado no cabeçalho da lista, a correção dos exercícios será binária: ou acertou tudo ou errou tudo. � Sobre a prova: . Será realizada uma única prova ao final do semestre. . Muito provavelmente essa prova será virtual. . A prova será com consulta. . Haverá possibilidade de prova substitutiva, caso alguém não possa comparecer à prova. 4 Sobre a avaliação... � A avaliação da disciplina de LPA será realizada por meio de listas de exercícios e provas. � Sobre as listas: . A partir da próxima semana, eu disponibilizarei uma pequena lista de exercícios para fixação. Serão dois ou três (no máximo), e serão relacionados ao conteúdo visto em sala de aula. . As listas serão fornecidas a cada 15 dias (duas semanas), com prazo de entrega até o final da semana vigente. . Entregar as listas de exercícios contará para a nota final do semestre. . A menos que explicitado no cabeçalho da lista, a correção dos exercícios será binária: ou acertou tudo ou errou tudo. � Sobre a prova: . Será realizada uma única prova ao final do semestre. . Muito provavelmente essa prova será virtual. . A prova será com consulta. . Haverá possibilidade de prova substitutiva, caso alguém não possa comparecer à prova. 5 Sobre a avaliação... � A nota final do semestre será contabilizada da seguinte forma. . Nota NL: pontuação obtida nas listas de exercício. [Máximo 5.0 pontos] . Nota NP : pontuação da prova. [Máximo 5.0 pontos] . Nota do semestre: NS = NL + NP . Se NS ≥ 7.0, a nota do final NF = NS e o aluno está aprovado. . Caso contrário, terá de realizar exame. Nesse caso, a nota final NF = NS+EX2 . O aluno será aprovado se NF ≥ 5.0 nesse caso, e reprovado caso contrário. 5 Sobre a avaliação... � A nota final do semestre será contabilizada da seguinte forma. . Nota NL: pontuação obtida nas listas de exercício. [Máximo 5.0 pontos] . Nota NP : pontuação da prova. [Máximo 5.0 pontos] . Nota do semestre: NS = NL + NP . Se NS ≥ 7.0, a nota do final NF = NS e o aluno está aprovado. . Caso contrário, terá de realizar exame. Nesse caso, a nota final NF = NS+EX2 . O aluno será aprovado se NF ≥ 5.0 nesse caso, e reprovado caso contrário. 5 Sobre a avaliação... � A nota final do semestre será contabilizada da seguinte forma. . Nota NL: pontuação obtida nas listas de exercício. [Máximo 5.0 pontos] . Nota NP : pontuação da prova. [Máximo 5.0 pontos] . Nota do semestre: NS = NL + NP . Se NS ≥ 7.0, a nota do final NF = NS e o aluno está aprovado. . Caso contrário, terá de realizar exame. Nesse caso, a nota final NF = NS+EX2 . O aluno será aprovado se NF ≥ 5.0 nesse caso, e reprovado caso contrário. 5 Sobre a avaliação... � A nota final do semestre será contabilizada da seguinte forma. . Nota NL: pontuação obtida nas listas de exercício. [Máximo 5.0 pontos] . Nota NP : pontuação da prova. [Máximo 5.0 pontos] . Nota do semestre: NS = NL + NP . Se NS ≥ 7.0, a nota do final NF = NS e o aluno está aprovado. . Caso contrário, terá de realizar exame. Nesse caso, a nota final NF = NS+EX2 . O aluno será aprovado se NF ≥ 5.0 nesse caso, e reprovado caso contrário. 5 Sobre a avaliação... � A nota final do semestre será contabilizada da seguinte forma. . Nota NL: pontuação obtida nas listas de exercício. [Máximo 5.0 pontos] . Nota NP : pontuação da prova. [Máximo 5.0 pontos] . Nota do semestre: NS = NL + NP . Se NS ≥ 7.0, a nota do final NF = NS e o aluno está aprovado. . Caso contrário, terá de realizar exame. Nesse caso, a nota final NF = NS+EX2 . O aluno será aprovado se NF ≥ 5.0 nesse caso, e reprovado caso contrário. 5 Sobre a avaliação... � A nota final do semestre será contabilizada da seguinte forma. . Nota NL: pontuação obtida nas listas de exercício. [Máximo 5.0 pontos] . Nota NP : pontuação da prova. [Máximo 5.0 pontos] . Nota do semestre: NS = NL + NP . Se NS ≥ 7.0, a nota do final NF = NS e o aluno está aprovado. . Caso contrário, terá de realizar exame. Nesse caso, a nota final NF = NS+EX2 . O aluno será aprovado se NF ≥ 5.0 nesse caso, e reprovado caso contrário. 6 Algumas informações a mais... � Dois últimos comentários: . Haverá um período (oficial) de revisão de notas no final do semestre, após a realização dos exames. Vocês poderão visualizar e contestar qualquer nota obtida durante o semestre. – Eu prefiro fazer isso durante o semestre. Se você tiver alguma dúvida sobre a correção e/ou sobre sua nota, me mande um e-mail. . Haverá uma planilha de notas disponibilizada no meu site, que será atualizada periodicamente. – Qualquer discrepância e/ou dúvida sobre as notas publicadas na planilha devem ser tiradas o mais rápido possível. 6 Algumas informações a mais... � Dois últimos comentários: . Haverá um período (oficial) de revisão de notas no final do semestre, após a realização dos exames. Vocês poderão visualizar e contestar qualquer nota obtida durante o semestre. – Eu prefiro fazer isso durante o semestre. Se você tiver alguma dúvida sobre a correção e/ou sobre sua nota, me mande um e-mail. . Haverá uma planilha de notas disponibilizada no meu site, que será atualizada periodicamente. – Qualquer discrepância e/ou dúvida sobre as notas publicadas na planilha devem ser tiradas o mais rápido possível. 6 Algumas informações a mais... � Dois últimos comentários: . Haverá um período (oficial) de revisão de notas no final do semestre, após a realização dos exames. Vocês poderão visualizar e contestar qualquer nota obtida durante o semestre. – Eu prefiro fazer isso durante o semestre. Se você tiver alguma dúvida sobre a correção e/ou sobre sua nota, me mande um e-mail. . Haverá uma planilha de notas disponibilizada no meu site, que será atualizada periodicamente. – Qualquer discrepância e/ou dúvida sobre as notas publicadas na planilha devem ser tiradas o mais rápido possível. 6 Algumas informações a mais... � Dois últimos comentários: . Haverá um período (oficial) de revisão de notas no final do semestre, após a realização dos exames. Vocês poderão visualizar e contestar qualquer nota obtida durante o semestre. – Eu prefiro fazer isso durante o semestre. Se você tiver alguma dúvida sobre a correção e/ou sobre sua nota, me mande um e-mail. . Haverá uma planilha de notas disponibilizada no meu site, que será atualizada periodicamente. – Qualquer discrepância e/ou dúvida sobre as notas publicadas na planilha devem ser tiradas o mais rápido possível. 6 Algumas informações a mais... � Dois últimos comentários: . Haverá um período (oficial) de revisão de notas no final do semestre,após a realização dos exames. Vocês poderão visualizar e contestar qualquer nota obtida durante o semestre. – Eu prefiro fazer isso durante o semestre. Se você tiver alguma dúvida sobre a correção e/ou sobre sua nota, me mande um e-mail. . Haverá uma planilha de notas disponibilizada no meu site, que será atualizada periodicamente. – Qualquer discrepância e/ou dúvida sobre as notas publicadas na planilha devem ser tiradas o mais rápido possível. 7 Sobre a disciplina... � J701 :: Lógica de Programação e Algoritmos . Independente de linguagem de programação... . Independente de capacidade computacional... � Objetivo Geral: “Desenvolver o raciocínio lógico aplicado a solução de problemas em nível computacional.” � Qual será a linguagem de programação utilizada? � Esta disciplina será FORTEMENTE atrelada à disciplina de IPE. . Aqui veremos a teoria; em IPE, colocaremos ela em prática. 7 Sobre a disciplina... � J701 :: Lógica de Programação e Algoritmos . Independente de linguagem de programação... . Independente de capacidade computacional... � Objetivo Geral: “Desenvolver o raciocínio lógico aplicado a solução de problemas em nível computacional.” � Qual será a linguagem de programação utilizada? � Esta disciplina será FORTEMENTE atrelada à disciplina de IPE. . Aqui veremos a teoria; em IPE, colocaremos ela em prática. 7 Sobre a disciplina... � J701 :: Lógica de Programação e Algoritmos . Independente de linguagem de programação... . Independente de capacidade computacional... � Objetivo Geral: “Desenvolver o raciocínio lógico aplicado a solução de problemas em nível computacional.” � Qual será a linguagem de programação utilizada? � Esta disciplina será FORTEMENTE atrelada à disciplina de IPE. . Aqui veremos a teoria; em IPE, colocaremos ela em prática. 7 Sobre a disciplina... � J701 :: Lógica de Programação e Algoritmos . Independente de linguagem de programação... . Independente de capacidade computacional... � Objetivo Geral: “Desenvolver o raciocínio lógico aplicado a solução de problemas em nível computacional.” � Qual será a linguagem de programação utilizada? � Esta disciplina será FORTEMENTE atrelada à disciplina de IPE. . Aqui veremos a teoria; em IPE, colocaremos ela em prática. 7 Sobre a disciplina... � J701 :: Lógica de Programação e Algoritmos . Independente de linguagem de programação... . Independente de capacidade computacional... � Objetivo Geral: “Desenvolver o raciocínio lógico aplicado a solução de problemas em nível computacional.” � Qual será a linguagem de programação utilizada? � Esta disciplina será FORTEMENTE atrelada à disciplina de IPE. . Aqui veremos a teoria; em IPE, colocaremos ela em prática. 7 Sobre a disciplina... � J701 :: Lógica de Programação e Algoritmos . Independente de linguagem de programação... . Independente de capacidade computacional... � Objetivo Geral: “Desenvolver o raciocínio lógico aplicado a solução de problemas em nível computacional.” � Qual será a linguagem de programação utilizada? NENHUMA! ... mas isso não quer dizer que não vamos “programar”! � Esta disciplina será FORTEMENTE atrelada à disciplina de IPE. . Aqui veremos a teoria; em IPE, colocaremos ela em prática. 7 Sobre a disciplina... � J701 :: Lógica de Programação e Algoritmos . Independente de linguagem de programação... . Independente de capacidade computacional... � Objetivo Geral: “Desenvolver o raciocínio lógico aplicado a solução de problemas em nível computacional.” � Qual será a linguagem de programação utilizada? NENHUMA! ... mas isso não quer dizer que não vamos “programar”! � Esta disciplina será FORTEMENTE atrelada à disciplina de IPE. . Aqui veremos a teoria; em IPE, colocaremos ela em prática. 7 Sobre a disciplina... � J701 :: Lógica de Programação e Algoritmos . Independente de linguagem de programação... . Independente de capacidade computacional... � Objetivo Geral: “Desenvolver o raciocínio lógico aplicado a solução de problemas em nível computacional.” � Qual será a linguagem de programação utilizada? NENHUMA! ... mas isso não quer dizer que não vamos “programar”! � Esta disciplina será FORTEMENTE atrelada à disciplina de IPE. . Aqui veremos a teoria; em IPE, colocaremos ela em prática. 7 Sobre a disciplina... � J701 :: Lógica de Programação e Algoritmos . Independente de linguagem de programação... . Independente de capacidade computacional... � Objetivo Geral: “Desenvolver o raciocínio lógico aplicado a solução de problemas em nível computacional.” � Qual será a linguagem de programação utilizada? NENHUMA! ... mas isso não quer dizer que não vamos “programar”! � Esta disciplina será FORTEMENTE atrelada à disciplina de IPE. . Aqui veremos a teoria; em IPE, colocaremos ela em prática. 8 1. Conceitos Básicos 9 Antes de mais nada... 1 Quem aqui sabe programar? 2 Quem aqui sabe o que um computador consegue fazer? 9 Antes de mais nada... 1 Quem aqui sabe programar? 2 Quem aqui sabe o que um computador consegue fazer? 10 Conceitos Básicos Pra quê serve um programa de computador? 10 Conceitos Básicos � Programas de computador servem para resolver problemas. Definição: Um problema computacional é um questionamento geral, ou uma pergunta, acompanhado de alguns parâmetros, chamados de entrada, para o qual se deseja obter uma resposta específica, chamada de saída. � Problemas (computacionais) são resolvidos por meio de algoritmos. 10 Conceitos Básicos � Programas de computador servem para resolver problemas. Definição: Um problema computacional é um questionamento geral, ou uma pergunta, acompanhado de alguns parâmetros, chamados de entrada, para o qual se deseja obter uma resposta específica, chamada de saída. � Problemas (computacionais) são resolvidos por meio de algoritmos. 10 Conceitos Básicos � Programas de computador servem para resolver problemas. Definição: Um problema computacional é um questionamento geral, ou uma pergunta, acompanhado de alguns parâmetros, chamados de entrada, para o qual se deseja obter uma resposta específica, chamada de saída. � Problemas (computacionais) são resolvidos por meio de algoritmos. 11 Conceitos Básicos Definição: Um algoritmo é um conjunto finito de regras que for- nece uma sequência de operações para resolver um problema computacional específico. � Todo algoritmo possui cinco características principais. 1 O algoritmo sempre termina. 2 Cada passo do algoritmo é rigorosamente definido. – Não permite ambiguidades ou dúvidas. 3 O algoritmo tem uma entrada. 4 Um algoritmo gera uma saída. 5 Todas as operações em um algoritmo devem ser suficientemente elementares (ou básicas) que qualquer pessoa consegue executá-las. 11 Conceitos Básicos Definição: Um algoritmo é um conjunto finito de regras que for- nece uma sequência de operações para resolver um problema computacional específico. � Todo algoritmo possui cinco características principais. 1 O algoritmo sempre termina. 2 Cada passo do algoritmo é rigorosamente definido. – Não permite ambiguidades ou dúvidas. 3 O algoritmo tem uma entrada. 4 Um algoritmo gera uma saída. 5 Todas as operações em um algoritmo devem ser suficientemente elementares (ou básicas) que qualquer pessoa consegue executá-las. 11 Conceitos Básicos Definição: Um algoritmo é um conjunto finito de regras que for- nece uma sequência de operações para resolver um problema computacional específico. � Todo algoritmo possui cinco características principais. 1 O algoritmo sempre termina. 2 Cada passo do algoritmo é rigorosamente definido. – Não permite ambiguidades ou dúvidas. 3 O algoritmo tem uma entrada. 4 Um algoritmo gera uma saída. 5 Todas as operações em um algoritmo devem ser suficientemente elementares (ou básicas) que qualquer pessoa consegue executá-las. 11 Conceitos Básicos Definição: Um algoritmo é um conjunto finito de regras que for- nece uma sequência de operações para resolver um problema computacional específico. � Todo algoritmo possui cinco características principais.1 O algoritmo sempre termina. 2 Cada passo do algoritmo é rigorosamente definido. – Não permite ambiguidades ou dúvidas. 3 O algoritmo tem uma entrada. 4 Um algoritmo gera uma saída. 5 Todas as operações em um algoritmo devem ser suficientemente elementares (ou básicas) que qualquer pessoa consegue executá-las. 11 Conceitos Básicos Definição: Um algoritmo é um conjunto finito de regras que for- nece uma sequência de operações para resolver um problema computacional específico. � Todo algoritmo possui cinco características principais. 1 O algoritmo sempre termina. 2 Cada passo do algoritmo é rigorosamente definido. – Não permite ambiguidades ou dúvidas. 3 O algoritmo tem uma entrada. 4 Um algoritmo gera uma saída. 5 Todas as operações em um algoritmo devem ser suficientemente elementares (ou básicas) que qualquer pessoa consegue executá-las. 11 Conceitos Básicos Definição: Um algoritmo é um conjunto finito de regras que for- nece uma sequência de operações para resolver um problema computacional específico. � Todo algoritmo possui cinco características principais. 1 O algoritmo sempre termina. 2 Cada passo do algoritmo é rigorosamente definido. – Não permite ambiguidades ou dúvidas. 3 O algoritmo tem uma entrada. 4 Um algoritmo gera uma saída. 5 Todas as operações em um algoritmo devem ser suficientemente elementares (ou básicas) que qualquer pessoa consegue executá-las. 11 Conceitos Básicos Definição: Um algoritmo é um conjunto finito de regras que for- nece uma sequência de operações para resolver um problema computacional específico. � Todo algoritmo possui cinco características principais. 1 O algoritmo sempre termina. 2 Cada passo do algoritmo é rigorosamente definido. – Não permite ambiguidades ou dúvidas. 3 O algoritmo tem uma entrada. 4 Um algoritmo gera uma saída. 5 Todas as operações em um algoritmo devem ser suficientemente elementares (ou básicas) que qualquer pessoa consegue executá-las. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo � Os ingredientes � O bolo � A receita � Os utensílios e o fogão Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo � Os ingredientes � O bolo � A receita � Os utensílios e o fogão Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo � Os ingredientes � O bolo � A receita � Os utensílios e o fogão Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo =⇒ o problema. � Os ingredientes � O bolo � A receita � Os utensílios e o fogão Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo =⇒ o problema. � Os ingredientes � O bolo � A receita � Os utensílios e o fogão Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo =⇒ o problema. � Os ingredientes =⇒ a entrada. � O bolo � A receita � Os utensílios e o fogão Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo =⇒ o problema. � Os ingredientes =⇒ a entrada. � O bolo � A receita � Os utensílios e o fogão Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo =⇒ o problema. � Os ingredientes =⇒ a entrada. � O bolo =⇒ a saída. � A receita � Os utensílios e o fogão Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo =⇒ o problema. � Os ingredientes =⇒ a entrada. � O bolo =⇒ a saída. � A receita � Os utensílios e o fogão Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo =⇒ o problema. � Os ingredientes =⇒ a entrada. � O bolo =⇒ a saída. � A receita =⇒ o algoritmo � Os utensílios e o fogão Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente,de acordo com a receita. � Estou com fome e quero um bolo =⇒ o problema. � Os ingredientes =⇒ a entrada. � O bolo =⇒ a saída. � A receita =⇒ o algoritmo =⇒ Software � Os utensílios e o fogão Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo =⇒ o problema. � Os ingredientes =⇒ a entrada. � O bolo =⇒ a saída. � A receita =⇒ o algoritmo =⇒ Software � Os utensílios e o fogão Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo =⇒ o problema. � Os ingredientes =⇒ a entrada. � O bolo =⇒ a saída. � A receita =⇒ o algoritmo =⇒ Software � Os utensílios e o fogão =⇒ Hardware Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 12 Exemplo (clássico)! O exemplo mais clássico de toda a história da computação: você está numa cozinha e você quer fazer um bolo. Cozinhar é o processo que produz um bolo, a partir dos ingredientes, realizado pelo cozinheiro, auxiliado pelo fogão e, mais importantemente, de acordo com a receita. � Estou com fome e quero um bolo =⇒ o problema. � Os ingredientes =⇒ a entrada. � O bolo =⇒ a saída. � A receita =⇒ o algoritmo =⇒ Software � Os utensílios e o fogão =⇒ Hardware Um cozinheiro, por mais habilidoso que ele seja, não pode fazer um bolo. Mas ele pode bater a mistura, medir, servir, acender o fogão, medir tempo, etc. 13 Um passo a mais no nosso exemplo Vamos nos aprofundar mais nesse exemplo... Bolo de Chocolate∗ 1 Em um liquidificador adicione os ovos, o chocolate em pó, a manteiga, a farinha de trigo, o açúcar e o leite, depois bata por 5 minutos. 2 Adicione o fermento e misture com uma espátula delicadamente. 3 Em uma forma untada, despeje a massa e asse em forno médio (180 oC) preaquecido por cerca de 40 minutos. 4 Em uma panela, aqueça a manteiga e misture o chocolate em pó até que esteja homogêneo. 5 Acrescente o creme de leite e misture bem até obter uma consistência cremosa. 6 Desligue o fogo e acrescente o açúcar. Ingredientes (Massa) 4x ovos. 4 colheres (sopa) de chocolate em pó 2 colheres (sopa) de manteiga 3 xícaras (chá) de farinha de trigo 2 xícaras (chá) de açúcar 2 colheres (sopa) de fermento 1 xícara (chá) de leite Ingredientes (Calda) 2 colheres (sopa) de manteiga 7 colheres (sopa) de chocolate em pó 2 latas de creme de leite com soro 3 colheres (sopa) de açúcar O nível das instruções deve sempre ser suficientemente simples que qualquer pessoa com o mínimo de conhecimento sobre o assunto possa realizar as tarefas. ∗Retirado de Tudo Gostoso https://www.tudogostoso.com.br/receita/62547-a-melhor-receita-de-bolo-de-chocolate.html 13 Um passo a mais no nosso exemplo Vamos nos aprofundar mais nesse exemplo... Bolo de Chocolate∗ 1 Em um liquidificador adicione os ovos, o chocolate em pó, a manteiga, a farinha de trigo, o açúcar e o leite, depois bata por 5 minutos. 2 Adicione o fermento e misture com uma espátula delicadamente. 3 Em uma forma untada, despeje a massa e asse em forno médio (180 oC) preaquecido por cerca de 40 minutos. 4 Em uma panela, aqueça a manteiga e misture o chocolate em pó até que esteja homogêneo. 5 Acrescente o creme de leite e misture bem até obter uma consistência cremosa. 6 Desligue o fogo e acrescente o açúcar. � Uma das instruções é: “Em uma forma untada, despeje a massa (...)” � Por que a receita não diz: “Pegue um pouco de manteiga e espalhe na forma (...)”? � Porque o Hardware “sabe” o que é uma forma untada. � Mas então, será que o Hardware não sabe, por exemplo, preparar uma calda de chocolate? O nível das instruções deve sempre ser suficientemente simples que qualquer pessoa com o mínimo de conhecimento sobre o assunto possa realizar as tarefas. ∗Retirado de Tudo Gostoso https://www.tudogostoso.com.br/receita/62547-a-melhor-receita-de-bolo-de-chocolate.html 13 Um passo a mais no nosso exemplo Vamos nos aprofundar mais nesse exemplo... Bolo de Chocolate∗ 1 Em um liquidificador adicione os ovos, o chocolate em pó, a manteiga, a farinha de trigo, o açúcar e o leite, depois bata por 5 minutos. 2 Adicione o fermento e misture com uma espátula delicadamente. 3 Em uma forma untada, despeje a massa e asse em forno médio (180 oC) preaquecido por cerca de 40 minutos. 4 Em uma panela, aqueça a manteiga e misture o chocolate em pó até que esteja homogêneo. 5 Acrescente o creme de leite e misture bem até obter uma consistência cremosa. 6 Desligue o fogo e acrescente o açúcar. � Uma das instruções é: “Em uma forma untada, despeje a massa (...)” � Por que a receita não diz: “Pegue um pouco de manteiga e espalhe na forma (...)”? � Porque o Hardware “sabe” o que é uma forma untada. � Mas então, será que o Hardware não sabe, por exemplo, preparar uma calda de chocolate? O nível das instruções deve sempre ser suficientemente simples que qualquer pessoa com o mínimo de conhecimento sobre o assunto possa realizar as tarefas. ∗Retirado de Tudo Gostoso https://www.tudogostoso.com.br/receita/62547-a-melhor-receita-de-bolo-de-chocolate.html 13 Um passo a mais no nosso exemplo Vamos nos aprofundar mais nesse exemplo... Bolo de Chocolate∗ 1 Em um liquidificador adicione os ovos, o chocolate em pó, a manteiga, a farinha de trigo, o açúcar e o leite, depois bata por 5 minutos. 2 Adicione o fermento e misture com uma espátula delicadamente. 3 Em uma forma untada, despeje a massa e asse em forno médio (180 oC) preaquecido por cerca de 40 minutos. 4 Em uma panela, aqueça a manteiga e misture o chocolate em pó até que esteja homogêneo. 5 Acrescente o creme de leite e misture bem até obter uma consistência cremosa. 6 Desligue o fogo e acrescente o açúcar. � Uma das instruções é: “Em uma forma untada, despeje a massa (...)” � Por que a receita não diz: Pegue 243 gramas de manteiga, coloque-a em um papel toalha e, em movimentos circulares concêntricos, espalhe pela forma, com uma angulação de 14o (...)? � Porque o Hardware “sabe” o que é uma forma untada. � Mas então, será que o Hardware não sabe, por exemplo, preparar uma calda de chocolate? O nível das instruções deve sempre ser suficientemente simples que qualquer pessoa com o mínimo de conhecimento sobre o assunto possa realizar as tarefas. ∗Retirado de Tudo Gostoso https://www.tudogostoso.com.br/receita/62547-a-melhor-receita-de-bolo-de-chocolate.html 13 Um passo a mais no nosso exemplo Vamos nos aprofundar mais nesse exemplo... Bolo de Chocolate∗ 1 Em um liquidificador adicione os ovos, o chocolate em pó, a manteiga, a farinha de trigo, o açúcar e o leite, depois bata por 5 minutos. 2 Adicione o fermento e misture com uma espátula delicadamente. 3 Em uma forma untada, despeje a massa e asse em forno médio (180 oC) preaquecido por cerca de 40 minutos. 4 Em uma panela, aqueça a manteiga e misture o chocolate em pó até que esteja homogêneo. 5 Acrescente o creme de leite e misture bem até obter uma consistência cremosa. 6 Desligue o fogo e acrescente o açúcar. � Uma das instruções é: “Em uma forma untada, despeje a massa (...)” � Por que a receita não diz: Pegue 243 gramas de manteiga, coloque-a em um papel toalha e, em movimentos circulares concêntricos,espalhe pela forma, com uma angulação de 14o (...)? � Porque o Hardware “sabe” o que é uma forma untada. � Mas então, será que o Hardware não sabe, por exemplo, preparar uma calda de chocolate? O nível das instruções deve sempre ser suficientemente simples que qualquer pessoa com o mínimo de conhecimento sobre o assunto possa realizar as tarefas. ∗Retirado de Tudo Gostoso https://www.tudogostoso.com.br/receita/62547-a-melhor-receita-de-bolo-de-chocolate.html 13 Um passo a mais no nosso exemplo Vamos nos aprofundar mais nesse exemplo... Bolo de Chocolate∗ 1 Em um liquidificador adicione os ovos, o chocolate em pó, a manteiga, a farinha de trigo, o açúcar e o leite, depois bata por 5 minutos. 2 Adicione o fermento e misture com uma espátula delicadamente. 3 Em uma forma untada, despeje a massa e asse em forno médio (180 oC) preaquecido por cerca de 40 minutos. 4 Em uma panela, aqueça a manteiga e misture o chocolate em pó até que esteja homogêneo. 5 Acrescente o creme de leite e misture bem até obter uma consistência cremosa. 6 Desligue o fogo e acrescente o açúcar. � Uma das instruções é: “Em uma forma untada, despeje a massa (...)” � Por que a receita não diz: Pegue 243 gramas de manteiga, coloque-a em um papel toalha e, em movimentos circulares concêntricos, espalhe pela forma, com uma angulação de 14o (...)? � Porque o Hardware “sabe” o que é uma forma untada. � Mas então, será que o Hardware não sabe, por exemplo, preparar uma calda de chocolate? O nível das instruções deve sempre ser suficientemente simples que qualquer pessoa com o mínimo de conhecimento sobre o assunto possa realizar as tarefas. ∗Retirado de Tudo Gostoso https://www.tudogostoso.com.br/receita/62547-a-melhor-receita-de-bolo-de-chocolate.html 13 Um passo a mais no nosso exemplo Vamos nos aprofundar mais nesse exemplo... Bolo de Chocolate∗ 1 Em um liquidificador adicione os ovos, o chocolate em pó, a manteiga, a farinha de trigo, o açúcar e o leite, depois bata por 5 minutos. 2 Adicione o fermento e misture com uma espátula delicadamente. 3 Em uma forma untada, despeje a massa e asse em forno médio (180 oC) preaquecido por cerca de 40 minutos. 4 Prepare calda de chocolate. � Uma das instruções é: “Em uma forma untada, despeje a massa (...)” � Por que a receita não diz: Pegue 243 gramas de manteiga, coloque-a em um papel toalha e, em movimentos circulares concêntricos, espalhe pela forma, com uma angulação de 14o (...)? � Porque o Hardware “sabe” o que é uma forma untada. � Mas então, será que o Hardware não sabe, por exemplo, preparar uma calda de chocolate? O nível das instruções deve sempre ser suficientemente simples que qualquer pessoa com o mínimo de conhecimento sobre o assunto possa realizar as tarefas. ∗Retirado de Tudo Gostoso https://www.tudogostoso.com.br/receita/62547-a-melhor-receita-de-bolo-de-chocolate.html 13 Um passo a mais no nosso exemplo Vamos nos aprofundar mais nesse exemplo... Bolo de Chocolate∗ 1 Em um liquidificador adicione os ovos, o chocolate em pó, a manteiga, a farinha de trigo, o açúcar e o leite, depois bata por 5 minutos. 2 Adicione o fermento e misture com uma espátula delicadamente. 3 Em uma forma untada, despeje a massa e asse em forno médio (180 oC) preaquecido por cerca de 40 minutos. 4 Prepare calda de chocolate. � Uma das instruções é: “Em uma forma untada, despeje a massa (...)” � Por que a receita não diz: Pegue 243 gramas de manteiga, coloque-a em um papel toalha e, em movimentos circulares concêntricos, espalhe pela forma, com uma angulação de 14o (...)? � Porque o Hardware “sabe” o que é uma forma untada. � Mas então, será que o Hardware não sabe, por exemplo, preparar o bolo inteiro? O nível das instruções deve sempre ser suficientemente simples que qualquer pessoa com o mínimo de conhecimento sobre o assunto possa realizar as tarefas. ∗Retirado de Tudo Gostoso https://www.tudogostoso.com.br/receita/62547-a-melhor-receita-de-bolo-de-chocolate.html 13 Um passo a mais no nosso exemplo Vamos nos aprofundar mais nesse exemplo... Bolo de Chocolate∗ 1 Preparar bolo inteiro. � Uma das instruções é: “Em uma forma untada, despeje a massa (...)” � Por que a receita não diz: Pegue 243 gramas de manteiga, coloque-a em um papel toalha e, em movimentos circulares concêntricos, espalhe pela forma, com uma angulação de 14o (...)? � Porque o Hardware “sabe” o que é uma forma untada. � Mas então, será que o Hardware não sabe, por exemplo, preparar o bolo inteiro? O nível das instruções deve sempre ser suficientemente simples que qualquer pessoa com o mínimo de conhecimento sobre o assunto possa realizar as tarefas. ∗Retirado de Tudo Gostoso https://www.tudogostoso.com.br/receita/62547-a-melhor-receita-de-bolo-de-chocolate.html 13 Um passo a mais no nosso exemplo Vamos nos aprofundar mais nesse exemplo... Bolo de Chocolate∗ 1 Preparar bolo inteiro. � Uma das instruções é: “Em uma forma untada, despeje a massa (...)” � Por que a receita não diz: Pegue 243 gramas de manteiga, coloque-a em um papel toalha e, em movimentos circulares concêntricos, espalhe pela forma, com uma angulação de 14o (...)? � Porque o Hardware “sabe” o que é uma forma untada. � Mas então, será que o Hardware não sabe, por exemplo, preparar o bolo inteiro? O nível das instruções deve sempre ser suficientemente simples que qualquer pessoa com o mínimo de conhecimento sobre o assunto possa realizar as tarefas. ∗Retirado de Tudo Gostoso https://www.tudogostoso.com.br/receita/62547-a-melhor-receita-de-bolo-de-chocolate.html 14 Um segundo exemplo! Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui uma nota final NF . A regra é simples! Se NF ≥ 5.0, o aluno é aprovado; caso contrário, o aluno é reprovado. � Qual é a entrada desse problema? � Qual é a saída esperada? � Como resolvemos esse problema? � Tem como “visualizar” esse passo-a-passo para obter a resposta? 14 Um segundo exemplo! Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui uma nota final NF . A regra é simples! Se NF ≥ 5.0, o aluno é aprovado; caso contrário, o aluno é reprovado. � Qual é a entrada desse problema? � Qual é a saída esperada? � Como resolvemos esse problema? � Tem como “visualizar” esse passo-a-passo para obter a resposta? 14 Um segundo exemplo! Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui uma nota final NF . A regra é simples! Se NF ≥ 5.0, o aluno é aprovado; caso contrário, o aluno é reprovado. � Qual é a entrada desse problema? � Qual é a saída esperada? � Como resolvemos esse problema? � Tem como “visualizar” esse passo-a-passo para obter a resposta? 14 Um segundo exemplo! Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui uma nota final NF . A regra é simples! Se NF ≥ 5.0, o aluno é aprovado; caso contrário, o aluno é reprovado. � Qual é a entrada desse problema? � Qual é a saída esperada? � Como resolvemos esse problema? � Tem como “visualizar” esse passo-a-passo para obter a resposta? 14 Um segundo exemplo! Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui uma nota final NF . A regra é simples! Se NF ≥ 5.0, o aluno é aprovado; caso contrário, o aluno é reprovado. � Qual é a entrada desse problema? � Qual é a saída esperada? � Como resolvemos esse problema? � Tem como “visualizar” esse passo-a-passo para obter a resposta? 14 Um segundo exemplo! Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui uma nota final NF . A regra é simples! Se NF ≥ 5.0, o aluno é aprovado; caso contrário, o aluno é reprovado. � Qual é a entrada desse problema? � Qual é a saída esperada? � Como resolvemos esse problema? � Tem como “visualizar” esse passo-a-passo para obter a resposta? 14 Um segundo exemplo! Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui uma nota final NF . A regra é simples! Se NF ≥ 5.0, o alunoé aprovado; caso contrário, o aluno é reprovado. � Qual é a entrada desse problema? � Qual é a saída esperada? � Como resolvemos esse problema? � Tem como “visualizar” esse passo-a-passo para obter a resposta? 15 Representação da sequência lógica: Fluxograma Definição: Um fluxograma é uma representação gráfica de um algoritmo, onde formas geométricas diferentes implicam ações (instruções, operações, comandos, etc.) distintas. � O objetivo principal de utilizar um fluxograma é facilitar o entendimento do “fluxo” de ações a ser executado. � Ele deve ser claro, simples e de fácil leitura. � Alguns dos símbolos que utilizaremos†: Início/Fim Processo Decisão Entrada Saída � Iremos ver cada símbolo com calma durante o semestre. Mas por enquanto, vamos ver um exemplo: †De acordo com GOMES et al., Fundamentos da Programação de Computadores – Algoritmos, Pascal e C/C++. Prentice Hall, 2007. 15 Representação da sequência lógica: Fluxograma Definição: Um fluxograma é uma representação gráfica de um algoritmo, onde formas geométricas diferentes implicam ações (instruções, operações, comandos, etc.) distintas. � O objetivo principal de utilizar um fluxograma é facilitar o entendimento do “fluxo” de ações a ser executado. � Ele deve ser claro, simples e de fácil leitura. � Alguns dos símbolos que utilizaremos†: Início/Fim Processo Decisão Entrada Saída � Iremos ver cada símbolo com calma durante o semestre. Mas por enquanto, vamos ver um exemplo: †De acordo com GOMES et al., Fundamentos da Programação de Computadores – Algoritmos, Pascal e C/C++. Prentice Hall, 2007. 15 Representação da sequência lógica: Fluxograma Definição: Um fluxograma é uma representação gráfica de um algoritmo, onde formas geométricas diferentes implicam ações (instruções, operações, comandos, etc.) distintas. � O objetivo principal de utilizar um fluxograma é facilitar o entendimento do “fluxo” de ações a ser executado. � Ele deve ser claro, simples e de fácil leitura. � Alguns dos símbolos que utilizaremos†: Início/Fim Processo Decisão Entrada Saída � Iremos ver cada símbolo com calma durante o semestre. Mas por enquanto, vamos ver um exemplo: †De acordo com GOMES et al., Fundamentos da Programação de Computadores – Algoritmos, Pascal e C/C++. Prentice Hall, 2007. 15 Representação da sequência lógica: Fluxograma Definição: Um fluxograma é uma representação gráfica de um algoritmo, onde formas geométricas diferentes implicam ações (instruções, operações, comandos, etc.) distintas. � O objetivo principal de utilizar um fluxograma é facilitar o entendimento do “fluxo” de ações a ser executado. � Ele deve ser claro, simples e de fácil leitura. � Alguns dos símbolos que utilizaremos†: Início/Fim Processo Decisão Entrada Saída � Iremos ver cada símbolo com calma durante o semestre. Mas por enquanto, vamos ver um exemplo: †De acordo com GOMES et al., Fundamentos da Programação de Computadores – Algoritmos, Pascal e C/C++. Prentice Hall, 2007. 15 Representação da sequência lógica: Fluxograma Definição: Um fluxograma é uma representação gráfica de um algoritmo, onde formas geométricas diferentes implicam ações (instruções, operações, comandos, etc.) distintas. � O objetivo principal de utilizar um fluxograma é facilitar o entendimento do “fluxo” de ações a ser executado. � Ele deve ser claro, simples e de fácil leitura. � Alguns dos símbolos que utilizaremos†: Início/Fim Processo Decisão Entrada Saída � Iremos ver cada símbolo com calma durante o semestre. Mas por enquanto, vamos ver um exemplo: †De acordo com GOMES et al., Fundamentos da Programação de Computadores – Algoritmos, Pascal e C/C++. Prentice Hall, 2007. 16 Fluxograma para o problema da média Início 16 Fluxograma para o problema da média Início NF 16 Fluxograma para o problema da média Início NF Entrada do usuário 16 Fluxograma para o problema da média Início NF NF ≥ 5.0? 16 Fluxograma para o problema da média Início NF NF ≥ 5.0? Tomada de decisão 16 Fluxograma para o problema da média Início NF NF ≥ 5.0? “Aprovado :)” sim 16 Fluxograma para o problema da média Início NF NF ≥ 5.0? “Aprovado :)” sim “Reprovado :(” não 16 Fluxograma para o problema da média Início NF NF ≥ 5.0? “Aprovado :)” sim “Reprovado :(” não Ações de saída/impressão 16 Fluxograma para o problema da média Início NF NF ≥ 5.0? “Aprovado :)” sim “Reprovado :(” não Fim 17 Mas não é bem assim... Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui uma nota final NF . A regra é simples. Se NF ≥ 5.0, o aluno é aprovado; caso contrário, o aluno é reprovado. 17 Mas não é bem assim... Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui duas notas: NP1 e NP2. A regra é simples. Se NF ≥ 5.0, o aluno é aprovado; caso contrário, o aluno é reprovado. 17 Mas não é bem assim... Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota final NF é a média ponderada entre NP1 e NP2. Se NF ≥ 5.0, o aluno é aprovado; caso contrário, o aluno é reprovado. 17 Mas não é bem assim... Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota final NF é a média ponderada entre NP1 e NP2. NF = 3×NP1 + 4×NP27 Se NF ≥ 5.0, o aluno é aprovado; caso contrário, o aluno é reprovado. 17 Mas não é bem assim... Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota final NF é a média ponderada entre NP1 e NP2. NF = 3×NP1 + 4×NP27 Se NF ≥ 7.0, o aluno é aprovado; caso contrário, o aluno é reprovado. 17 Mas não é bem assim... Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota final NF é a média ponderada entre NP1 e NP2. NF = 3×NP1 + 4×NP27 Se NF ≥ 7.0, o aluno é aprovado; caso contrário, o aluno vai pra exame. 18 Fluxograma atualizado Início NF NF ≥ 5.0? “Aprovado :)” sim “Reprovado :(” não Fim 18 Fluxograma atualizado Início NP1, NP2 NF ≥ 5.0? “Aprovado :)” sim “Reprovado :(” não Fim 18 Fluxograma atualizado Início NP1, NP2 NF ≥ 5.0? “Aprovado :)” sim “Reprovado :(” não Fim 18 Fluxograma atualizado Início NP1, NP2 NF = 3×NP 1+4×NP 27 NF ≥ 5.0? “Aprovado :)” sim “Reprovado :(” não Fim 18 Fluxograma atualizado Início NP1, NP2 NF = 3×NP 1+4×NP 27 NF ≥ 7.0? “Aprovado :)” sim “Reprovado :(” não Fim 18 Fluxograma atualizado Início NP1, NP2 NF = 3×NP 1+4×NP 27 NF ≥ 7.0? “Aprovado :)” sim “Exame :s” não Fim 19 E o Exame? Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota final NF é a média ponderada entre NP1 e NP2. NF = 3×NP1 + 4×NP27 Se NF ≥ 7.0, o aluno é aprovado; caso contrário, o aluno vai pra exame. Então, ele terá uma terceira nota EX. Agora sim: a nota final NF do aluno é a média aritmética entre a nota do semestre NS e a nota do Exame EX. Se NF ≥ 5.0, o aluno é aprovado; caso contrário, ele está reprovado‡. ‡De vez, agora! 19 E o Exame? Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota final NF é a média ponderada entre NP1 e NP2. NF = 3×NP1 + 4×NP27 Se NF ≥ 7.0, o aluno é aprovado; caso contrário, o aluno vai pra exame. Então, ele terá uma terceira nota EX. Agora sim: a nota final NF do aluno é a média aritmética entre a nota do semestre NS e a nota do Exame EX. Se NF ≥ 5.0, o aluno é aprovado;caso contrário, ele está reprovado‡. ‡De vez, agora! 19 E o Exame? Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota do semestre NS é a média ponderada entre NP1 e NP2. NF = 3×NP1 + 4×NP27 Se NF ≥ 7.0, o aluno é aprovado; caso contrário, o aluno vai pra exame. Então, ele terá uma terceira nota EX. Agora sim: a nota final NF do aluno é a média aritmética entre a nota do semestre NS e a nota do Exame EX. Se NF ≥ 5.0, o aluno é aprovado; caso contrário, ele está reprovado‡. ‡De vez, agora! 19 E o Exame? Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota do semestre NS é a média ponderada entre NP1 e NP2. NS = 3×NP1 + 4×NP27 Se NS ≥ 7.0, o aluno é aprovado; caso contrário, o aluno vai pra exame. Então, ele terá uma terceira nota EX. Agora sim: a nota final NF do aluno é a média aritmética entre a nota do semestre NS e a nota do Exame EX. Se NF ≥ 5.0, o aluno é aprovado; caso contrário, ele está reprovado‡. ‡De vez, agora! 19 E o Exame? Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota do semestre NS é a média ponderada entre NP1 e NP2. NS = 3×NP1 + 4×NP27 Se NS ≥ 7.0, o aluno é aprovado; caso contrário, o aluno vai pra exame. Então, ele terá uma terceira nota EX. Agora sim: a nota final NF do aluno é a média aritmética entre a nota do semestre NS e a nota do Exame EX. Se NF ≥ 5.0, o aluno é aprovado; caso contrário, ele está reprovado‡. ‡De vez, agora! 20 Fluxograma v3.0 Início NP1, NP2 NS = 3×NP 1+4×NP 27 NS ≥ 7.0? “Aprovado :)” sim Fim “Exame :s” não 20 Fluxograma v3.0 Início NP1, NP2 NS = 3×NP 1+4×NP 27 NS ≥ 7.0? “Aprovado :)” sim Fim não 20 Fluxograma v3.0 Início NP1, NP2 NS = 3×NP 1+4×NP 27 NS ≥ 7.0? “Aprovado :)” sim Fim EX não 20 Fluxograma v3.0 Início NP1, NP2 NS = 3×NP 1+4×NP 27 NS ≥ 7.0? “Aprovado :)” sim Fim EX não NF = NS+EX2 20 Fluxograma v3.0 Início NP1, NP2 NS = 3×NP 1+4×NP 27 NS ≥ 7.0? “Aprovado :)” sim Fim EX não NF = NS+EX2 NF ≥ 5.0? 20 Fluxograma v3.0 Início NP1, NP2 NS = 3×NP 1+4×NP 27 NS ≥ 7.0? “Aprovado :)” sim Fim EX não NF = NS+EX2 NF ≥ 5.0?sim 20 Fluxograma v3.0 Início NP1, NP2 NS = 3×NP 1+4×NP 27 NS ≥ 7.0? “Aprovado :)” sim Fim EX não NF = NS+EX2 NF ≥ 5.0?sim “Reprovado D:” não 21 THE FINAL PROBLEM... Problema: Preciso calcular a média final de um aluno de LPA. Esse aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota do semestre NS é a média ponderada entre NP1 e NP2. NS = 3×NP1 + 4×NP27 Se NS ≥ 7.0, o aluno é aprovado; caso contrário, o aluno vai pra exame. Então, ele terá uma terceira nota EX. Agora sim: a nota final NF do aluno é a média aritmética entre a sua nota do semestre NS e a nota do seu Exame EX. Se NF ≥ 5.0, o aluno é aprovado; caso contrário, ele está reprovado. 21 THE FINAL PROBLEM... Problema: Preciso calcular a média final de 100+ alunos de LPA. Esse aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota do semestre NS é a média ponderada entre NP1 e NP2. NS = 3×NP1 + 4×NP27 Se NS ≥ 7.0, o aluno é aprovado; caso contrário, o aluno vai pra exame. Então, ele terá uma terceira nota EX. Agora sim: a nota final NF do aluno é a média aritmética entre a sua nota do semestre NS e a nota do seu Exame EX. Se NF ≥ 5.0, o aluno é aprovado; caso contrário, ele está reprovado. 21 THE FINAL PROBLEM... Problema: Preciso calcular a média final de 100+ alunos de LPA. Cada aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota do semestre NS é a média ponderada entre NP1 e NP2. NS = 3×NP1 + 4×NP27 Se NS ≥ 7.0, o aluno é aprovado; caso contrário, o aluno vai pra exame. Então, ele terá uma terceira nota EX. Agora sim: a nota final NF do aluno é a média aritmética entre a sua nota do semestre NS e a nota do seu Exame EX. Se NF ≥ 5.0, o aluno é aprovado; caso contrário, ele está reprovado. 21 THE FINAL PROBLEM... Problema: Preciso calcular a média final de 100+ alunos de LPA. Cada aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota do semestre NS é a média ponderada entre NP1 e NP2. NS = 3×NP1 + 4×NP27 Se NS ≥ 7.0, o aluno é aprovado; caso contrário, o aluno vai pra exame. Então, ele terá uma terceira nota EX. Agora sim: a nota final NF de cada aluno é a média aritmética entre a sua nota do semestre NS e a nota do seu Exame EX. Se NF ≥ 5.0, o aluno é aprovado; caso contrário, ele está reprovado. 21 THE FINAL PROBLEM... Problema: Preciso calcular a média final de 100+ alunos de LPA. Cada aluno possui duas notas: NP1 e NP2. A regra não é mais tão simples. A NP1 tem peso 3, a NP2 tem peso 4 e a nota do semestre NS é a média ponderada entre NP1 e NP2. NS = 3×NP1 + 4×NP27 Se NS ≥ 7.0, o aluno é aprovado; caso contrário, o aluno vai pra exame. Então, ele terá uma terceira nota EX. Agora sim: a nota final NF de cada aluno é a média aritmética entre a sua nota do semestre NS e a nota do seu Exame EX. Se NF ≥ 5.0, o aluno é aprovado; caso contrário, ele está reprovado. 22 Um exemplo mais “matemático”... 3 8 4 × 5 6 1 5 3 6 1 9 2 0 2 0 7 3 6 � Qual é a entrada? � Qual é a saída esperada? � Qual é o algoritmo que resolve o problema? 22 Um exemplo mais “matemático”... 3 8 4 × 5 6 1 5 3 6 1 9 2 0 2 0 7 3 6 � Qual é a entrada? � Qual é a saída esperada? � Qual é o algoritmo que resolve o problema? 22 Um exemplo mais “matemático”... 3 8 4 × 5 6 1 5 3 6 1 9 2 0 2 0 7 3 6 � Qual é a entrada? � Qual é a saída esperada? � Qual é o algoritmo que resolve o problema? 22 Um exemplo mais “matemático”... 3 8 4 × 5 6 1 5 3 6 1 9 2 0 2 0 7 3 6 � Qual é a entrada? � Qual é a saída esperada? � Qual é o algoritmo que resolve o problema? 22 Um exemplo mais “matemático”... 3 8 4 × 5 6 1 5 3 6 1 9 2 0 2 0 7 3 6 � Qual é a entrada? � Qual é a saída esperada? � Qual é o algoritmo que resolve o problema? 23 Algoritmo para Multiplicação Entrada: Dois números A e B Saída: O valor A×B para cada dígito i de B, começando com o mais à direita faça comece uma nova linha de resultados para cada dígito j de A, começando com o mais à direita faça multiplique i por j e guarde a informação na cabeça se existe dígito carregado então some o valor carregado à informação guardada na sua cabeça e guarde o novo valor pegue o valor unitário do resultado que você guardou e anote-o na nova linha, na mesma coluna de j se j não for último dígito de A então pegue o valor decimal do resultado que você guardou e anote-o em cima do próximo dígito de A senão pegue o valor decimal do resultado que você guardou e anote-o na frente da nova linha fim fim 24 Pseudocódigo Definição: Um pseudocódigo é uma descrição de um algoritmo em português§, utilizando algumas palavras-chave e quaisquer expressões que melhor detalhem as instruções a serem executadas. � “Por que usar pseudocódigo e não uma linguagem de programação de verdade?” 1 Não estamos aprendendo C/C++, ou Python, ou Java, ou qualquer outra linguagem de programação. Estamos aprendendo a programar! 2 Não precisamos nos preocupar com detalhes de Engenharia de Software! – Tratamento de erros, tipos de dados, modularidade, etc... 3 Se você aprende a programar, e não somente uma linguagem de programação, você automaticamente sabe programar em TODAS as linguagens! – Primeiro você descreve o algoritmo; em seguida, você transcreve ele para sua linguagem de escolha. Basta saber/procurar as palavras reservadas de cada linguagem. §Ou inglês, francês, dependede onde você está. 24 Pseudocódigo Definição: Um pseudocódigo é uma descrição de um algoritmo em português§, utilizando algumas palavras-chave e quaisquer expressões que melhor detalhem as instruções a serem executadas. � “Por que usar pseudocódigo e não uma linguagem de programação de verdade?” 1 Não estamos aprendendo C/C++, ou Python, ou Java, ou qualquer outra linguagem de programação. Estamos aprendendo a programar! 2 Não precisamos nos preocupar com detalhes de Engenharia de Software! – Tratamento de erros, tipos de dados, modularidade, etc... 3 Se você aprende a programar, e não somente uma linguagem de programação, você automaticamente sabe programar em TODAS as linguagens! – Primeiro você descreve o algoritmo; em seguida, você transcreve ele para sua linguagem de escolha. Basta saber/procurar as palavras reservadas de cada linguagem. §Ou inglês, francês, depende de onde você está. 24 Pseudocódigo Definição: Um pseudocódigo é uma descrição de um algoritmo em português§, utilizando algumas palavras-chave e quaisquer expressões que melhor detalhem as instruções a serem executadas. � “Por que usar pseudocódigo e não uma linguagem de programação de verdade?” 1 Não estamos aprendendo C/C++, ou Python, ou Java, ou qualquer outra linguagem de programação. Estamos aprendendo a programar! 2 Não precisamos nos preocupar com detalhes de Engenharia de Software! – Tratamento de erros, tipos de dados, modularidade, etc... 3 Se você aprende a programar, e não somente uma linguagem de programação, você automaticamente sabe programar em TODAS as linguagens! – Primeiro você descreve o algoritmo; em seguida, você transcreve ele para sua linguagem de escolha. Basta saber/procurar as palavras reservadas de cada linguagem. §Ou inglês, francês, depende de onde você está. 24 Pseudocódigo Definição: Um pseudocódigo é uma descrição de um algoritmo em português§, utilizando algumas palavras-chave e quaisquer expressões que melhor detalhem as instruções a serem executadas. � “Por que usar pseudocódigo e não uma linguagem de programação de verdade?” 1 Não estamos aprendendo C/C++, ou Python, ou Java, ou qualquer outra linguagem de programação. Estamos aprendendo a programar! 2 Não precisamos nos preocupar com detalhes de Engenharia de Software! – Tratamento de erros, tipos de dados, modularidade, etc... 3 Se você aprende a programar, e não somente uma linguagem de programação, você automaticamente sabe programar em TODAS as linguagens! – Primeiro você descreve o algoritmo; em seguida, você transcreve ele para sua linguagem de escolha. Basta saber/procurar as palavras reservadas de cada linguagem. §Ou inglês, francês, depende de onde você está. 24 Pseudocódigo Definição: Um pseudocódigo é uma descrição de um algoritmo em português§, utilizando algumas palavras-chave e quaisquer expressões que melhor detalhem as instruções a serem executadas. � “Por que usar pseudocódigo e não uma linguagem de programação de verdade?” 1 Não estamos aprendendo C/C++, ou Python, ou Java, ou qualquer outra linguagem de programação. Estamos aprendendo a programar! 2 Não precisamos nos preocupar com detalhes de Engenharia de Software! – Tratamento de erros, tipos de dados, modularidade, etc... 3 Se você aprende a programar, e não somente uma linguagem de programação, você automaticamente sabe programar em TODAS as linguagens! – Primeiro você descreve o algoritmo; em seguida, você transcreve ele para sua linguagem de escolha. Basta saber/procurar as palavras reservadas de cada linguagem. §Ou inglês, francês, depende de onde você está. 25 Algoritmo para Multiplicação Entrada: Dois números A e B Saída: O valor A×B para cada dígito i de B, começando com o mais à direita faça comece uma nova linha de resultados para cada dígito j de A, começando com o mais à direita faça multiplique i por j e guarde a informação na cabeça se existe dígito carregado então some o valor carregado à informação guardada na sua cabeça e guarde o novo valor pegue o valor unitário do resultado que você guardou e anote-o na nova linha, na mesma coluna de j se j não for último dígito de A então pegue o valor decimal do resultado que você guardou e anote-o em cima do próximo dígito de A senão pegue o valor decimal do resultado que você guardou e anote-o na frente da nova linha fim fim 25 Algoritmo para Multiplicação Entrada: Dois números A e B Saída: O valor A×B para cada dígito i de B, começando com o mais à direita faça comece uma nova linha de resultados para cada dígito j de A, começando com o mais à direita faça multiplique i por j e guarde a informação na cabeça se existe dígito carregado então some o valor carregado à informação guardada na sua cabeça e guarde o novo valor pegue o valor unitário do resultado que você guardou e anote-o na nova linha, na mesma coluna de j se j não for último dígito de A então pegue o valor decimal do resultado que você guardou e anote-o em cima do próximo dígito de A senão pegue o valor decimal do resultado que você guardou e anote-o na frente da nova linha fim fim Memória: Variáveis! Acesso e armazenamento 25 Algoritmo para Multiplicação Entrada: Dois números A e B Saída: O valor A×B para cada dígito i de B, começando com o mais à direita faça comece uma nova linha de resultados para cada dígito j de A, começando com o mais à direita faça multiplique i por j e guarde a informação na cabeça se existe dígito carregado então some o valor carregado à informação guardada na sua cabeça e guarde o novo valor pegue o valor unitário do resultado que você guardou e anote-o na nova linha, na mesma coluna de j se j não for último dígito de A então pegue o valor decimal do resultado que você guardou e anote-o em cima do próximo dígito de A senão pegue o valor decimal do resultado que você guardou e anote-o na frente da nova linha fim fim Estrutura Sequencial! 25 Algoritmo para Multiplicação Entrada: Dois números A e B Saída: O valor A×B para cada dígito i de B, começando com o mais à direita faça comece uma nova linha de resultados para cada dígito j de A, começando com o mais à direita faça multiplique i por j e guarde a informação na cabeça se existe dígito carregado então some o valor carregado à informação guardada na sua cabeça e guarde o novo valor pegue o valor unitário do resultado que você guardou e anote-o na nova linha, na mesma coluna de j se j não for último dígito de A então pegue o valor decimal do resultado que você guardou e anote-o em cima do próximo dígito de A senão pegue o valor decimal do resultado que você guardou e anote-o na frente da nova linha fim fim Estruturas Condicionais! Álgebra Booleana 25 Algoritmo para Multiplicação Entrada: Dois números A e B Saída: O valor A×B para cada dígito i de B, começando com o mais à direita faça comece uma nova linha de resultados para cada dígito j de A, começando com o mais à direita faça multiplique i por j e guarde a informação na cabeça se existe dígito carregado então some o valor carregado à informação guardada na sua cabeça e guarde o novo valor pegue o valor unitário do resultado que você guardou e anote-o na nova linha, na mesma coluna de j se j não for último dígito de A então pegue o valor decimal do resultado que você guardou e anote-o em cima do próximo dígito de A senão pegue o valor decimal do resultado que você guardou e anote-o na frente da nova linha fim fim Repetição/Laços! 25 Algoritmo para Multiplicação Entrada: Dois números A e B Saída: O valor A×B para cada dígito i de B, começando com o mais à direita faça comece uma nova linha de resultados para cada dígito j de A, começando com o mais à direita faça multiplique i por j e guarde a informação na cabeça se existe dígito carregado então some o valor carregado à informação guardada na sua cabeça e guarde o novo valor pegue o valor unitário do resultado que você guardou e anote-o na nova linha, na mesma coluna de j se j não for último dígito de A então pegue o valor decimal do resultado que você
Compartilhar