IES GF - Linguagem de Programação Estruturada - Parte 1

514 visualizações

Publicada em

IES GF - Instituto de Ensino Superior da Grande Florianópolis
Ciência da Computação
Linguagem de Programação Estruturada
2015 - 2

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

IES GF - Linguagem de Programação Estruturada - Parte 1

  1. 1. Linguagem de Programação Estruturada (C) Prof. Ramon Mayor Martins , M.Sc. Eng. mayor@linuxmail.org Parte 1 São José – 2015 – 2 IES - Instituto de Ensino Superior da Grande Florianópolis
  2. 2. Linguagem de Programação Estruturada PLANO DE ENSINO CURSO: Ciência da Computação SÉRIE: 2ª semestre DISCIPLINA: Linguagem de Programação Estruturada CARGA HORÁRIA SEMANAL: 4,5 horas-aula CARGA HORÁRIA SEMESTRAL: 90 horas-aula
  3. 3. Linguagem de Programação Estruturada PLANO DE ENSINO I - EMENTA • Conceitos básicos: compiladores, sistema operacional, organização de computadores. • Representação interna dos tipos básicos. • Ambientes de programação: edição, compilação, execução de programas. • Declaração de tipos em linguagem procedural, declaração de constantes, comandos de entrada/saída, comandos de atribuição, operadores aritméticos, operadores lógicos, operadores relacionais, comandos condicionais, comandos de repetição, técnicas de rastreamento de programas. • Vetores e variáveis estruturadas. II – OBJETIVOS GERAIS Desenvolver o raciocínio lógico aplicado à solução de problemas em nível computacional. III – OBJETIVOS ESPECÍFICOS A disciplina deve capacitar o aluno no uso de uma linguagem de programação como ferramenta de programação na implementação de soluções que envolvam os elementos básicos da construção de algoritmos e programas de computador, conforme abordado na disciplina Lógica de Programação e Algoritmos.
  4. 4. Linguagem de Programação Estruturada PLANO DE ENSINO IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C • MÓDULO 2: CONCEITO DE VARIÁVEL • MÓDULO 3: ESTRUTURA SEQUENCIAL • MÓDULO 4: ESTRUTURA CONDICIONAL • MÓDULO 5: ESTRUTURA DE REPETIÇÃO • MÓDULO 6: FUNÇÃO • MÓDULO 7: VETORES
  5. 5. Linguagem de Programação Estruturada PLANO DE ENSINO V – ESTRATÉGIAS DE TRABALHO Aulas expositivas e recursos audiovisuais. VI – AVALIAÇÃO Provas bimestrais e trabalhos práticos. VII – MATERIAIS Os materiais para consulta constarão no blog: www.classestopics.blogspot.com
  6. 6. Linguagem de Programação Estruturada PLANO DE ENSINO VII – BIBLIOGRAFIA Básica DEITEL, H. M. - C - Como Programar - Makron Books - 2011 JAMSA, Kris; Klander, Lars – Programando em C/C++ A Bíblia – Makron Books - 2002 SCHILDT, H. - C – Completo e Total – 3a ed. – Pearson/Makron Books - 2006
  7. 7. Linguagem de Programação Estruturada PLANO DE ENSINO VII – BIBLIOGRAFIA Básica DEITEL, H. M. - C - Como Programar - Makron Books - 2011 JAMSA, Kris; Klander, Lars – Programando em C/C++ A Bíblia – Makron Books - 2002 SCHILDT, H. - C – Completo e Total – 3a ed. – Pearson/Makron Books - 2006 Complementar BACKES, André – Linguagem C Completa e descomplicada – Elsevier - 2012 DAMAS, Luís – Linguagem C – 10a ed. - LTC - 2007 FEOFILOFF, Paulo – Algoritmos em Linguagem C - Campus/Elsevier - 2008 MIZRAHI, Victorine – Treinamento em Linguagem C – 2a ed. - Prentice Hall - 2008 OLIVEIRA, Ulysses – Programando em C – Vol II – Ciência Moderna - 2010
  8. 8. Linguagem de Programação Estruturada PLANO DE ENSINO IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C • MÓDULO 2: CONCEITO DE VARIÁVEL • MÓDULO 3: ESTRUTURA SEQUENCIAL • MÓDULO 4: ESTRUTURA CONDICIONAL • MÓDULO 5: ESTRUTURA DE REPETIÇÃO • MÓDULO 6: FUNÇÃO • MÓDULO 7: VETORES
  9. 9. Linguagem de Programação Estruturada PLANO DE ENSINO IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o 1.1 O que é Linguagem Estruturada o 1.2 Introdução a Linguagem C o 1.3 Comparação Linguagem C e outras Linguagens o 1.4 Compiladores Linguagem C o 1.5 Método para a construção de programas em C o 1.6 Exemplos de Programas em C • MÓDULO 2: CONCEITO DE VARIÁVEL • MÓDULO 3: ESTRUTURA SEQUENCIAL • MÓDULO 4: ESTRUTURA CONDICIONAL • MÓDULO 5: ESTRUTURA DE REPETIÇÃO • MÓDULO 6: FUNÇÃO • MÓDULO 7: VETORES
  10. 10. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C • Em 1968, Edsger W. Dijkstra, através do artigo "A Case against the GO TO Statement" critica o uso excessivo do comando de desvio incondicional GOTO nos programas desenvolvidos na época. • Em 1972 , novamente Dijkstra, escreve sobre os conceitos da Programação Estruturada no "Capítulo I- Notes on Structured Programming" do livro " Structured Programming“ • As Linguagens Estruturadas são tambem chamada de Linguagens Convencionais, Procedurais ou Imperativas • Para a resolução de problemas relativamente mais simples e diretos, a programação estruturada é muito eficiente. 1.1 O que é Linguagem Estruturada
  11. 11. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C • A programação estruturada é uma forma de programação de computadores que estabelece uma disciplina de desenvolvimento de algoritmos, independentemente da sua complexidade e da linguagem de programação na qual será codificado • Facilita a compreensão da solução através de um número restrito de mecanismos de codificação. • Mecanismos: • Estruturas Básicas de Controle, • Modularização, • Tipos Abstratos de Dados 1.1 O que é Linguagem Estruturada [Ref. Devmedia] • 1.1.1 - Elementos Chaves da Programação Estruturada
  12. 12. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1)Estruturas Básicas de Controle • sequência, • condição • repetição. Controle Sequencial: o mais simples. Os comandos são escritos na seqüência, e assim são executados: A;B;C... Controle de Decisão: Permitem especificar uma escolha entre comandos alternativos. Exemplo: SE-SENAO-ENTAO Representação básica: Controle de Iteração: permitem especificar repetição de certos comandos Exemplo: ENQUANTO 1.1 O que é Linguagem Estruturada • 1.1.1 - Elementos Chaves da Programação Estruturada
  13. 13. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 2) Modularização Subprogramas = blocos estruturados de códigos (procedimentos, funções ou módulos); A comunicação entre os blocos se faz utilizando variáveis globais e pela passagem de dados através de parâmetros; Os dados são processados nos blocos e migram de um bloco para outro. Ex: funções, bibliotecas. 3) Tipos Abstratos de Dados Modelo matemático, acompanhado das operações definidas sobre o modelo 1.1 O que é Linguagem Estruturada • 1.1.1 - Elementos Chaves da Programação Estruturada
  14. 14. Linguagem de Programação Estruturada PLANO DE ENSINO IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o 1.1 O que é Linguagem Estruturada o 1.2 Introdução a Linguagem C o 1.3 Comparação Linguagem C e outras Linguagens o 1.4 Compiladores Linguagem C o 1.5 Método para a construção de programas em C o 1.6 Exemplos de Programas em C • MÓDULO 2: CONCEITO DE VARIÁVEL • MÓDULO 3: ESTRUTURA SEQUENCIAL • MÓDULO 4: ESTRUTURA CONDICIONAL • MÓDULO 5: ESTRUTURA DE REPETIÇÃO • MÓDULO 6: FUNÇÃO • MÓDULO 7: VETORES
  15. 15. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.2 Introdução a Linguagem C Histórico: • Desenvolvido por Dennis Ritchie e Ken Thompson entre 1969 e 1973 na AT&T Bell Labs. • Criada para auxiliar no desenvolvimento do Sistema Operacional UNIX (com isso permitiu que fosse criado o Primeiro sistema operacional implementado em uma linguagem diferente do Assembly) • Possui características da Linguagem B (Baseada na Linguagem BCPL) • No final dos anos 70, a Linguagem C começou a substituir a Linguagem BASIC como a linguagem de Programação mais utilizada. • Na década de 80 foi adaptada para uso no PC IBM – iniciando sua popularidade.
  16. 16. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.2 Introdução a Linguagem C Histórico: • Ainda na década de 80 , Bjarne Stroustrup e o Laboratório Bell trabalham no C++ , projeto para adicionar recursos de programação orientada a objetos. • A Linguagem C++ é utilizada na confecção do Windows, enquanto a C permanece popular no mundo UNIX • No final dos anos 80, a linguagem C sofre uma padronização pela ANSI (Instituto Norte-americano de padrões)
  17. 17. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.2 Introdução a Linguagem C Características: • A Linguagem C é uma imperativa e procedural, para implementação de sistemas • linguagem de nível médio, pois pode-se trabalhar em um nível próximo ao da máquina ou como uma linguagem de alto nível como outras existentes. • Compilável • fornece acesso de baixo nível - (possível a inclusão de código Assembly no meio do programa C) • Criada com o objetivo de facilitar a criação de programas extensos com menos erros • Extremamente simples • Possui funcionalidades como: funções matemáticas, manuseamento de arquivos, através da inclusão de bibliotecas. • Possui ponteiros, que dão maior flexibilidade à linguagem.
  18. 18. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.2 Introdução a Linguagem C Características: • Possui recursos de estruturas (Struct) que permitem que dados relacionados sejam combinados e manipulados como um todo. • Com o C podemos escrever programas concisos, organizados e de fácil entendimento Outras Características: -Portabilidade -Embaracação -Geração de códigos executáveis compactos e rápidos -Facilidade de uso -Linguagem estruturada -Confiabilidade -Simplicidade
  19. 19. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.2 Introdução a Linguagem C Características: Portabilidade: pode ser compilada em diferentes arquiteturas, seja de hardware ou de software. É possível usar C no Mac ou PC, com Linux ou Windows. Modularidade: um programa em C é dividido em vários blocos de programação distintos Linguagem Imperativa: em C você usa funções que modificam o estado do programa. Elas são divididas em blocos e você as chama diretamente.
  20. 20. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.2 Introdução a Linguagem C Porque Linguagem C? "Em outras palavras: a escolha de C é a única escolha sã. [...] Eu cheguei à conclusão de que qualquer programador que preferiria que o projeto fosse feito em C++ ao invés de C provavelmente é um programador que eu quero longe, assim ele não vem e estraga qualquer projeto em que eu esteja envolvido". Linus Torvalds C influenciou a maioria das linguagens mais utilizadas hoje em dia. Por exemplo: Java, Javascript, Shell e PHP, por exemplo, além de todas as linguagens que são C-*(C++, C#, Objective-C, etc). Linguagem C está em tudo!
  21. 21. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.2 Introdução a Linguagem C Aplicações:
  22. 22. Linguagem de Programação Estruturada PLANO DE ENSINO IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o 1.1 O que é Linguagem Estruturada o 1.2 Introdução a Linguagem C o 1.3 Comparação Linguagem C e outras Linguagens o 1.4 Compiladores Linguagem C o 1.5 Método para a construção de programas em C o 1.6 Exemplos de Programas em C • MÓDULO 2: CONCEITO DE VARIÁVEL • MÓDULO 3: ESTRUTURA SEQUENCIAL • MÓDULO 4: ESTRUTURA CONDICIONAL • MÓDULO 5: ESTRUTURA DE REPETIÇÃO • MÓDULO 6: FUNÇÃO • MÓDULO 7: VETORES
  23. 23. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  24. 24. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  25. 25. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  26. 26. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  27. 27. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  28. 28. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  29. 29. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  30. 30. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  31. 31. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  32. 32. Linguagem de Programação Estruturada PLANO DE ENSINO IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o 1.1 O que é Linguagem Estruturada o 1.2 Introdução a Linguagem C o 1.3 Comparação Linguagem C e outras Linguagens o 1.4 Compiladores Linguagem C o 1.5 Método para a construção de programas em C o 1.6 Exemplos de Programas em C • MÓDULO 2: CONCEITO DE VARIÁVEL • MÓDULO 3: ESTRUTURA SEQUENCIAL • MÓDULO 4: ESTRUTURA CONDICIONAL • MÓDULO 5: ESTRUTURA DE REPETIÇÃO • MÓDULO 6: FUNÇÃO • MÓDULO 7: VETORES
  33. 33. Linguagem de Programação Estruturada PLANO DE ENSINO Compiladores É um grupo de programas que de posse de um codigo fonte escrito em uma linguagem de alto ou médio nível traduz para uma linguagem de baixo nível (Assembly, código de máquina). O primeiro compilador foi escrito por Grace Hopper em 1952, para a linguagem de programação A-0 para o UNIVAC (o primeiro computador).
  34. 34. Linguagem de Programação Estruturada PLANO DE ENSINO Diferença entre Compilador e Interpretador: O interpretador ao contrário do compilador roda o código-fonte escrito como sendo o código objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execução do programa precisa ser novamente traduzido e interpretado. Vantagens e Desvantagens: Compilador: -Processo de correção ou alteração do código requer que ele seja novamente recompilado. -O código compilado é mais rápido de ser acessado; -Compila o código somente se estiver sem erros Interpretador: -Correções e alterações são mais rápidas de serem realizadas; -Código não precisa ser compilado para ser executado; -Consomem menos memória -Execução é mais lenta -Necessita sempre ser lido o código original para ser executado;
  35. 35. Linguagem de Programação Estruturada PLANO DE ENSINO Diferença entre Compilador e Interpretador: O interpretador ao contrário do compilador roda o código-fonte escrito como sendo o código objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execução do programa precisa ser novamente traduzido e interpretado. Vantagens e Desvantagens: Compilador: -Processo de correção ou alteração do código requer que ele seja novamente recompilado. -O código compilado é mais rápido de ser acessado; -Compila o código somente se estiver sem erros Interpretador: -Correções e alterações são mais rápidas de serem realizadas; -Código não precisa ser compilado para ser executado; -Consomem menos memória -Execução é mais lenta -Necessita sempre ser lido o código original para ser executado;
  36. 36. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.4 Compiladores Linguagem C Nome Gratuito Descrição GCC sim Compilador utilizado pelo projeto GNU. É padrão ANSI C e nativo do sistema Linux,. Não é preciso instalar compiladores de terceiros. Seu único problema é a falta de uma interface, que prejudica quem é principiante na linguaguem
  37. 37. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.4 Compiladores Linguagem C Nome Gratuito Descrição Code Blocks sim Code :: Blocks é uma ferramenta livre C, C ++ e Fortran IDE
  38. 38. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.4 Compiladores Linguagem C Nome Gratuito Descrição Dev-C++ sim Criado pela Bloodshed, Tem suporte a projeto Apesar de compilar a linguagem C, seu código é escrito em um código totalmente diferente - o Delphi!
  39. 39. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.4 Compiladores Linguagem C Nome Gratuito Descrição C++ Builder não O C++ Builder é um dos melhores compiladores que tem, com possibilidade de criação de projetos extensos. Desenvolvido pela Borland Ele segue o padrão ISO ou ANSI C, mas também tem muitas bibliotecas não padrão, fazendo muitas vezes com que o programa perca a portabilidade e o código escrito no C++ Builder não rode em outros compiladores, mesmo que a linguagem C seja a mesma.
  40. 40. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.4 Compiladores Linguagem C Nome Gratuito Descrição Visual C++ não O visual C++ é um compilador profissional da Microsoft que compõe o pacote Visual Studio, com vários recursos, como incremento de código, depurador de erros avançado e outras ferramentas que aumentam a produtividade do programador. O problema é que por ser da Microsoft tem o preço elevado e só compensará se você for usar esta linguagem para desenvolvimento profissional em aplicações Windows. Tem uma versão trial no site oficial
  41. 41. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.4 Compiladores Linguagem C
  42. 42. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.4 Compiladores Linguagem C
  43. 43. Linguagem de Programação Estruturada PLANO DE ENSINO APARATO EXPERIMENTAL Software DEV C++ : http://www.bloodshed.net/devcpp.html Como instalar? http://chortle.ccsu.edu/bloodshed/howtogl.html Referências na Web CPPReference.com : http://en.cppreference.com/w/ Cplusplus.com : http://www.cplusplus.com/reference/ Cprogramming.com : http://www.cprogramming.com/tutorial/c++-tutorial.html
  44. 44. Linguagem de Programação Estruturada PLANO DE ENSINO IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o 1.1 O que é Linguagem Estruturada o 1.2 Introdução a Linguagem C o 1.3 Comparação Linguagem C e outras Linguagens o 1.4 Compiladores Linguagem C o 1.5 Método para a construção de programas em C o 1.6 Exemplos de Programas em C • MÓDULO 2: CONCEITO DE VARIÁVEL • MÓDULO 3: ESTRUTURA SEQUENCIAL • MÓDULO 4: ESTRUTURA CONDICIONAL • MÓDULO 5: ESTRUTURA DE REPETIÇÃO • MÓDULO 6: FUNÇÃO • MÓDULO 7: VETORES
  45. 45. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o 1.5 Método para a construção de programas em C
  46. 46. Linguagem de Programação Estruturada PLANO DE ENSINO IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o 1.1 O que é Linguagem Estruturada o 1.2 Introdução a Linguagem C o 1.3 Comparação Linguagem C e outras Linguagens o 1.4 Compiladores Linguagem C o 1.5 Método para a construção de programas em C o 1.6 Exemplos de Programas em C • MÓDULO 2: CONCEITO DE VARIÁVEL • MÓDULO 3: ESTRUTURA SEQUENCIAL • MÓDULO 4: ESTRUTURA CONDICIONAL • MÓDULO 5: ESTRUTURA DE REPETIÇÃO • MÓDULO 6: FUNÇÃO • MÓDULO 7: VETORES
  47. 47. Linguagem de Programação Estruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o 1.5 Método para a construção de programas em C //CODIGO 1.1 - Hello World #include <stdio.h> int main(void) { printf("Hello World"); return 0; }
  48. 48. Circuitos Digitais MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o 1.5 Método para a construção de programas em C //CODIGO 1.1 - Hello World #include <stdio.h> int main(void) { printf("Hello World"); return 0; }
  49. 49. Circuitos Digitais MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o 1.5 Método para a construção de programas em C //CODIGO 1.1 - Hello World #include <stdio.h> int main(void) { printf("Hello World"); return 0; }

×