Apostila de Programação Estruturada I

Tamanho: px
Começar a partir da página:

Download "Apostila de Programação Estruturada I"

Transcrição

1 Apostila de Programação Estruturada I 1º semestre/2005 Professores: Giselle C. Cardoso Jane M. Rondina Rangel Arthur Rodrigo G. Cavalcante Tatiane R. Bonfim

2 LINUX Sistema Operacional: é a interface ao usuário e seus programas com o computador. Ele é responsável pelo gerenciamento de recursos e periféricos (como memória, discos, arquivos, impressoras, CD-ROMs, etc.) e a execução de programas. O Linux é um sistema operacional criado em 1991 por Linus Torvalds na Universidade de Helsinky na Finlândia. É um sistema Operacional de código aberto distribuído gratuitamente pela Internet. Seu código fonte é liberado como software gratuito. O Linux é um Sistema Operacional Case Sensitive, ou seja, ele diferencia letras maiúsculas de minúsculas. Exemplo: teste TESTE. Algumas explicações sobre os principais componentes existentes no computador e no sistema operacional: Hardware: Significa parte física do computador (disquete, impressoras, monitores, placa mãe, placa de fax, discos rígidos, etc). Software: São os programas usados no computador (sistema operacional, processador de textos, planilha, banco de dados, scripts, comandos, etc). Arquivos: É onde gravamos nossos dados. Um arquivo pode conter um texto feito por nós, uma música, programa, planilha, etc. Cada arquivo deve ser identificado por um nome, assim ele pode ser encontrado facilmente quando desejar usa-lo. Se estiver fazendo um trabalho de história, nada melhor que salva-lo com o nome historia. Diretório: É o local utilizado para armazenar conjuntos de arquivos para melhor organização e localização. - Diretório Raiz: Este é o diretório principal do sistema. Dentro dele estão todos os diretórios do sistema. Ele é representado por uma "/", assim se você digitar o comando cd / você estará acessando este diretório. Nele estão localizados outros diretórios como o /bin, /sbin, /usr, /usr/local, /mnt, /tmp, /var, /home, etc. Estes são chamados de sub-diretórios pois estão dentro do diretório "/". - Diretório padrão: É o diretório em que nos encontramos no momento. Também é chamado de diretório atual ou corrente. - Diretório home: Também chamado de diretório de usuário. Em sistemas Linux cada usuário possui seu próprio diretório onde poderá armazenar seus programas e arquivos pessoais. Este diretório está localizado em /home/[login], neste caso se o seu login for "joao" o seu diretório home será/home/joao. O diretório home também é identificado por um ~(til). Alguns dos comandos mais utilizados no Linux serão listados abaixo: Comando pwd ls ls ~ cd cd - Significado Mostra o diretório que estamos no momento. Listar. Listar os arquivos do diretório home. Mudar de diretório. (Exemplo: cd teste) Retorna ao diretório anterior. Disciplina: Programação Estruturada 1

3 clear rm mkdir cp mv rmdir man emacs & /mnt/floppy mount /mnt/floppy umount /mnt/floppy Limpar a tela. Apagar arquivo. (Exemplo: rm teste.txt) Criar diretório. (Exemplo: mkdir teste) Copiar arquivo. (Exemplo: cp teste.txt destino, que copia o arquivo teste.txt para o diretório destino) Renomear ou mover. (Exemplo: mv teste.txt T1.txt, renomeia o arquivo teste.txt para T1 ou mv teste.txt destino, que moverá o arquivo teste.txt para o diretório destino) Remove o diretório. (Exemplo: rmdir teste) Help. Editor de texto. Parâmetro utilizado para liberar a janela do terminal quando a aplicação é chamada. Unidade de disquete. Acessar a unidade de disquete. Desabilitar a unidade de disquete. Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em A Linguagem C foi baseada na Linguagem B criada por Thompson. C é uma linguagem utilizada para programação de qualquer tipo de sistema como Sistemas Operacionais (Linux, Unix), Planilhas, Processadores de Texto, etc. Compiladores e Interpretadores A maneira de se comunicar com o computador chama-se programa e a única linguagem que o computador entende chama-se linguagem de máquina. Portanto todos os programas que se comunicam com a máquina devem estar em linguagem de máquina. Há duas formas de tradução: - Interpretadores: lê a primeira instrução do programa, faz uma consistência de sua sintaxe e se não houver erro converte-a para uma linguagem de máquina para executá-la. Segue, então, para a próxima instrução, repetindo o processo até que a última instrução seja executada ou a consistência aponte algum erro. O interpretador precisa estar presente todas as vezes que vamos executar o programa e trabalho de checagem e tradução deverá ser repetido. - Compiladores: lê a primeira instrução do programa, faz uma consistência de sua sintaxe e se não houver erro converte-a para a linguagem de máquina, e em vez de executá-la, segue para a próxima instrução repetindo o processo até que a última instrução seja atingida ou a consistência aponte um erro. Se não houver erros ele gera um programa em disco com o sufixo.obj com as instruções já traduzidas. Depois o linkeditor agrega rotinas em linguagem de máquina que lhe permitirão a execução criando em disco o.exe (este não pode ser alterado). Disciplina: Programação Estruturada 2

4 Criar um Programa 1. Criar o código fonte: digitar o programa em um editor de texto e gravá-lo em disco dando um nome com a extensão.c. Exemplo: emacs teste.c &. 2. Compilar:utlizando o compilador gcc do Linux. Exemplo: gcc teste.c o teste. 3. Executar:./teste A estrutura Básica de um Programa Consiste em uma ou várias funções ou programas. main( ) // primeira função a ser executada // inicia a função // termina a função main( ): deve existir em algum lugar do programa, pois marca o início do programa. Primeiro Programa main ( ) printf( Primeiro Programa ); onde: - printf( Primeiro Programa ); é uma instrução e as instruções em devem ser encerradas por ;. - printf( ) é uma função de E/S (Entrada e Saída), em que no interior dos parenteses estão as informações passadas pelo programa, neste caso main( ), a função printf ( ), isto é, Primeiro Programa, que chamamos de argumento. Quando o programa encontra a linha printf( Primeiro Programa );, ele passa o controle para a função printf ( ), que irá imprimir na tela do computador e quando encerra a execução volta novamente para o programa. Sintaxe: printf( expressão de controle,lista de argumentos); Exemplo: main( ) printf( Este e o numero dois: %d,2); Saída: Este e o numero dois: 2 Disciplina: Programação Estruturada 3

5 Esta função printf ( ), ilustrada acima possui 2 argumetos, onde o primeiro é Este e o numero dois: %d e o segundo o 2, mas ela pode possuir vários argumentos, que devem ser separados por,. A expressão de controle pode conter caracteres que serão exibidos na tela e códigos de formatação que indicam o formato em que os argumentos devem ser impressos. Na função printf ( ), acima a expressão de controle é o %d, que solicita a printf ( ) que imprima o segundo argumento em formato decimal. Abaixo está listado algumas expressões de controle de printf ( ): Alguns códigos especiais: %c Caractere simples %d Decimal %f Ponto flutuante %s Cadeia de caracteres %u Decimal sem sinal \n Nova linha \ Aspas \\ Barra /* Comentários %% % Constantes e Variáveis Constante é definido como um valor fixo e inalterável. Exemplo: 8, Primeiro Programa, x. Variáveis são espaços de memória reservados para armazenar um certo tipo de dado e tendo um nome referenciar o seu conteúdo, ou seja, espaço de memório que pode conter, a cada tempo, valores diferentes. Exemplo: main ( ) int num; num = 2; printf( Este e o numero dois: %d,num); Chamamos de declaração de variáveis uma instrução para reservar uma quantidade de memória apropriada para armazenar o tipo especificado e indicar que o seu conteúdo será referenciado pelo nome dado a esta variável, pois todas as variáveis devem ser declaradas antes de ser utilizadas. Disciplina: Programação Estruturada 4

6 Existem alguns tipos de variáveis, que informam a quantidade de memória, em bytes, que esta irá ocupar e a forma como o conteúdo será armazenado: Tipo char int float double void Descrição equivale ao tipo caractere equivale ao tipo inteiro equivale ao tipo real equivale ao tipo real, mas possui uma escala maior que a do tipo float tipo nenhum Com exceção do void, os tipos de dados básicos podem estar acompanhados por modificadores na declaração das variáveis: - long (mais longo, escala maior) - short (mais curto, escala menor) - unsigned (sem sinal, somente valores positivos) A seguir estão os modificadores de C: - long ou long integer - unsigned char - unsigned int - unsigned long - short Exemplo: evento.c main ( ) int evento; char corrida; float tempo; evento = 5; corrida = c ; tempo = 27.25; printf("o tempo vitorioso na eliminatoria %c",corrida); printf("\n da competicao %d foi %f.",evento,tempo); Palavras-Chaves auto break case char const continue do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while Disciplina: Programação Estruturada 5

7 Exercícios 1. Escreva um programa que contenha uma única instrução e imprima na tela: Esta e a linha um. Esta e a linha dois. 2. Escreva um programa que declare 3 variáveis inteiras e atribua os valores 1,2,3 a elas; 3 variáveis caracteres e atribua a elas as letras a,b,c; finalmente imprima na tela: As variaveis inteiras contem os numeros: 1, 2, 3. As variaveis caracteres contem os valores: a, b, c.

8 Função scanf( ) Função de E/S, que permite ler dados formatados da entrada padrão (teclado). Sintaxe: scanf ( expressão de controle, lista de argumentos); onde os argumentos devem ser endereços de variáveis. A expressão de controle deve conter códigos de formatação, precedidos por um sinal %. A lista de argumentos deve consistir somente nos endereços das variáveis. O operador de endereços &, é o endereço do operando. Exemplo: int n; /* variável n, do tipo inteiro n = 2; /* n recebe o valor 2 n /*se for referenciado assim retorna o valor 2 &n /*se for referenciado assim retorna o endereço onde n está guardado.*/ main() int num; num = 2; printf( Valor = %d, Endereço = %u, num, &num); Saída: Valor = 2, Endereço = A seguir estão alguns códigos de formatação da função scanf ( ): Código Função %c Leia um único caractere. %d Leia um inteiro decimal. %s Leia uma série de caracteres %u Leia um decimal sem sinal. %l Leia um inteiro longo. %lf Leia um double. %f Leia um número em ponto flutuante. Exemplo: idade.c main() float anos, dias; printf( Digite a sua idade em anos: ); /*Necessário que digite [enter] para terminar a leitura*/ scanf( %f,&anos); dias = anos * 365;; printf ( Sua idade em dias e: %.0f.\n,dias); Disciplina: Programação Estruturada 7

9 Em algumas situações a função scanf ( ) não se adapta perfeitamente pois você precisa pressionar [enter] depois de sua entrada para que scanf ( ) termine a leitura. Neste caso existem outras funções: A função getche( ) lê um caractere no instante que é datilografado sem esperar [enter] e permite que seja impresso na tela quando lida e ela não aceita argumentos. Exemplo: main() char ch; printf( Digite um caractere: ); ch = getche(); printf( \na tecla que você pressionou e: %c, ch); A função getch( ) lê um caractere do teclado, mas não permite que ele seja impresso na tela quando lido. Operadores Aritméticos Os operadores aritméticos binários, ilustrados abaixo, são aqueles que operam sobre dois operandos: = Atribuição + Soma - Subtração * Multiplicação / Divisão % Módulo (devolve o resto da divisão) O operador unário, opera sobre um operando somente e é utilizado para indicar a troca de sinal. Exemplo: - Menos unário num = -1; num1 = - num; /* então, num1 = 1 Disciplina: Programação Estruturada 8

10 Outro exemplo: main() int ftemp, ctemp; printf ( Digite a temperatura em graus Fahrenheit:"); scanf ( %d,&ftemp); ctemp = (ftemp 32) *5/9; printf( Temperatura em graus Celsius: %d,ctemp); Operadores de Incremento ( + + ) e Decremento ( -- ) + + Incrementa de 1 seu operando - - Decrementa de 1 seu operando Estes operadores trabalham de 2 modos: - Pré-fixado: antes da variável. ++ n: incrementa antes da variável ser utilizada. - Pós-fixado: depois da variável. n ++: incrementa depois da variável ser utilizada. Exemplos: n = 5 x = n++; printf ( x = %d n = %d,x,n); Saída: x = 5 n = 6 n = 5 x = ++n; printf ( x = %d n = %d,x,n); Saída: x = 6 n = 6 Operadores de Atribuição ( + =, - =, * =, /=, %=) Os operadores são usados com um nome da variável à esquerda e uma expressão à direita. x: variável exp: expressão op: operador(+, -, *, / ou %) x op = exp equivale a x = (x) op (exp) Disciplina: Programação Estruturada 9

11 Exemplos: i+ = 2 i = i + 2 x* = y + 1 x = x * (y+1) t/=2.5 t = t / 2.5 p% =5 p = p%5 d - =3 d = d 3 Operadores Relacionais São utilizados para fazer comparações. > Maior >= Maior ou igual < Menor <= Menor ou igual == Igualdade!= Diferente Observação: Variável booleana: assume V (verdadeiro) ou F (falso), ou seja, 1 se verdadeiro e 0 se falso. Exemplo: main() Saída int verdade, falso; verdade = (15<20); falso = (15==20); printf( Verdadeiro = %d, Falso = %d, verdade, falso); Verdadeiro = 1, Falso = 0 Atenção: Operadores aritméticos tem prioridade aos operadores relacionais. Comentários /*Comentários ou /*Comentários Comentários*/ Disciplina: Programação Estruturada 10

12 Exercícios 1. Escreva um programa no qual você digita o ano de nascimento e ele te informa quantos anos você tem ou vai fazer neste ano. 2. Escreva um programa que solicite 3 números em ponto flutuante e imprima a média aritmética. 3. Escreva um programa que receba 4 números inteiros, calcule e mostre a soma desses números. 4. Faça um programa que receba 3 notas, calcule e mostre a média aritmética entre elas. 5. Faça um programa que receba o salário de um funcionário, calcule e mostre o novo salário, sabendo-se que este sofreu um aumento de 25%. 6. Faça um programa que calcule e mostre a área de um triângulo. Sabe-se que: Área = (base * altura)/2 7. Faça um programa que calcule e mostre a área de um círculo. Sabe-se que: A = πr 2 e π = 3, Faça um programa que receba o custo de um espetáculo teatral e o preço do convite desse espetáculo. Esse programa deve calcular e mostrar a quantidade de convites que devem ser vendidos para que pelo menos o custo do espetáculo seja alcançado. 9. Faça um programa que receba o preço de um produto, calcule e mostre o novo preço, sabendo-se que este sofreu um desconto de 10%. 10. Faça um programa que calcule e mostre a área de um quadrado. Sabe-se que: A = lado * lado. Disciplina: Programação Estruturada 11

13 Operadores Lógicos Os operadores lógicos são utilizados para conectar expressões lógicas sendo geralmente utilizados em expressões condicionais. Ope Operador Função && AND lógico OR lógico! NOT lógico Exemplo: x = 5; y = (x>0)&&(x<7); A condição é verdadeira ou falsa? Sintaxe: if(condição) comando1; else comando2; Comando if Se condição for verdadeira (diferente de 0) é executado comando1, senão é executado comando2. Quando mais de um comando for utilizado, devem estar agrupados entre e.o else, que é opcional, eqüivale sempre ao último if pendente (sem else). Exemplos: /* Exemplo 1 */ #include <stdio.h> main() int num; printf("digite um numero: "); scanf("%d", &num); if(num>0) printf("%d eh positivo", num); else printf("%d eh negativo", num); /* Exemplo 2 */ #include <stdio.h> int main(void) int num; printf("digite um numero: "); Disciplina: Programação Estruturada 12

14 scanf("%d", &num); if(num%2==0) printf("%d e' par\n", num); printf("a metade e' %d\n", num/2); else printf("%d e' impar\n", num); Exercício: Faça um programa que teste se um número lido é positivo ou negativo, e ainda, que verifique se é par ou ímpar. Comando else if O comando else if é utilizado quando existem mais que duas condições a serem testadas para diferentes saídas. Sintaxe: if(condição1) comando1; else if (condiçao2) comando2; else comando3; Comando switch Este é um comando de seleção útil para ser utilizado quando a mesma variável é comparada diversas vezes com valores diferentes. Um switch pode substituir muitos comandos if. Sintaxe: switch(variável) case valor1: comandos a serem executados se variável==valor1 break; case valor2: comandos a serem executados se variável==valor12 break;... case valorn: Disciplina: Programação Estruturada 13

15 comandos a serem executados se variável==valorn break; default: comandos a serem executados se o valor não foi encontrado O valor da variável é comparado com o valor fornecido em cada um dos case seguintes. Se for encontrado um valor igual, todos os comandos após este case são executados, até encontrar um break. O default, no final do comando, é opcional. Os comandos após o default somente serão executados se o valor da variável não coincidir com nenhum dos valores correspondentes aos case anteriores. /* Exemplo3: */ #include <stdio.h> main() int dia; printf("informe o dia da semana (1-7): "); scanf("%d", &dia); switch(dia) case 1: printf("domingo\n"); break; case 2: printf("segunda-feira\n"); break; case 3: printf("terça-feira\n"); break; case 4: printf("quarta-feira\n"); break; case 5: printf("quinta-feira\n"); break; case 6: printf("sexta-feira\n"); break; case 7: printf("sábado\n"); break; default: printf("dia inválido\n"); Disciplina: Programação Estruturada 14

16 Exercícios 1. Faça um programa que teste se um número é múltiplo de Qual é o valor de x no final da execução do programa abaixo? main () int x = 3; if (x > 4) x = 2 *x; x = x + 1; 3. Desenvolva um programa para determina o maior número de 3 números dados. 4. Desenvolva um programa para calcular e mostrar o desconto no valor de uma compra (fornecido pelo usuário), de acordo com a tabela: Valor Desconto Até R$ 1000,00 10% De R$ 1001,00 a R$ 5000,00 20% Acima de R$ 5001,00 30% 5. Desenvolva um programa para ordenar o conteúdo de 3 variáveis. 6. Imagine uma prova com 100 questões, cada uma valendo 1 ponto, devendo o resultado ser divulgado através de conceitos de acordo com a seguinte tabela: Pontos Conceito 0 a 49 D 50 a 69 C 70 a 89 B 90 a 100 A Escreva um programa que exiba o conceito da pontuação obtida. 7. Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um programa que calcule seu peso ideal, utilizando as seguintes fórmulas: - para homens: (72.7*h)-58; - para mulheres: (62.1*h)-44.7 Disciplina: Programação Estruturada 15

17 Laços Em C existem 3 estruturas principais de laços: - for - while - do-while O Laço for Engloba 3 expressões numa única expressão e é útil principalmente quando queremos repetir algo um número fixo de vezes. Sintaxe: for (inicialização; condição; incremento) comandos; Onde: - inicialização: instrução de atribuição, que é executada uma única vez antes do laço ser inicializado; - condição: instrução de teste que controla o laço, é avaliada como verdadeira ou falsa toda vez que o laço for iniciado ou reiniciado. Se verdadeira o corpo do laço é executado e se for falsa o laço é terminado e o programa passa para a instrução seguinte do programa. - incremento: define como a variável de controle do laço será alterada cada vez que o laço é repetido. Esta instrução é executada, toda vez, imediatamente após a execução do corpo do laço. Pode ser feito tanto incremento quanto decremento da variável de controle. Exemplo1: lacofor.c /*Imprime os números de 0 a 4*/ main() int conta; for (conta=0; conta < 5; conta++) printf( Conta = %d \n,conta); Saída do programa: Conta = 0 Conta = 1 Conta = 2 Conta = 3 Disciplina: Programação Estruturada 16

18 Conta = 4 Instruções Múltiplas no Corpo do Laço for Exemplo2: main() int conta, total; total = 0; for (conta = 0; conta < 10; conta++) total =total+conta; printf( Conta = %d, Total = %d \n,conta, total); Laços for Aninhados Quando um laço for está dentro de outro laço for. Exemplo: /*gera a tabuada do numero 1 ate a do numero 9 */ main() int i,j; printf("\n"); for(i=1;i<=9;i++) printf(" \n Gerando a Tabuada do %d \n ",i); for(j=0;j<=10;j++) printf("%d x %d = %d \n ",i,j,i*j); Exercícios 1. Modifique o programa lacofor.c, para as seguintes situações: a. Imprima os números de 9 a 0. b. Imprima os números múltiplos de 3 contidos no intervalo de 0 a 9. Disciplina: Programação Estruturada 17

19 2. Escreva um programa que imprima o quadrado de todos os inteiros de 1 ao 20, utilizando o laço for. 3. Escreva um programa, utilizando o laço for, para ler e determinar a média de 4 notas. 4. Faça um programa para calcular o fatorial de n, sabendo que o fatorial de um inteiro não negativo n é o produto de todos os inteiros de 1 até n. n! = 1, se n = 1 ou n = 0 n! = 1 * 2 * 3 *... * n-1 * n 5. A seqüência de Fibbonaci é a seqüência (1,1,2,3,5,8,13,...) definida por: A n = 1, se n =1 ou n = 2 A n = A n A n - 2, se n >2 Escreva um programa que determine o n-ésimo termo desta seqüência, sabendo que n é fornecido pelo usuário. Sintaxe: while (condição) comandos; O Laço while Se a condição for verdadeira o corpo do laço while é executado uma vez e a expressão de teste é avaliada novamente. Este ciclo é repetido até que a expressão de teste se torne falsa, então o laço termina e o controle do programa passa para a próxima linha. Exemplo: main() int conta = 0; while (conta < 10) printf( Conta = %d\n,conta); conta++; Este laço é mais utilizado em situações em que o laço pode ser terminado inesperadamente por condições desenvolvidas dentro do próprio laço. Como o laço for ele pode possuir múltiplas instruções dentro de um laço e pode ser utilizado também aninhado. Exercícios 6. Escreva um programa que leia n notas e calcule a média, sabendo que ele deve mostrar a média quando a nota lida for Qual o valor da variável x no final da execução dos trechos de programa abaixo: Disciplina: Programação Estruturada 18

20 a-) b-) int cont = 0, x = 2; int i = 0, x = 3; while (cont < 5) while (i <= 6) x = x + 10; x = x + 3; cont++; i +=2; O Laço do-while Bastante similar ao laço while, mas a diferença entre os dois é que no do-while o teste de condição é avaliado depois do laço ser executado. Assim este laço é sempre executado uma vez. Sintaxe: do comandos; while(condição); Exemplo: main() float nota, soma, media; int cont = 0; soma=0; do printf("digite a nota:"); scanf("%f",&nota); soma =soma + nota; cont++; while(nota!=-1); media = soma/(cont-1); printf("media = %.2f",media); Exercícios 8. Qual o valor da variável x no final da execução dos trechos de programa abaixo: a-) b-) int cont = 0, x = 2; int j = 4, x = 1; do do x = 3*x; x = x + 2; cont++; j--; while (cont <=3); while (j > 0); Disciplina: Programação Estruturada 19

21 Vetores Vetor é um tipo de dado usado para representar uma certa quantidade de variáveis de valores homogêneos (do mesmo tipo). Imagine o seguinte problema: calcular a média das notas da prova de 5 alunos. Você poderia declarar: int nota0, nota1, nota2, nota3, nota4; e o programa deverá ler os valores separadamente: printf( Digite a nota do aluno 0 ); scanf( %d, &nota0); printf( Digite a nota do aluno 1 ); scanf( %d, &nota1); printf( Digite a nota do aluno 4 ); scanf( %d, &nota4); Imagine se pretendêssemos encontrar a média aritmética das notas de uma classe de 50 alunos? Seria uma programação bastante volumosa. O vetor é uma série de variáveis do mesmo tipo referenciadas por um único nome, onde cada variável é diferenciada através de um número chamado índice. A declaração em linguagem C para um vetor é feita da seguinte maneira: int notas[5]; Esta declaração aloca memória para armazenar 5 inteiros e anuncia que notas é um vetor de 5 elementos de inteiros. A palavra int declara que todo elemento do vetor é do tipo int. notas é o nome dado ao vetor e [5] indica que o vetor terá 5 elementos. Em C, os vetores precisam ser declarados, como quaisquer outras variáveis, para que o compilador conheça o tipo do vetor e reserve espaço de memória suficiente para armazená-la. Os elementos de um vetor são guardados numa seqüência contínua de memória, isto é, um seguido ao outro. Na declaração de um vetor, deve-se colocar entre [ ] o tamanho o do vetor (quantos elementos ele poderá armazenar). Disciplina: Programação Estruturada 20

22 Referenciando um elemento do vetor Uma vez declarado o vetor, precisamos de um modo de referenciar os elementos individualmente. Isto é feito através de um número entre colchetes seguindo o nome do vetor. Quando referenciamos um elemento do vetor este número especifica a posição do elemento no vetor. É importante diferenciar bem os conceitos de posição e conteúdo. Os elementos do vetor são sempre numerados por índices iniciados por 0 (zero), como mostra o exemplo da figura abaixo: vetor conteúdo posição O elemento referenciado pela posição (índice) 2 é especificado pela seguinte instrução: notas[2] Este não é o segundo elemento do vetor e sim o terceiro, pois a numeração começa em 0. Assim o último elemento do vetor possui um índice menor que o tamanho do vetor. Exemplo 1: Faça uma programa que declare um vetor para armazenar 5 notas, leia as 5 notas e calcule a média. #include <stdio.h> main() int notas[5]; int i, soma = 0; for (i=0; i<5; i++) printf( Digite a nota do aluno %d:, i); scanf( %d, &notas[i]); soma = soma + notas[i]; printf( media das notas = %d, soma/5); Disciplina: Programação Estruturada 21

23 Armazenando dados no vetor No exemplo1, a parte do programa que armazena dados no vetor é: for (i=0; i<5; i++) printf( Digite a nota do aluno %d:, i); scanf( %d, &notas[i]); O laço for causa um processo de solicitação ao usuário e leitura das notas, repetido 5 vezes. Na instrução scanf( ), nós usamos o operador (&) junto da variável notas[i], que é uma variável como outra qualquer. Lendo dados do vetor No exemplo1, a parte do programa que lê dados do vetor é: soma = soma + notas[i]; O laço for adiciona os valores contidos em cada elemento do vetor (notas[i]) em uma variável soma, para depois calcular a média. Utilizando a diretiva #define Com a diretiva #define podemos definir um valor constante conforme o exemplo abaixo. Exemplo 2: Faça um programa que leia notas até que a nota seja menor ou igual a 0. Calcule e apresente a média das notas. #include<stdio.h> #define tamanho 40 main() float notas[40], soma = 0.0; int i; do printf( Digite a nota do aluno %d:, i); Disciplina: Programação Estruturada 22

24 scanf( %f, &notas[i]); if (notas[i] > 0) soma = soma + notas[i]; i++; while(notas[i] > 0); printf( media das notas = %.2f, soma/(i-1) ); No exemplo2, a diretiva define foi utilizada para criar uma constante chamada tamanho e que contém o valor 40. O uso de constantes para dimensionar vetores é comum em C, pois, se com o passar do tempo quisermos aumentar ou diminuir este valor, precisamos somente trocar o 40 pelo número desejado e a troca refletirá em qualquer parte do programa onde a palavra tamanho aparece. A variável notas foi definida com o tamanho máximo de 40 elementos reais, utilizando a palavra tamanho. No exemplo 2, o laço do-while repete a solicitação da nota ao usuário, armazenando-a no vetor notas, até que seja fornecido um valor menor ou igual à zero (0). Quando o último item for digitado, a variável i terá alcançado um valor acima do valor total de itens. Portanto, para encontrar o número de itens válidos devemos subtrair 1 do valor contido em i. O ideal no exemplo 2 é verificar se o limite máximo do vetor não foi ultrapassado e isso é de responsabilidade do programador. Sendo assim, poderíamos embutir o seguinte trecho no código: do if (i > = tamanho) printf( capacidade máxima do vetor preenchida\n ); break; printf( Digite a nota do aluno %d:, i); scanf( %f, &notas[i]); if (notas[i] > 0) soma = soma + notas[i]; i++; while(notas[i] > 0); O comando break termina a execução do laço do-while. Disciplina: Programação Estruturada 23

25 Inicializando vetores Um vetor pode ser inicializado na instrução de sua declaração, para que possamos especificar valores prefixados. Para sua inicialização devemos colocar os valores separados por vírgulas e todos eles entre. A quantidade de valores definidos não pode ser superior ao tamanho máximo do vetor. Se há menos inicializadores que a dimensão especificada, os outros serão zero. Exemplo 3: #include<stdio.h> main() float soma = 0.0, notas[5] = 5.0, 6.0, 7.0, 8.0, 9.0; int i; for (i=0; i<5; i++) printf( Digite a nota do aluno %d:, i); scanf( %d, &notas[i]); soma = soma + notas[i]; printf( media das notas = %d, soma/5); Exercícios 1) Faça um programa que seja capaz de conhecer e armazenar quaisquer 10 valores inteiros em um vetor. 2) Faça um programa que seja capaz de conhecer e armazenar N valores inteiros quaisquer em um vetor com capacidade de armazenamento de 50 elementos inteiros. O valor de N é fornecido pelo usuário. 3) Faça um programa que, tendo como dados de entrada 10 valores reais, calcule a média aritmética entre os mesmos, e que seja possível saber quantos elementos são superiores a média calculada. 4) Faça um programa que leia 2 vetores de 10 elementos inteiros cada, e que construa um terceiro vetor composto somente com os elementos que estão nos dois vetores. 5) Refaça o item 4, evitando elementos repetidos no vetor gerado. 6) Faça um programa que leia 2 vetores de 50 elementos inteiros cada. Em seguida crie um vetor soma com base nos dois vetores lidos. Disciplina: Programação Estruturada 24

26 Matrizes Matriz é um conjunto de dados com o mesmo tipo, referenciado por um nome e que necessita de mais de um índice para armazenar seus elementos. Exemplo: se quisermos armazenar 3 notas de 5 alunos. Podemos criar uma matriz com 2 dimensões, uma com 5 linhas e outra com 3 colunas. float nota[5][3]; Em C, a declaração de uma matriz é feita como no exemplo acima, iniciando pelo tipo da variável, o nome da variável e as dimensões para linha e coluna. variável nota índice da coluna (nota) índice da linha (aluno) Utilizando a estrutura de dados matriz, foi possível armazenar em uma única variável as 3 notas para os 5 alunos. Acessando os elementos de uma matriz Para particularizar uma célula de uma estrutura matriz, devemos utilizar o identificador e um valor de índice para cada dimensão. identificador[índice da linha][índice da coluna] Se quisermos acessar, na variável nota, a nota 2 do aluno 3, devemos utilizar nota[3][2] = 6.0. Observação: o índice em linguagem C começa sempre em zero. Armazenando dados em uma matriz Para o armazenamento em linha, deve-se fixar um valor de índice de linha e variar seqüencialmente os índices de coluna. Após o término do mapeamento de coluna para a linha fixada, se fixa à próxima linha e percorre-se o mapeamento da coluna para esta nova Disciplina: Programação Estruturada 25

27 linha. Para o armazenamento em coluna o procedimento é o mesmo, porém, fixando-se a coluna e variando a linha. Exemplo1: armazenando dados na matriz nota #include<stdio.h> main() float nota[5][3]; int i,j; for (i=0; i<5; i++) for (j=0; j<3; j++) printf( Entre com a nota %d do aluno %d, j, i); scanf( %f, &nota[i][j]); Acessando os dados armazenados de uma matriz Para acessar os dados de uma matriz por linha, o procedimento é o mesmo, deve-se fixar um valor de índice de linha e variar seqüencialmente os índices de coluna. Após o término do mapeamento de coluna para a linha fixada, se fixa à próxima linha e percorre-se o mapeamento da coluna para esta nova linha. Exemplo1: Escrevendo dados da matriz nota for (i=0; i<5; i++) for (j=0; j<3; j++) printf( nota[%d][%d] = %f, i, j, nota[i][j]); printf( \n ); Inicializando uma matriz A inicialização de uma matriz é feita da mesma forma que a de um vetor, onde os elementos de cada linha são colocados entre chaves. Exemplo: float nota[2][3] = 8.0, 3.0, 5.0, 8.5, 3.5, 5.5; Disciplina: Programação Estruturada 26

28 Declarando e armazenando dados em uma matriz de strings #include <stdio.h> main() char aluno[5][30]; int i; for (i=0; i<5; i++) printf( Entre com o nome do aluno %d, i); scanf( %s, aluno[i]); OBS: É importante notar que para a leitura de uma string, usando scanf, não é necessário usar o símbolo & antes do nome da variável. Exercícios: 1) Faça um programa que leia 200 números inteiros e armazená-los por linha em uma matriz de 20 linhas e 10 colunas. 2) Faça um programa onde os seguintes números devem ser lidos para uma matriz de 4 linhas e 3 colunas: 21, -3, 55, 788, 5, 93, 4, 45, 595, 666, 5 e 88. A saída do programa deve ter o seguinte formato ) Faça um programa que leia os dados de uma matriz de 4 linhas e 4 colunas, composta de elementos reais, e calcule a soma dos elementos da diagonal principal da matriz. 4) Faça um programa que leia os valores de uma matriz 10x10 de elementos reais, e crie a matriz transposta da matriz fornecida. 5) Faça um programa que leia uma matriz 20x20 de elementos reais e gere um vetor de 20 elementos reais, onde cada elemento do vetor seja a soma de cada linha da matriz. 6) Faça um programa que receba uma matriz 10x10 de elementos inteiros, e localize a posição (linha e coluna) do maior elemento da matriz. 7) Faça um programa que calcule a média das notas por aluno e a média geral de 5 alunos, sabendo que cada um fez 3 provas. Disciplina: Programação Estruturada 27

29 FUNÇÕES INTRODUÇÃO Uma função é uma unidade de código autônoma com a finalidade de cumprir uma tarefa particular. Algumas das principais razões de se usar funções são: Dividem grandes tarefas de computação em tarefas menores. Permitem que as pessoas possam trabalhar sobre o que outras já fizeram, ao invés de partir do nada. Freqüentemente escondem detalhes desnecessários de operações, de maneira a esclarecer o todo e facilitar mudanças. Fazem com que o programador não tenha de repetir o mesmo código repetidas vezes. Portanto, funções são as estruturas que permitem ao usuário separar seus programas em blocos. Se não as tivéssemos, os programas teriam que ser curtos e de pequena complexidade. Para fazermos programas grandes e complexos temos de construí-los bloco a bloco. ESTRUTURAS DAS FUNÇÕES Uma função geral na linguagem C tem a seguinte sintaxe: tipo_de_retorno nome_da_função(declaração_de_parâmetros) corpo_da_função; O tipo_de_retorno é o tipo de variável que a função vai retornar. O retorno padrão é o tipo int. Caso a função não retorne nada ela será do tipo void. É na declaração_de_parâmetros que informamos ao compilador quais serão as entradas da função. A declaração_de_parâmetros é uma lista com a seguinte forma geral: tipo nome1, tipo nome2,..., tipo nomen No corpo_da_função definimos os comandos que são processados e as saídas que são geradas. No exemplo abaixo a função linha( ) imprime uma linha tracejada com um determinado tamanho especificado. Disciplina: Programação Estruturada 28

30 linha(int tamanho) int i; for(i=1;i<=tamanho;i++) printf("-"); printf("\n"); main() linha(10); linha(20); linha(30); VARIÁVEIS LOCAIS As variáveis que são declaradas dentro de uma função são chamadas variáveis locais e seus valores são conhecidos apenas dentro do bloco da função. No exemplo anterior, a variável tamanho é conhecida apenas dentro da função linha( ) e a função main( ) desconhece o valor atribuído a tamanho. Caso o seguinte comando printf("o tamanho da linha é %d.\n",tamanho); fosse inserido na penúltima linha do programa o compilador apresentaria um erro (verifique!). O COMANDO RETURN O comando return é usado dentro de funções e tem a seguinte sintaxe: return (valor_de_retorno); //ou return; O comando return( ) devolve um valor e retorna imediatamente para a próxima instrução do código de chamada. O comando return utilizado sem parênteses apenas retorna o controle ao programa sem devolver nenhum valor. É importante lembrar que o valor de retorno fornecido tem que ser compatível com o tipo de retorno declarado para a função. Devemos ressaltar que uma função pode ter mais de uma declaração return e que o comando return pode retornar apenas um valor à função que o chama. Abaixo temos um exemplo de uso do return em uma função que retorna o valor absoluto de um número inteiro: int abs(int a) if(a>=0) Disciplina: Programação Estruturada 29

31 else return(a); return(-a); main() int num; printf("entre com um número: "); scanf("%d",&num); num=abs(num); printf("o seu valor absoluto vale: %d\n",num); Exercícios: 1) Escreva a função divisivel(int a, int b). A função deverá retornar 1 se o resto da divisão de a por b for zero. Caso contrário, a função deverá retornar zero. 2) Escreva a função par(int a). A função deverá retornar 1 se a for par. Caso contrário, a função deverá retornar zero. 3) Escreva uma função float area_ret(float x, float y) que calcule e retorne a área de um retângulo de lados x e y. 4) Escreva uma função pot(int m, int n) que eleve um número inteiro m à potência positiva inteira n. A função devera retornar o valor de m n. Disciplina: Programação Estruturada 30

32 Bibliografia 1. MIZRAHI, Victorine Viviane. Treinamento em linguagem C: curso completo. São Paulo: Makron Books, v1 e v2. 2. SCHILDT, Herbert, C Completo e Total, 3ª edição, São Paulo, Editora Makron Books. 3. ASTÊNCIO, A.F.G. & CAMPOS, E.D. Fundamentos da Programação de Computadores São Paulo: Prentice Hall Brasil, Disciplina: Programação Estruturada 31

Linguagem C. Prof.ª Márcia Jani Cícero

Linguagem C. Prof.ª Márcia Jani Cícero Linguagem C Prof.ª Márcia Jani Cícero A estrutura Básica de um Programa em C Consiste em uma ou várias funções ou programas. main( ) // primeira função a ser executada // inicia a função // termina a função

Leia mais

Vetores. e o programa deverá ler os valores separadamente:

Vetores. e o programa deverá ler os valores separadamente: Vetores Vetor é um tipo de dado usado para representar uma certa quantidade de variáveis de valores homogêneos (do mesmo tipo). Imagine o seguinte problema: calcular a média das notas da prova de 5 alunos.

Leia mais

Linguagem C. Compiladores e Interpretadores

Linguagem C. Compiladores e Interpretadores Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson. C é uma linguagem utilizada para programação de qualquer

Leia mais

Linguagem de Programação C

Linguagem de Programação C Linguagem de Programação C Aula 08 Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais 13 de novembro de 2009 Introdução O que é uma linguagem

Leia mais

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

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

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

Capítulo 2 Operadores. A função scanf() Capítulo 2 Operadores A função scanf() A função scanf() é outra das funções de E/S implementadas em todos os compiladores e nos permite ler dados formatados da entrada padrão (teclado). Sintaxe: scanf(

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

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

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU Aula 5 Oficina de Programação Introdução ao C Profa. Elaine Faria UFU - 2017 Linguagem de Programação Para que o computador consiga ler um programa e entender o que fazer, este programa deve ser escrito

Leia mais

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

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

A Linguagem C. A forma de um programa em C

A Linguagem C. A forma de um programa em C A Linguagem C Criada em 1972 por D. M. Ritchie e K. Thompson. Tornou-se uma das mais importantes e populares, principalmente pela portabilidade e flexibilidade. Foi projetada para o desenvolvimento de

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br

Leia mais

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES Linguagem C - Introdução Linguagens de Máquina Representação numérica Difícil utilização e compreensão Específica para cada máquina Linguagens Simbólicas(Assembly)

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação

Leia mais

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.

Leia mais

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double

Leia mais

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES LINGUAGEM C: VARIÁVEIS E EXPRESSÕES Prof. André Backes LINGUAGENS DE PROGRAMAÇÃO Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Estruturas de Repetição. for() while() do-while() break; continue;

Estruturas de Repetição. for() while() do-while() break; continue; Estruturas de Repetição for() while() do-while() break; continue; 1 Auto-Ajuda (!) Como ajudar a solucionar erros básicos do meu programa? Verificar os ; Verificar se não há comandos em maiúsculas; Verificar

Leia mais

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída

Leia mais

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é

Leia mais

Conceitos básicos. Computação eletrônica: Gurvan Huiban

Conceitos básicos. Computação eletrônica: Gurvan Huiban Computação eletrônica: Conceitos básicos Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 Estrutura de um programa em C 2 Variáveis e constantes 3 Comandos de entrada e saída Estrutura de um programa

Leia mais

Linguagens de Programação I

Linguagens de Programação I Linguagens de Programação I Tema # 4 Operadores em C Susana M Iglesias FUNÇÕES ENTRADA-SAÍDA I/O printf(), utilizada para enviar dados ao dispositivo de saída padrão (stdout), scanf(), utilizada para ler

Leia mais

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02 Programação 1 Atribuição, operadores aritméticos, entrada de dados Técnico em Eletrônica Semestre 5 02 Armazenando na memória tipo de variável #include #include main() { int ano; Declaração

Leia mais

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de

Leia mais

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Guia de bolso - Prof. César Melo

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Guia de bolso - Prof. César Melo Algoritmos e Estruturas de Dados I IEC012 Linguagem C - Guia de bolso - Prof. César Melo Histórico A linguagem C é uma linguagem de programação inventada na década de 1970 por Dennis Ritchie Brian Kennigaham.

Leia mais

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

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 Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio

Leia mais

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

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio) Módulo 1 Introdução AEDS I C++ (Rone Ilídio) Introdução Linguagens de Programação Fonte Compilador Executável SO I Hardware C++ - Características Evolução do C, ou seja, possui a mesma sintaxe É uma linguagem

Leia mais

Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1

Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1 Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação Lista de Exercícios 1 1. O programa seguinte tem vários erros em tempo de compilação. Encontre-os. Main() int a=1; b=2,

Leia mais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Primeiro programa em C #include int main() { int num1, num2, result; scanf("%d",&num1); scanf("%d",&num2); result = num1 + num2; printf("%d",

Leia mais

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação Tipos de Dados, Variáveis e Entrada e Saída em C DCC 120 Laboratório de Programação Variáveis Uma variável representa um espaço na memória do computador para armazenar um determinado tipo de dado. Em C,

Leia mais

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Introdução à Programação Operadores, Expressões Aritméticas e Entrada/Saída de Dados Programa em C #include int main main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius

Leia mais

Tópicos em C. Eliade F. Lima

Tópicos em C. Eliade F. Lima Tópicos em C Eliade F. Lima maio/2010 Criada em 1972, por Dennis Ritchie, nos laboratórios Bell, para ser usada no sistema operacional UNIX. Linguagem de propósito geral, sendo adequada à programação estruturada.

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição

Leia mais

A linguagem C (visão histórica)

A linguagem C (visão histórica) A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,

Leia mais

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

Linguagem C Controle do Fluxo de Execução. Lógica de Programação Linguagem C Controle do Fluxo de Execução Lógica de Programação Caro(a) aluno(a), Aqui começaremos a escrever os nossos primeiros programas em uma Linguagem de Programação. Divirta-se!!! Estrutura Seqüencial

Leia mais

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

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Aula Passada Prática com declaração e inicialização de variáveis Capacidade de representação (estouro de representação) Tamanho ocupado pela variável na memória (comando

Leia mais

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída BCC 201 - Introdução à Programação Variáveis, Comandos de Atribuição e Comando de Entrada e Saída Guillermo Cámara-Chávez UFOP 1/1 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c

Leia mais

Conhecendo a Linguagem de Programação C

Conhecendo a Linguagem de Programação C Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como

Leia mais

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores VARIÁVEIS E TIPOS DE DADOS

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores VARIÁVEIS E TIPOS DE DADOS Linguagem C Introdução à Programação C Introdução à Ciência da Computação I Prof. Denis F. Wolf Origem de C está associada ao sistema Unix Histórico: 1970: Ken Thompson desenvolve B, baseada em BCPL, para

Leia mais

GFM015 Introdução à Computação Algoritmos e Programação / Estrutura de Controle de Fluxo / Ambiente de Programação

GFM015 Introdução à Computação Algoritmos e Programação / Estrutura de Controle de Fluxo / Ambiente de Programação GFM015 Introdução à Computação Algoritmos e Programação / Estrutura de Controle de Fluxo / Ambiente de Programação Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/ic UFU/FACOM Programa

Leia mais

Introdução à Computação MAC0110

Introdução à Computação MAC0110 Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 2 Variáveis e Atribuições Memória Principal: Introdução Vimos que a CPU usa a memória principal para guardar as informações que estão

Leia mais

Introdução à Programação

Introdução à Programação Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de

Leia mais

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

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes

Leia mais

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

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton nilton@comp.uems.br Introdução A linguagem C foi inventada por Dennis Ritchie e

Leia mais

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados Disciplina de Programação de Computadores I Universidade Federal de Ouro

Leia mais

Introdução à Linguagem C Variáveis e Expressões

Introdução à Linguagem C Variáveis e Expressões INF1005: Programação 1 Introdução à Linguagem C Variáveis e Expressões 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Programando em C Funções Variáveis Define Operadores e Expressões Entrada e Saída

Leia mais

SSC 0301 IC para Engenharia Ambiental

SSC 0301 IC para Engenharia Ambiental SSC 0301 IC para Engenharia Ambiental Tipos, variáveis e expressões Prof. Márcio Delamaro e Prof. Jorge Luiz e Silva delamaro@icmc.usp.br; jsilva@icmc.usp.br SSC 0301 IC para Engenharia Ambiental ICMC/USP

Leia mais

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro

Leia mais

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com (66) 9953-7642 AULA 02 Revisão de conteúdos da aula passada Exercícios de revisão da aula 01 Estruturas condicionais

Leia mais

C Comandos de Controle

C Comandos de Controle C Comandos de Controle Adriano Cruz adriano@nce.ufrj.br 19 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Revisão da Seção Introdução Comandos de Teste Comandos de

Leia mais

Estrutura do programa

Estrutura do programa Linguagem C Estrutura do programa Exemplo: #include #include main() { printf( Ola, mundo! ); system( pause ); }

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Créditos Introdução à Ciência da Computação Introdução à Linguagem C: Parte I Prof. Ricardo J. G. B. Campello Alguns slides a seguir foram adaptados dos originais gentilmente cedidos por: Prof. André C.

Leia mais

Laboratório de Programação II

Laboratório de Programação II Laboratório de Programação II Aula 02 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... 01 Introdução à linguagem C;

Leia mais

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N! Declarações Os nomes das variáveis devem conter apenas letras, dígitos e o símbolo _ Os principais tipos são: int, float, double e char Exemplos: int n; int quantidade_valores; float x, y, somavalores;

Leia mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser

Leia mais

Princípios de Desenvolvimento de Algoritmos MAC122

Princípios de Desenvolvimento de Algoritmos MAC122 Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Aula de Revisão: Variáveis e Atribuições Introdução Memória Principal: Vimos no curso anterior que a CPU usa a memória

Leia mais

Linguagem C: Variáveis e Operadores. Prof. Leonardo Barreto Campos 1

Linguagem C: Variáveis e Operadores. Prof. Leonardo Barreto Campos 1 Linguagem C: Variáveis e Operadores Prof. Leonardo Barreto Campos Sumário Variáveis: Tipos de variáveis; Nome da variável; Palavras reservadas; A função printf(); A função scanf(); Variáveis locais; Variáveis

Leia mais

char *strchr (const char *str, int ch);

char *strchr (const char *str, int ch); Ponteiros / Vetores e Strings - strchr Sua forma geral é: char *strchr (const char *str, int ch); A função strchr() devolve um ponteiro à primeira ocorrência do byte menos significativo de ch na string

Leia mais

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

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes Introdução à Programação Introdução a Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Introdução Variáveis Tipos de dados Operadores e Expressões: Operadores

Leia mais

Linguagem de Programação. Thiago Leite Francisco Barretto

Linguagem de Programação. Thiago Leite Francisco Barretto Linguagem de Programação Thiago Leite Francisco Barretto SCHILDT, H. C Completo e Total. 3ª Edição. São Paulo: Makron, 1997. Bibliografia Ementa

Leia mais

Características da Linguagem C

Características da Linguagem C Características da Linguagem C Na aula passada, foi implementado o exemplo utilizado do reajuste salarial O resultado impresso pode ser visualizado da seguinte forma: Características da Linguagem C Introdução

Leia mais

Laços de repetição for, while, do-while

Laços de repetição for, while, do-while Computação Eletrônica Laços de repetição for, while, do-while Prof: Luciano Barbosa Estruturas de Repetição Imagine um programa que calcula a média de um aluno. Este programa é bastante simples, bastaria:

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

Linguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados

Linguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados Linguagem de Programação I Aula 06 Linguagem C: Tipos de Dados Da Aula Anterior Linguagens de Programação A Linguagem C: Como tudo começou Principais características da Linguagem C O primeiro programa

Leia mais

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada.

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. e saída Biblioteca stdio.h Comandos Função scanf() Função gets() Função getchar() Material cedido pelo prof. Daniel Callegari scanf() Rotina de entrada que lê todos os tipos de dados. Protótipo: int scanf(const

Leia mais

COMANDOS DE DECISÕES. O COMANDO if. O comando if instrui o computador a tomar uma decisão simples. Forma Geral: if (expressão de teste) instrução;

COMANDOS DE DECISÕES. O COMANDO if. O comando if instrui o computador a tomar uma decisão simples. Forma Geral: if (expressão de teste) instrução; COMANDOS DE DECISÕES O COMANDO if O comando if instrui o computador a tomar uma decisão simples. Forma Geral: if (expressão de teste) instrução; Por exemplo: /* testif.c*/ /* mostra o uso do comando if*/

Leia mais

6 Alguns conceitos e comandos em programação

6 Alguns conceitos e comandos em programação 6 Alguns conceitos e comandos em programação 6.1 Diretivas Diretivas são instruções que permitem ao programador efetuar algum tipo de modificação à compilação, sendo analisadas e executadas pelo pré-compilador,

Leia mais

Cláudio C. Rodrigues Faculdade da Computação - UFU. Faculdade da Computação - UFU 1

Cláudio C. Rodrigues Faculdade da Computação - UFU. Faculdade da Computação - UFU 1 Cláudio C. Rodrigues Faculdade da Computação - UFU LINGUAGEM C - 01: TIPOS, VARIÁVEIS E E/S PADRÃO Faculdade da Computação - UFU 1 A Linguagem C Linguagem de alto nível, genérica. Foi desenvolvida por

Leia mais

Ambiente de desenvolvimento

Ambiente de desenvolvimento Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa

Leia mais

Revisão Linguagem C Parte 1

Revisão Linguagem C Parte 1 Revisão Linguagem C Parte 1 Comentários: Os comentários aparecem em verde e podem iniciados com /* e encerrados com */ quando utilizase várias linhas ou coloca-se // quando forem colocados em apenas uma

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Aula Passada 1º Programa: olamundo.c #include // biblioteca padrão de E/S /* Programa Olá Mundo */ int main(void) { printf( Olá mundo\n ); //exibe Olá mundo

Leia mais

Revisão C++ - Parte 1

Revisão C++ - Parte 1 Revisão C++ - Parte 1 Prof. Gustavo Leitão Campus Natal Central Disciplina Programação para Ambiente de Redes 5/3/2010 Objetivo da Aula 5/3/2010 5/3/2010 OBJETIVO DA AULA Revisar os principais comandos

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 3.3. Conceitos Básicos de C: Expressões, Operadores e Bibliotecas

Leia mais

Linguagem C - Introdu ção

Linguagem C - Introdu ção Linguagem C - Introdu ção José Gustavo de Souza Paiva Introdução Linguagens de Programa ção Softwares que permitem o desenvolvimento de programas Existem várias linguagens de programação, cada uma com

Leia mais

INTRODUÇÃO A LINGUAGEM C

INTRODUÇÃO A LINGUAGEM C INTRODUÇÃO A LINGUAGEM C Aula 01 Programação em Microinformática Prof. Allbert Velleniche de Aquino Almeida E-mail: professor@allbert.com.br Site: http://www.allbert.com.br Histórico O C nasceu na década

Leia mais

Parte 1. Programação (linguagem C) Introdução Geral

Parte 1. Programação (linguagem C) Introdução Geral Parte 1 Programação (linguagem C) Introdução Geral Por que a Linguagem C? Permite o desenvolvimento de programas menores e mais rápidos Programador possui controle maior sobre o código Programador deve:

Leia mais

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa Computação Eletrônica Tipos de dados, constantes, variáveis, operadores e expressões Prof: Luciano Barbosa Site da disciplina: www.cin.ufpe.br/~if165/ Recapitulando num cubo = n * n * n cubo Algoritmo

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação 128 13 129 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas

Leia mais

Programação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO

Programação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO Programação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO Função Printf() Sintaxe printf( expressão de controle, argumentos); É uma função padrão para exibir uma mensagem na

Leia mais

Utilização da Linguagem C

Utilização da Linguagem C Histórico Criada em 1972 por Dennis Ritchie Usada no desenvolvimento do sistema operacional Unix no Bell Labs C foi derivada da linguagem B, desenvolvida por Ken Thompson Linguagem procedural de alto nível

Leia mais

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação Entender o problema Encontrar um algoritmo para resolvê-lo Implementar o algoritmo numa linguagem de programação Permitem implementar um algoritmo Expressar o algoritmo numa forma que o computador entenda

Leia mais

Aula 4 Introdução ao C

Aula 4 Introdução ao C Considere o nosso MSC. O Processador Central, entende o conjunto de instruções, leia, imprima, atribuição e condicional e com ela resolvemos vários problemas, construindo vários algoritmos. As instruções

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

Operadores. A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores:

Operadores. A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores: Operadores A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores: Aritmético: -, +, *, /, %, --, ++ Relacionais: >, =,

Leia mais

Computação eletrônica: Operadores, expressões e funções

Computação eletrônica: Operadores, expressões e funções Computação eletrônica: Operadores, expressões e funções Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 2 Funções 1 Operadores aritméticos Operadores relacionais Operadores lógicos 2 Funções Operadores

Leia mais

Introdução a Linguagem C (Parte I) UFPA Sistemas de Informação. Roberto Araujo 2013

Introdução a Linguagem C (Parte I) UFPA Sistemas de Informação. Roberto Araujo 2013 Introdução a Linguagem C (Parte I) UFPA Sistemas de Informação Roberto Araujo 2013 Meu primeiro programa em C #include main() { printf( Primeiro Programa \n ); Biblioteca padrão Função principal

Leia mais

Podemos declarar um ponteiro para um ponteiro com a seguinte notação: tipo_da_variável **nome_da_variável;

Podemos declarar um ponteiro para um ponteiro com a seguinte notação: tipo_da_variável **nome_da_variável; Ponteiros - Ponteiros para Ponteiros Podemos declarar um ponteiro para um ponteiro com a seguinte notação: tipo_da_variável **nome_da_variável; Algumas considerações: **nome_da_variável é o conteúdo final

Leia mais