Apostila logica programação.pdf

Apostila logica programação.pdf

(Parte 1 de 4)

Lógica de Programação

Victorio Albani de Carvalho Curso Técnico em Informática

Lógica de Programação Victorio Albani de Carvalho

2010 Colatina - ES

Presidência da República Federativa do Brasil

Ministério da Educação Secretaria de Educação a Distância

Equipe de Elaboração Instituto Federal do Espírito Santo – IFES

Coordenação do Curso Joao Henrique Caminhas Ferreira/IFES

Professor-autor Victorio Albani de Carvalho/IFES

Comissão de Acompanhamento e Validação Universidade Federal de Santa Catarina – UFSC

Coordenação Institucional Araci Hack Catapan/UFSC

Coordenação do Projeto Silvia Modesto Nassar/UFSC

Coordenação de Design Instrucional Beatriz Helena Dal Molin/UNIOESTE e UFSC

Coordenação de Design Gráfico Carlos Antônio Ramirez Righi/UFSC

Design Instrucional Antonio Jonas Pinotti/IFES

Web Master Rafaela Lunardi Comarella/UFSC

Web Design CEAD/IFES

Diagramação Andre Rodrigues/UFSC Andréia Takeuchi/UFSC Caroline Ferreira da Silva/UFSC Guilherme Ataide Costa/UFSC Juliana Tonietto/UFSC

Revisão Maria Isolina de Castro Soares/IFES

Projeto Gráfico e-Tec/MEC

© Instituto Federal de Educação, Ciência e Tecnologia do Espírito Santo Este Caderno foi elaborado em parceria entre o Instituto Federal de Educação, Ciência e Tecnologia do Espírito Santo e a Universidade Federal de Santa Catarina para o Sistema Escola Técnica Aberta do Brasil – e-Tec Brasil.

C331L Carvalho, Victorio Albani de

Lógica de programação : Curso Técnico em Informática /

Victorio Albani de Carvalho. – Colatina: CEAD / Ifes, 2010. 104 p. : il.

1. C (Linguagem de programação de computador)

2. Algoritmos de computador. 3. Material didático. I. Instituto Federal do Espírito Santo. I. Título.

CDD: 005.369 e-Tec Brasil33

Apresentação e-Tec Brasil

Prezado estudante,

Bem-vindo ao e-Tec Brasil!

Você faz parte de uma rede nacional pública de ensino, a Escola Técnica Aberta do Brasil, instituída pelo Decreto nº 6.301, de 12 de dezembro 2007, com o objetivo de democratizar o acesso ao ensino técnico público, na modalidade a distância. O programa é resultado de uma parceria entre o Ministério da Educação, por meio das Secretarias de Educação a Distancia (SEED) e de Educação Profissional e Tecnológica (SETEC), as universidades e escolas técnicas estaduais e federais.

A educação a distância no nosso país, de dimensões continentais e grande diversidade regional e cultural, longe de distanciar, aproxima as pessoas ao garantir acesso à educação de qualidade, e promover o fortalecimento da formação de jovens moradores de regiões distantes, geograficamente ou economicamente, dos grandes centros.

O e-Tec Brasil leva os cursos técnicos a locais distantes das instituições de ensino e para a periferia das grandes cidades, incentivando os jovens a concluir o ensino médio. Os cursos são ofertados pelas instituições públicas de ensino e o atendimento ao estudante é realizado em escolas-polo integrantes das redes públicas municipais e estaduais.

O Ministério da Educação, as instituições públicas de ensino técnico, seus servidores técnicos e professores acreditam que uma educação profissional qualificada – integradora do ensino médio e educação técnica, – é capaz de promover o cidadão com capacidades para produzir, mas também com autonomia diante das diferentes dimensões da realidade: cultural, social, familiar, esportiva, política e ética.

Nós acreditamos em você! Desejamos sucesso na sua formação profissional!

Ministério da Educação Janeiro de 2010

Nosso contato etecbrasil@mec.gov.br e-Tec Brasil5

Indicação de ícones

Os ícones são elementos gráficos utilizados para ampliar as formas de linguagem e facilitar a organização e a leitura hipertextual.

Atenção: indica pontos de maior relevância no texto.

Saiba mais: oferece novas informações que enriquecem o assunto ou “curiosidades” e notícias recentes relacionadas ao tema estudado.

Glossário: indica a definição de um termo, palavra ou expressão utilizada no texto.

Mídias integradas: sempre que se desejar que os estudantes desenvolvam atividades empregando diferentes mídias: vídeos, filmes, jornais, ambiente AVEA e outras.

Atividades de aprendizagem: apresenta atividades em diferentes níveis de aprendizagem para que o estudante possa realizá-las e conferir o seu domínio do tema estudado.

e-Tec Brasil7

Sumário

Palavra do professor-autor 9 Apresentação da disciplina 1 Projeto instrucional 13

Aula 1 – Introdução à Lógica de Programação 15 1.1 Conceitos básicos 15

de algoritmos para computadores 23

Aula 2 – Conceitos básicos para a construção 2.1 Formalizando a escrita de algoritmos 23

2.2 Variáveis 23 2.3 Constantes 27 2.4 Comandos de atribuição, entrada e saída de dados 28 2.5 Operadores aritméticos e expressões aritméticas 32

Aula 3 – Expressões lógicas e estruturas de decisão 37 3.1 Operadores relacionais, operadores lógicos e expressões lógicas 37

Aula 4 –Estruturas de repetição 47 4.1 Estrutura de repetição para...faça 49

4.2 Estrutura de repetição enquanto...faça 52

Aula 5 – Introdução à linguagem C 57 5.1 Conceitos básicos 57

5.2 Conhecendo o Bloodshed DEV-C++ 58 5.3 Visão geral da linguagem C e do Dev-C++ 59 5.4 Variáveis em linguagem C 65 5.5 Comando de saída de dados – printf() 67 5.6 Comando de entrada de dados scanf() 68 5.7 Comentários 69 5.8 Expressões aritméticas 70

Aula 6 – Estruturas de decisão em linguagem C 73 6.1 Expressões lógicas 73

Aula 7 - Estruturas de repetição em linguagem C 85 7.1 Comando for 85

7.2 Comando while 89 7.3 Comando do...while 92

dados em vetores 96

Aula 8 – Vetores 95 8.1 Referenciando elementos e armazenando 8.2 Utilizando vetores de caracteres 9

Referências 103 Currículo do professor-autor 104

Lógica de Programaçãoe-Tec Brasil8 e-Tec Brasil9

Palavra do professor-autor

Caro Aluno,

Você talvez se pergunte por que estudar programação logo no primeiro módulo do curso. Há alguns anos, na área de informática, você poderia optar por três a quatro especializações apenas; hoje estas possibilidades se multiplicaram, pelo fato de a informática permear praticamente todas as atividades da sociedade moderna. Entretanto, dentre estes caminhos possíveis, a programação ainda apresenta uma das maiores demandas de técnicos. Além disto, o estudo de programação desenvolve um tipo de raciocínio (sequencial e lógico) base para resolver problemas de várias outras ramificações da informática, além de ajudar em outras disciplinas do curso. A formação deste tipo de raciocínio, necessário para você prosseguir com sucesso na programação, é o principal objetivo desta disciplina.

Para desenvolver um programa de computador é necessário analisar e entender o problema, inventar ou escolher uma solução, escrever um algoritmo, testá-lo e depurá-lo até que esteja completamente correto. Isto exige tempo, persistência e disciplina. As etapas mais importantes do trabalho são exatamente as primeiras, onde se cria a solução; por isto os maiores amigos do programador são papel e lápis e não o computador.

Se você não tem experiência com computadores, ainda assim você poderá estudar a disciplina e concluí-la com bom aproveitamento. Esta afirmativa é feita baseada em nossa experiência com vários alunos de cursos presenciais, que chegam sem nenhuma experiência, enfrentando algumas dificuldades no começo, mas que conseguem se superar e se tornam bons programadores. Como o aluno a distância é especial, acreditamos que também conseguirá superar as dificuldades iniciais. Se for preciso, peça a ajuda da equipe de apoio e também o auxílio de seus colegas.

Lembre-se: a melhor forma de aprender é praticando! Esta frase é ainda mais verdadeira para a programação. Assim, organize seu tempo, dedique-se ao curso e aproveite: você deverá divertir-se durante o processo de aprendizado.

Um abraço! Prof. Victorio Albani de Carvalho e-Tec Brasil11

Apresentação da disciplina

A disciplina de Lógica de Programação será seu primeiro passo no aprendizado da programação de computadores. Assim, ela é de fundamental importância para o curso, pois é nela que você aprenderá os fundamentos básicos que servirão de alicerce para todas as demais disciplinas da área de programação.

Nesta disciplina você aprenderá os principais conceitos de programação, como variáveis, operadores lógicos e aritméticos, estruturas de laço e estruturas de decisão e terá a oportunidade de aplicar esses conceitos na prática, criando algoritmos e programas em linguagem C. Dessa forma, ao final desta disciplina você estará capacitado a criar algoritmos completos e funcionais utilizando a linguagem de programação C.

A formação do raciocínio, necessário para você prosseguir com sucesso na programação, é o principal objetivo desta disciplina. Por isso, nas primeiras aulas, você estudará o Portugol, uma sintaxe formal para escrever programas, mas que não é uma linguagem de programação (no sentido restrito de ser compilada e interpretada). Na sequência do curso você estudará também a linguagem C.

Por que escolhemos a linguagem C para você iniciar com a programação? Porque ela é a base da sintaxe de diversas outras linguagens de programação, inclusive para Internet (Java, PHP, Java Script...), com as quais você lidará durante o curso e depois, ao longo de sua vida profissional.

Lembre-se de que, apesar de se tratar de um curso a distância, você não está sozinho nesta jornada. Qualquer dúvida que tenha poderá acionar o tutor a distância e, sempre que necessário, poderá solicitar que o tutor entre em contato com o professor. Além disso, temos à nossa disposição um ambiente virtual cheio de recursos para nos auxiliar neste processo.

Bons estudos e sucesso! e-Tec Brasil13

Disciplina: Lógica de Programação (carga horária: 90 horas). Ementa: Lógica de programação. Algoritmos. Estruturas de controle.

(horas)

1. Introdução à Lógica de Programação

Compreender os conceitos de lógica de programação e de algoritmos. Conhecer os primeiros exemplos de algoritmos e algumas técnicas para construção de algoritmos. Entender os conceitos de estrutura sequencial, estrutura de seleção e estruturas de repetição no contexto de algoritmos.

Caderno impresso.

Ambiente Virtual de Ensino--Aprendizagem (Moodle). 10

2. Conceitos básicos para a construção de algoritmos para computadores

Iniciar-se na utilização de uma linguagem formal para a construção de algoritmos para computadores. Conhecer os conceitos de variável e tipos de dados. Compreender como funciona a alocação de memória em computadores e a declaração de variáveis e constantes em Portugol. Conhecer os conceitos e necessidades de comandos de atribuição e de entrada e saída de dados além dos operadores aritméticos e sua ordem de precedência.

Caderno impresso.

Ambiente Virtual de Ensino--Aprendizagem (Moodle). 10

3. Expressões lógicas e estruturas de decisão

Conhecer os operadores relacionais e os operadores lógicos. Entender a Tabela- -verdade dos operadores lógicos. Compreender a ordem de precedência entre operadores. Conhecer a formalização de uma estrutura de decisão em Portugol.

Caderno impresso.

Ambiente Virtual de Ensino--Aprendizagem (Moodle). 10

4. Estruturas de repetição

Aplicar o conceito de estruturas de repetição em Portugol. Conhecer dois tipos de estruturas de repetição e avaliar quando utilizá-las.

Caderno impresso.

Ambiente Virtual de Ensino--Aprendizagem (Moodle). 10 continua

Projeto instrucional

(horas)

5. Introdução à linguagem C

Conhecer os conceitos de linguagem de programação, compilador e ambiente de desenvolvimento. Conhecer a ferramenta de programação a ser utilizada. Visualizar a transformação de um algoritmo simples de Portugol para C. Compreender como são declaradas variáveis e constantes e como fazer atribuições em linguagem C. Conhecer os comandos de saída de dados (printf) e de entrada de dados (scanf). Aprender como escrever comentários em linguagem C. Entender como utilizar expressões aritméticas em C.

Caderno impresso. Ambiente Virtual de Ensino- -Aprendizagem (Moodle). Ambiente de desenvolvimento DevC++ instalado nos computadores do Polo.

6. Estruturas de decisão em linguagem C

Conhecer os operadores lógicos e relacionais da linguagem C. Conhecer as estruturas de decisão da linguagem C: if...else e switch. Entender quando utilizar cada uma das estruturas de decisão da linguagem C.

Caderno impresso. Ambiente Virtual de Ensino- -Aprendizagem (Moodle). Ambiente de desenvolvimento DevC++ instalado nos computadores do Polo.

7. Estrutura de repetição for

Conhecer as estruturas de repetição for. Entender quando utilizar estruturas de repetição da linguagem C.

Caderno impresso. Ambiente Virtual de Ensino- -Aprendizagem (Moodle). Ambiente de desenvolvimento DevC++ instalado nos computadores do Polo.

8. Estrutura de repetição while, do...while

Conhecer as estruturas de repetição while, do...while. Entender quando utilizar diferentes estruturas de repetição da linguagem C.

Caderno impresso. Ambiente Virtual de Ensino- -Aprendizagem (Moodle). Ambiente de desenvolvimento DevC++ instalado nos computadores do Polo.

9. Vetores

Conhecer o conceito de vetor. Aprender como utilizar vetores em linguagem C. Aprender a utilizar vetores de caracteres. Construir programas em linguagem C utilizando vetores.

Caderno impresso. Ambiente Virtual de Ensino- -Aprendizagem (Moodle). Ambiente de desenvolvimento DevC++ instalado nos computadores do Polo.

conclusão

Lógica de Programaçãoe-Tec Brasil14 e-Tec Brasil

Aula 1 – Introdução à Lógica de Programação

Objetivos

Compreender os conceitos de lógica de programação e de algoritmos.

Conhecer os primeiros exemplos de algoritmos.

Entender os conceitos de estrutura sequencial, estrutura de decisão e estrutura de repetição no contexto de algoritmos.

1.1 Conceitos básicos Nesta disciplina, iniciaremos nossos estudos sobre Lógica de Programação. Mas, antes de começarmos, seria útil uma reflexão sobre o significado da palavra “Lógica”. Assim, o que é Lógica?

Utilizamos a lógica de forma natural em nosso dia a dia. Por exemplo:

a) Sei que o livro está no armário.

Sei que o armário está fechado.

Logo, concluo que tenho de abrir o armário para pegar o livro.

b) Sei que sou mais velho que João.

Sei que João é mais velho que José. Então, concluo que eu sou mais velho que José.

Lógica Pode ser vista como a arte de pensar corretamente. A lógica visa a colocar ordem no pensamento (FARRER, 1999).

e-Tec BrasilAula 1 – Introdução à Lógica de Programação15

Atividade 1.1 – Sejam os seguintes fatos: • Todos os filhos de João são mais altos do que Maria.

• Antônio é filho de João.

Então, o que podemos concluir logicamente?

Atividade 1.2 – Considere os fatos abaixo: • José é aluno do IFES.

• Para ser aprovado, um aluno do IFES precisa obter nota maior ou igual a 60 e comparecer a mais de 75% das aulas.

• José compareceu a todas as aulas e obteve nota igual a 80. Então, o que podemos concluir?

1.2 Construção de algoritmos A lógica de programação é essencial para pessoas que desejam trabalhar com desenvolvimento de programas para computadores. Lógica de programação pode ser definida como um conjunto de técnicas para encadear pensamentos a fim de atingir determinado objetivo.

O objetivo fundamental de toda programação é construir algoritmos. Mas, afinal, o que é um algoritmo?

Em outras palavras, quando criamos um algoritmo, apenas apontamos uma sequência de atividades que levam à solução de um problema. Até mesmo as soluções para os problemas cotidianos mais simples podem ser descritas por sequências lógicas de atividades, ou seja, por algoritmos:

(Parte 1 de 4)

Comentários