Lógica de Programação II

Documentos relacionados
Lógica de Programação I

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Carga Horária: 60 h Créditos: 3 Pré-requisito: Não se aplica Professor(a): A definir Matricula: A definir Titulação: A definir

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE UBERLÂNDIA

UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA CIVIL COLEGIADO DO CURSO DE ENGENHARIA CIVIL PLANO DE CURSO

MINISTÉRIO DA EDUCAÇÃO FUNDAÇÃO UNIVERSIDADE FEDERAL DO PAMPA PRÓ-REITORIA DE GRADUAÇÃO COORDENADORIA DE REGISTROS ACADÊMICOS

Programação Estruturada Aula Plano de Disciplina

Estrutura de Dados e Lógica de Programação. Cátia Alves Marcelo Nunes 102 h/a 17/08/2015 a 12/12/2015

DISCIPLINA: Computação e Algoritmo I. PROFESSOR: Léo M. Lopes da Silva Garcia FORMAÇÃO:

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE UBERLÂNDIA

PLANO DE ENSINO CURSO: ENGENHARIA CIVIL DISCIPLINA: LABORATÓRIO DE PROGRAMAÇÃO I

Processamento da Informação Ambientes de programação

PLANO DE ENSINO E APRENDIZAGEM CURSO: Tecnologia em Análise e Desenvolvimento de Sistemas

Plano de Ensino. Identificação. Curso EngE.INT - Engenharia de Energia. Ênfase. Disciplina B161S - Introdução à Ciência da Computação I

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE UBERLÂNDIA

CURSO TÉCNICO DE NÍVEL MÉDIO EM INFORMÁTICA - PLANO DE DISCIPLINA 2015 LINGUAGEM DE PROGRAMACAO 1 LP1

Eng. Alimentos PROGRAMA DE DISCIPLINA IDENTIFICAÇÃO CÓDIGO DISCIPLINA PRÉ-REQUISITOS

Plano de Trabalho Docente Ensino Técnico

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO PLANO DE ENSINO

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO

Programação Aplicada à. Engenharia de Alimentos

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO

Fundamentos de Programação

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Plano de Ensino. 1. Dados de Identificação:

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

DISCIPLINA: Programação de Computadores I

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Aula prático/expositiva. Resolução de exercícios propostos e participação em sala de aula. 2h 08/05

Universidade Federal de Uberlândia Faculdade de Computação. FACOM49010(V) Algoritmos e Programação de Computadores Engenharia Mecatrônica

INF01202 Turmas A e B 2008/2 SÚMULA

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CATARINENSE - CAMPUS LUZERNA Rua São Roque, 41 - Luzerna/SC CEP Fone: (49)

Programação Estruturada II

Apresentação da Disciplina

Universidade Federal de Uberlândia Faculdade de Computação. GMA038 Introdução à Ciência da Computação

Universidade Federal de Uberlândia Faculdade de Computação. FACOM49010(V) Algoritmos e Programação de Computadores Engenharia Mecatrônica

Fundamentos de Programação

PLANO DE DISCIPLINA. Análise e Desenvolvimento de Sistemas. Introdução a Algoritmos e Programação EMENTA

EnsinoTécnicoIntegrado ao Médio.

Algoritmos e Técnicas de Programação

SELEÇÃO DE MONITORES REMUNERADOS - NÍVEL I

Algoritmos Fundamento e Prática

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA ESCOLA TÉCNICA FEDERAL DE PALMAS SUPERVISÃO EDUCACIONAL

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO À PROGRAMAÇÃO Ano Lectivo 2017/2018

Aula 1 Apresentação do Curso

ALGORITMOS E ESTRUTURAS DE DADOS I PROF. EDSON IFARRAGUIRRE MORENO

Bacharelado em Ciência e Tecnologia Processamento da Informação. Apresentação da Disciplina de Processamento da Informação Modalidade: Presencial

TECNOLOGIA EM REDES DE COMPUTADORES. computadores. Aula 4

Aula 1 Oficina de Programação e Laboratório Apresentação. Profa. Elaine Faria UFU

Fundamentos de programação

TECNOLOGIA EM REDES DE COMPUTADORES. computadores. Aula 5

Computação Básica. Prof. Tiago Alves. Universidade de Brasília Campus Gama

Conceitos básicos sobre computadores (continuação)

Plano de Trabalho Docente Ensino Técnico

Programação Estruturada II

LP II Estrutura de Dados

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

LP II Estrutura de Dados

Capítulo 2 Introdução à Programação Estrutura de Controle

Computação Eletrônica

FACULDADE DE TECNOLOGIA DE TAQUARITINGA 13 ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

PROGRAMA - Disciplinas Lecionadas

Computação e Programação

Lógica de Programação. Tecnologia em Redes de Computadores IFSULDEMINAS Campus Inconfidentes Prof. Kleber Rezende

FACULDADE DE TECNOLOGIA DE CARAPICUÍBA

FUNDAÇÃO UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO

Modularidade - Funções e Procedimentos

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO. Profa. Dra. Milena Guessi Margarido

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

AULA 02. Lógica de Programação. Centro Educação Profissional Ezequiel Ferreira Lima CEPEF. Curso Técnico em Eletrônica.

PROGRAMA - Disciplinas Lecionadas

Plano de Trabalho Docente Ensino Técnico

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Lógica de Programação e Algoritmos com exemplos na linguagem JAVA

Apresentação da Disciplina

Câmpus de Bauru. Plano de Ensino. Seriação ideal 3

FUNDAÇÃO UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS PRÓ-REITORIA DE GRADUAÇÃO DEPARTAMENTO DE COMPUTAÇÃO PLANO DE ENSINO

ALGORITMOS. Prof. Angelo Augusto Frozza, M.Sc.

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

FUNDAÇÃO UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO

Fig. 1: Ilustração de um exemplo de Modularização de um guindaste em suas partes Fonte: Internet

MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE GRADUAÇÃO

Plano de Ensino. Identificação. Câmpus de Bauru. Curso Licenciatura em Matemática. Ênfase. Disciplina A - Cálculo Numérico Computacional

PLANO DE ENSINO DA DISCIPLINA BLOCO I IDENTIFICAÇÃO

PLANO DE ENSINO E APRENDIZAGEM CURSO: Engenharia Civil

Conceitos Básicos. Fundamentos de Programação de Computadores

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS PRÓ-REITORIA DE GRADUAÇÃO ESCOLA DE CIÊNCIAS EXATAS E DA COMPUTAÇÃO PLANO DE ENSINO

PLANO DE UNIDADE DIDÁTICA- PUD

UNIVERSIDADE ESTADUAL PAULISTA JULIO DE MESQUITA FILHO INSTITUTO DE GEOCIÊNCIAS E CIÊNCIAS EXATAS SEÇÃO TÉCNICA DE GRADUAÇÃO E D I T A L

Introdução à Programação. Vetores. Prof. José Honorato F. Nunes

Documento de uso exclusivo da unidade, não possui valor legal. 28/06/ :43:00. Matéria: Carga Horária Total. Prática: 44 Campo: 44

Transcrição:

Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1

Carga Horária: 72 horas Nº Créditos: 04 aulas Objetivo: Lógica de Programação II Resolver problemas usando os comandos básicos da linguagem (C). Com a base dada nesta disciplina você estará em condições de explorar os comandos da linguagem (C). Para acompanhar o curso e testar seus programas, vocês vão precisar de uma IDE, do inglês Integrated Development Environment ou Ambiente de Desenvolvimento Integrado, é um programa de computador que reúne características e ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar este processo. A programação só se aprende praticando, por isso imprescindível fazer os exercícios para poder acompanhar o curso. 2

Tutoriais: http://linguagemc.com.br/ides-e-compiladores-c/ 3

Critérios de Avaliação Provas escritas, exercícios, estudos de casos, participação e assiduidade. A1 = Prova Bimestral (UEG)...6,00 A2 = Prova/Exercícios/etc...4,00 4

Emenda Tipos de dados, escalares, vetores e matrizes, cadeias de caracteres e structs. Modularização de programas: funções. Passagem de parâmetros. Conceito de recursão e sua aplicação. Manipulação de arquivos. Implementação de algoritmos em uma linguagem de programação. Laboratório de programação 5

Básica: Lógica de Programação II Bibliografia Guimarães,A.M.; Lajes,N.A.C. Algoritmos e Estruturas de Dados, Rio de Janeiro: LTC Editora S/A., 1994. Farrer,H. Algoritmos Estruturados, Rio de Janeiro: Editora Guanabara Dois, 1999. Forbellone, A. L. V.; Eberspacher, H. F.; Lógica de Programação: a construção de algoritmos e estruturas de dados, São Paulo: Pearson, 2010. ASCENCIO, A. F. G. et al; Fundamentos da Programação de Computadores - 3ª ed. Pearson, 2012. 6

Bibliografia Complementar: Ascencio, A. F. G; Fundamentos da Programação de Computadores, São Paulo, Prentice Hall, 2002. Forbellone, A.L.V.; Eberspacher, H.F. Lógica de Programação, São Paulo: Makron Books, 2000. Lopes, A., Garcia, G. Introdução à programação- 500 algoritmos resolvidos, Rio de Janeiro: Elsevier, 2002. Dan Swait JR.,J. Fundamentos Computacionais - Algoritmos e Estruturas de Dados, São Paulo: McGraw- Hill, 1991. 7

Bibliografia Complementar: Tremblay,J.P.; Bunt,R.B. Ciências dos Computadores: Uma Abordagem Algorítmica, São Paulo: McGraw-Hill, 1983. Wirth,N. Programação Sistemática, Rio de Janeiro: Campus, 1978. Salvetti, D.D.; Barbosa, L.M. Algoritmos, São Paulo: Makron Books, 1998. Sebesta, R.W. Conceitos de Linguagens de Programação, Porto Alegre: Bookman, 2000. Brookshear, J.G. Ciência da Computação Uma Visão Abrangente, Porto Alegre: Bookman, 2000. 8

Modularização Lógica de Programação II 9

No geral, problemas complexos exigem algoritmos complexos. Mas sempre é possível dividir um problema grande em problemas menores. Desta forma, cada parte menor tem um algoritmo mais simples, e é estre trecho menor que é chamado de sub-rotina. Uma sub-rotina é na verdade, um programa, e sendo um programa poderá efetuar diversas operações computacionais(entrada, processamento e saída) e deverá ser tratada como foram os programas projetados até este momento. 10

As sub-rotinas são utilizadas na divisão de algoritmos complexos, permitindo assim possuir a modularização de um determinado problema, considerado grande e de difícil solução. Ao se trabalhar com esta técnica, pode-se deparar com a necessidade de se dividir uma sub-rotina em outras tantas quantas forem necessárias, buscando uma solução mais simples de uma parte do problema maior. O processo de dividir sub-rotinas em outras é denominado Método de Refinamento Sucessivo. 11

Método Top-Down ( cima pra baixo ) O processo de programar um computador torna-se bastante simples quando aplicado o método de utilização de sub-rotinas (módulos de programas). Porém, a utilização dessas sub-rotinas deverá ser feita com aplicação do método top-down. 12

Um método bastante adequado para a programação de um computador é trabalhar com o conceito de programação estruturada, o que facilita a aplicação deste processo de trabalho. O método mais adequado para a programação estruturada é o Top-Down (de cima para baixo) o qual se caracteriza basicamente por: 13

Antes de iniciar a construção do programa, o programador deverá ter em mente as tarefas principais que este deverá executar. Não é necessário saber como funcionarão, somente saber quantas são. Conhecidas todas as tarefas a serem executadas, tem-se em mente como deverá ser o programa principal, o qual vai controlar todas as outras tarefas distribuídas em suas sub-rotinas. 14

Tendo definido o programa principal, é iniciado o processo de detalhamento para cada sub-rotina. Desta forma são definidos vários algoritmos, um para cada rotina em separado, para que se tenha uma visão do que deverá ser executado em cada módulo de programa. Existem programadores que estabelecem o número máximo de linhas de programa que uma rotina deverá possuir. Se o número de linhas ultrapassa o limite preestabelecido, a rotina em desenvolvimento é dividida em outra sub- rotina (é neste ponto que se aplica o método de refinamento sucessivo). 15

A utilização do método de cima para baixo permite que seja efetuado cada módulo do programa em separado. Desta forma, cada um pode ser testado separadamente garantindo que o programa completo esteja sem erro ao seu término. 16

Outro detalhe a ser considerado é que muitas vezes existem em um programa trechos de códigos que são repetidos várias vezes. Esses trechos poderão ser utilizados como sub-rotinas, proporcionando um programa menor e mais fácil de ser alterado num futuro próximo. 17

A modularização nada mais é que separar em partes um determinado programa objetivando a facilidade de manutenção do mesmo. Essas partes podem ser identificadas como funções. 18