Linguagem de Programação

Documentos relacionados
Variáveis, Tipos de Dados e Operadores

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

PROGRAMAÇÃO I. Introdução

Algoritmos e Programação

Linguagem de Programação C

3. Linguagem de Programação C

Ambiente de desenvolvimento

Programação Básica. Estrutura de um algoritmo

Programação I A Linguagem C. Prof. Carlos Alberto

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

Linguagem C Entrada/Saída (console)

GABARITO Questão a b c d e

Fundamentos de Programação1

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza

Linguagens de Programação

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Disciplina: Introdução a Programação. IPRJ/UERJ Professora: Sílvia Mara da Costa Campos Victer. Índice: Aula1 - Introdução Programa Algoritmo

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Estrutura de Programas e Tipos de Dados Simples

Linguagem C. André Tavares da Silva.

Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1

Conhecendo a Linguagem de Programação C

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Computação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br

100 Exercícios Teóricos não resolvidos

Conteúdo programático

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

Desenvolvimento de Aplicações Desktop

Estruturas de Repetição

Introdução à Programação

Aula 01 Algoritmos e lógica de programação e introdução ao C++

Introdução a Programação na Linguagem C.

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Fundamentos de Programação

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

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA

Introdução à Programação

Linguagem C Princípios Básicos (parte 1)

Introdução à Linguagem C. Adaptado de Deise Saccol

COMPILAÇÃO. Ricardo José Cabeça de Souza

Apresentação da ferramenta de programação. Comandos de entrada e saída. Prof. Alex Camargo

TCC 00308: Programação de Computadores I Organização de programas em Python

Aulas preparatórias Introdução a Programação em Linguagem C

Linguagem C. Eliane Pozzebon

Métodos Computacionais

Linguagem C: Introdução

Introdução à Computação

Capítulo 2 Operadores. A função scanf()

TÉCNICO DE INFORMÁTICA - SISTEMAS

Sistema Computacional

3.1 - Funções para manipular dados de entrada e saída padrão

Linguagens de Programação Classificação

Introdução à Linguagem C

Organização de programas em Python. Vanessa Braganholo

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

Estrutura do programa

Linguagens de Programação

Sintaxe. Observações: #include <stdio.h> #include <conio.h> void main ( ) { int num, dobro; clrscr ( ); printf ( Digite i um número: );

Transcrição:

Linguagem de Programação aula 4 Engenharia Elétrica e Engenharia de Automação Introdução à Computação 1.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com)

Programas Programas são seqüências de instruções que descrevem as tarefas a serem realizadas para alcançar a solução de um determinado problema, e devem ser escritos em uma linguagem de programação para que possam ser executados em um computador. Portanto, um programa é um algoritmo construído segundo as regras de uma linguagem de programação.

Técnicas de Programação Na elaboração de programas é necessário utilizar um método sistemático de programação que permita a obtenção de programas confiáveis, flexíveis e eficientes. Quando existe um problema e utiliza-se um computador para resolvê-lo inevitavelmente tem-se que passar pelas seguintes etapas: Análise do problema Projeto do programa - algoritmo e estruturas de dados Implementação (codificação) e teste do programa

Definição de Linguagem de Programação Uma LP é uma linguagem destinada a ser usada por uma pessoa para expressar um processo através do qual um computador pode resolver um problema. Em outras palavras, uma LP faz a ligação entre o pensamento humano (muitas vezes de natureza não estruturada) e a precisão requerida para o processamento pela máquina.

Componentes de uma LP Computador: a máquina que executará o processo descrito através do programa; Pessoa: o programador que serve como a origem da comunicação; Processo: a atividade que está sendo descrita através do programa; Problema: o sistema atual ou ambiente onde o problema surgiu.

Especificação de uma LP A descrição de uma linguagem de programação envolve dois aspectos:

Sintaxe A sintaxe é o conjunto de regras que determina quais construções são corretas para formação dos programas e quais não são. Em outras palavras, preocupa-se com a "forma" dos programas (como expressões, comandos, declarações, etc, são colocados juntos para formar programas).

Semântica A semântica é a descrição de como as construções sintaticamente corretas são interpretadas ou executadas. Em outras palavras, preocupa-se com o "significado" dos programas (como o programa vai se comportar quando executado no computador).

a = b (em C) Exemplos comando de atribuição correto (sintaxe) substitua valor de a com o valor atual de b (semântica) a := b (em C) comando de atribuição incorreto (erro de sintaxe) a = b (em C), porém com variáveis com tipos diferentes (inteiro ou caracter) substitua valor de a com o valor atual de b (erro de semântica)

Tradução de uma LP

Interpretação Dados de Entrada Interpretador Dados de Saída Programa

Compilação Dados de Entrada Program a Fonte Compilador Program a Objeto Máquina Dados de Saída

Do programa fonte ao programa executável A geração de um programa executável a partir de um programa fonte obedece a uma seqüência de operações antes de tornar-se um executável. Depois de escrever o seu programa com o auxílio de um processador de textos no modo não documento, grava-se o programa em disco gerando assim o programa fonte (.c).

Do programa fonte ao programa executável O próximo passo é o pré-processador da linguagem, que expande o programa fonte de acordo com os comandos (os comandos do pré-processador são identificados pelo caracter # ). A seguir o arquivo expandido (extensão.c) é traduzido para o nível da linguagem assembly. É neste passo que os erros de sintaxe são notificados pelo compilador. Uma vez corrigidos os erros de sintaxe, é gerado o arquivo com extensão.asm.

Do programa fonte ao programa executável O módulo montador (assembly) traduz o arquivo com os comandos em assembly (.ASM) para gerar o módulo objeto (.OBJ) com a respectiva codificação de máquina do computador. Por fim, o módulo ligador ou linkeditor prepara o módulo objeto ligando-o com outros módulos objetos e bibliotecas para gerar o módulo executável (.EXE).

Geração do executável a partir do código fonte /* ola.c */ # include <stdio.h> main() { printf("ola!"); } Pré-processador ola.c montador Ola.asm Compilador ola.obj linkeditor ola.exe

Ciclo de Desenvolvimento de um Programa IMPORTANTE!!! Determinação e entendimento do problema: construção do algoritmo em pseudocódigo ou do fluxograma

1. Codificação Transcrição do programa em uma linguagem e usando regras que o compilador da linguagem entenda, gerando desta maneira um CÓDIGO FONTE.

2. Compilação É o processo através do qual um compilador lê o programa inteiro codificado e converte-o em um CÓDIGO OBJETO (arquivo.obj), que é uma tradução do CÓDIGO FONTE do programa em uma forma que o computador possa executar diretamente. O CÓDIGO OBJETO é também conhecido como código binário ou código de máquina.

3. Link-Edição Todo compilador C vem com uma biblioteca padrão de funções que realizam as tarefas necessárias mais comuns, como exemplo escrever no vídeo (printf()), ler um caracter do teclado (getch()), entre outras. O padrão ANSI C (American National Standards Institute) especifica o conjunto mínimo de funções que estará contido na biblioteca. No entanto seu compilador provavelmente conterá outras funções que podem não estar incluídas em um compilador de outro fabricante. O processo de link-edição é combinar o CÓDIGO OBJETO gerado pelo compilador que você escreveu, com o código objeto já encontrado na biblioteca padrão quando da chamada de uma função desta biblioteca, por exemplo printf() e getch(). O resultado deste processo é o CÓDIGO EXECUTÁVEL (arquivo.exe, no DOS).

4. Depuração e Testes Uma vez gerado o código executável passa-se para a etapa de verificação de funcionamento do programa, entrando em detalhes como valores de variáveis, fluxo dos dados, etc..., isto é na realidade o que chamamos de Depuração, e o ambiente a ser utilizado possui uma ferramenta poderosa para tal, o DEBUG. Uma vez toda que toda a parte lógica do programa está certa, parte-se para os testes. Se nesta etapa qualquer problema é encontrado, devemos iniciar todo o processo, passando novamente pelas etapas 1, 2, 3 e 4.

Início Determinação e entendimento do problema Codificação 1 Compilação 2 Link-edição 3 Depuração e testes 4 Programa OK? Não Sim Fim Figura 1- Ciclo de desenvolvimento

Linguagem C

Operador de Atribuição O operador de atribuição em linguagem C é o símbolo de igualdade = Exemplo: NUM = 3; (a variável NUM recebe o valor 3) NUM = 45 / 5; (a variável NUM recebe o resultado da operação) NUM = NUM1 + NUM2; (a variável NUM recebe o resultado da operação com os conteúdos das variáveis NUM1 e NUM2)

printf ( ) Saída de Dados

printf() printf ( oi, mundo! ); printf ( tenho %d anos de vida., idade); printf ( tenho %f metros de altura, medida); printf ( não tenho a letra %c no meu nome, letra) printf ( rua %s, nome ); printf ( a %d.a letra do alfabeto e : %c, ordem, letra);

Entrada de Dados scanf ( ) gets ( ) getchar ( ) getch ( ) getche ( )

scanf ( ) scanf( %d, &idade); scanf( %f, &altura); Obs: cuidado ao usar scanf () para leitura de string, tem que limpar o buffer de entrada antes de chamar esta função utilizando a função fflush ( ).

gets ( ) gets(nome); Obs: esta função armazena a string inteira.

getchar ( ) sexo = getchar( ); resposta = getchar( ); Obs: esta função armazena somente um único caracter.

getch ( ) getch ( ); Obs: esta função retorna imediatamente após qualquer tecla ser pressionada, mas não mostra na tela o valor dessa tecla; ela pode ser usada para não fechar a tela da execução do programa logo após o final dessa execução, ou seja, o programa fica esperando que uma tecla seja pressionada para fechar a tela de execução; tem a mesma utilização do system( pause ).

getche ( ) getche ( ); Obs: esta função retorna imediatamente após qualquer tecla ser pressionada, mostrando na tela o valor dessa tecla; ela pode ser usada para não fechar a tela da execução do programa logo após o final dessa execução, ou seja, o programa fica esperando que uma tecla seja pressionada para fechar a tela de execução; tem a mesma utilização do system( pause ).

EXEMPLOS DE PROGRAMAS COM ESTRUTURAS LÓGICAS SEQUENCIAIS

/* Cabeçalho do programa */ // Programa : Exemplo 1 // Programador : /* Declaração das Bibliotecas */ #include <stdio.h> #include <conio.h> int main ( ) // Aqui começa o programa { int X, Y; Y = 2 ; X = 10 ; X = Y + 2 ; X = ((Y + 3 ) * 4) 5 ; X = (X % 2 ) ; } printf ( O conteudo da variável X eh: %d, X); printf ( O conteudo da variável Y eh: %d, Y);

/* Cabeçalho do programa */ // Programa : Exemplo 2 // Programador : /* Declaração das Bibliotecas */ #include <stdio.h> #include <conio.h> int main ( ) // Aqui começa o programa { int ARESTA, AREA printf ( Digite o valor da aresta do quadrado: ); scanf ( %d, &ARESTA); AREA = ARESTA * ARESTA ; } printf ( A área do quadrado eh: %d, AREA);

/* Cabeçalho do programa */ // Programa : Exemplo 3 // Programador : /* Declaração das Bibliotecas */ #include <stdio.h> /*Definição das Constantes */ #define MEU_NOME João int main ( ) // Aqui começa o programa { /*Declaração das Variáveis da função principal */ int idade; float altura; char nome[30], sexo; } clrscr( ); // Limpa a tela printf( Oi! Meu nome e %s\n, MEU_NOME); printf( Qual seu nome? ); gets(nome); printf( Qual seu sexo - F (feminino) e M (masculino)? ); sexo = getchar( ); printf( Qual sua idade? ); scanf( %d, &idade); printf( Qual sua altura? ); scanf( %f, &altura); system ( pause );

Exercícios

Exercício 1 Faça um programa para ler as seguintes informações de uma pessoa: Nome, Idade, Sexo, Peso, Altura, Profissão, Rua, Bairro, Cidade, Estado, CEP, Telefone.

Exercício 2 Faça um programa para ler a base e a altura de um triângulo. Em seguida, calcule e escreva sua área. Área = ( Base * Altura ) / 2

Exercício 3 Escreva um programa que calcule o volume de um cilindro circular, dados o raio e altura desse cilíndro. Exiba o resultado desse cálculo. V = π * r 2 * h Em que: π = 3.141547 r = raio h = altura

Exercício 4 Faça um programa para ler a base e a altura de um triângulo. Em seguida, calcule e escreva sua área. Área = ( Base * Altura ) / 2

Exercício 5 Escreva um programa que calcule o volume de um cilindro circular, dados o raio e altura desse cilíndro. Exiba o resultado desse cálculo. V = π * r 2 * h Em que: π = 3.14, r = raio, h = altura.

Exercício 6 Escreva um programa que calcule a raiz de uma equação do 1.o grau, dados os valores dos coeficientes. a x + b = 0