Programação de Computadores II

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

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

Programação Estruturada

Conhecendo a Linguagem de Programação C

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

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

Algoritmos e Programação

Introdução a Programação de Jogos

Introdução ao Fortran 90. Aula 3

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

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

Ambiente de desenvolvimento

Estrutura do programa

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 a Computação

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

INTRODUÇÃO A LINGUAGEM C

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

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Aula 03 - Linguagem C

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

Programação: Vetores

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

Revisão C++ - Parte 1

Linguagem de Programação. Thiago Leite Francisco Barretto

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

Linguagem C: Introdução

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Linguagem C estruturas de repetição

Algoritmos II prof. Daniel Oliveira

Aula 03: Introdução a C

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

Linguagem de Programação C

TÉCNICO DE INFORMÁTICA - SISTEMAS

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

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

Conceitos Básicos Linguagem C

INTRODUÇÃO À LINGUAGEM C. Prof. Msc. Luis Filipe Alves Pereira 2015

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

Introdução à linguagem C++

3. Linguagem de Programação C

Programação de Computadores III

Introdução à Linguagem C

Introdução à Programação

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

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Métodos Computacionais

Preparatório OBI. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula 01 Introdução a C++

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Programação de Computadores:

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

Programação de Computadores III

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Laboratório de Programação II

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

3. Linguagem de Programação C

11 - Estrutura de um programa em C

LINGUAGEM C: ARRAY: VETORES E MATRIZES

Lição 4 Fundamentos da programação

Disciplina de Algoritmos e Programação

Introdução à Programação em C

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

Variáveis primitivas e Controle de fluxo

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

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

Introdução à linguagem C

Transcrição:

Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti

Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para resolver um problema. Um mesmo problema pode ser solucionado por algoritmos diferentes. Um programa é a definição desses passos por meios de comandos em uma determinadalinguagem. Aula 01. Programação Básica

Compilador É uma ferramenta que traduz um código (fonte) escrito em uma linguagem de programação mais familiar aos humanos, para um outro código (binário) em linguagem de máquina, criando um arquivo executável. Um IDE não é um compilador, ele utiliza o compilador. Um compilador não executa seu programa, ele somente cria um executável. Além de definir erros de compilação, o compilador também mostra mensagens de aviso (preste atenção nelas!). Aula 01. Programação Básica

Variáveis Variáveis são espaços reservados na memória para guardar para guardar dados. O nome de uma variável deve seguir algumas regras e ajudar no compreendimento do programa. Uma variável deve ter um tipo de dado associado a ela (integer, character, float, boolean). A mudança de um tipo para outro é chamada de casting. A declaração de uma variável normalmente é feita no começo do programa (embora, em algumas linguagens de programação, podendo ser feita no meio). Aula 01. Programação Básica

Variáveis Variáveis são espaços reservados na memória para guardar para guardar dados. Python n = 0 c = c P ascal var n : integer; var c : char; C int n; char c; Fortran integer :: n character :: c Aula 01. Programação Básica

Entrada esaída É a maneira como o programa e o usuário se comunicam. A entrada e saída básica de um computador é feita através de mensagens, sem utilização do mouse ou qualquer interface gráfica. Normalmente são utilizadas funções específicas de leitura e escrita de variáveis. Aula 01. Programação Básica

Entrada esaída É a maneira como o programa e o usuário se comunicam. Python n = input() print(n) P ascal readln(n); writeln(n); C scanf(" d", &n); printf(" d", n); Fortran read(*,*) n write(*,*) n Aula 01. Programação Básica

Expressões São operações envolvendo os manipulações nos valores das variáveis. A atribuição é a forma como colocamos um valor na memória alocada para determinada variável. Além de atribuir um valor, podemos realizar diversas operações sobre eles como somas, multiplicações e comparações. Aula 01. Programação Básica

Expressões São operações envolvendo os manipulações nos valores das variáveis. Python i = 10 c = c P ascal i := 10; c := c ; C i = 10; c = c ; Fortran i = 10 c = "c" Aula 01. Programação Básica

Condicional É um comando que realiza ações de acordo com determinadas condições. A ação condicional é um dos principais recursos da programação e é normalmente ativada pelo comando if. A condição do if deve resultar numa variável lógica, podendo ser, portanto, qualquer expressão lógica ou uma variável lógica, caso elaexistir. Associado ao comando if, podemos ter um conjunto de ações a serem executadas no caso de as condições não serem verdadeiras, normalmente ativado pelo comando else. Aula 01. Programação Básica

Condicional É um comando que realiza ações de acordo com determinadas condições. Python if <condição>: <ações> Pascal if (<condição>) then begin <ações>; end; C if (<condição>) { <ações>; Fortran if (<condição>) then <ações> end if Aula 01. Programação Básica

Repetição com Contador Repete ações e comandos um número de determinado de vezes, dado por uma variável contadora. A cada repetição o valor do contador é modificado. O contador pode ser modificado pelas ações (C e Pascal) ou não pode ser modificado até o fim da repetição (Fortran). Modificando o contador dentro da repetição corremos o risco de criar um loop infinito ou algum outro tipo de erro. Normalmente o contador incrementa 1 em cada passo, mas é possível incrementá-lo com outros valores. Aula 01. Programação Básica

Repetição com Contador Repete ações e comandos um número de determinado de vezes, dado por uma variável contadora. Python for i in range (10): <ações> Pascal for i := 0 to 9 do begin <ações>; end; C for (i=0; i<10; i++) { <ações>; Fortran do i = 0, 10 <ações> end do Aula 01. Programação Básica

Repetição com Condição Repete ações e comandos enquanto uma determinada condição é satisfeita. As variáveis utilizadas na condição (se existirem) podem e devem ser livremente modificadas pelas ações da repetição. Se a condição não for satisfeita antes do loop, todas as ações serão ignoradas na execução. Se a condição sempre for satisfeita, todas as ações serão executadas um número infinito vezes (loopinfinito). é sempre possível reescrever uma repetição com contador utilizando uma repetição com condição. Aula 01. Programação Básica

Repetição com Condição Repete ações e comandos enquanto uma determinada condição é satisfeita. Python while i == 10: <ações> Pascal while (i = 10) do begin <ações>; end; C while (n == 10) { <ações>; Fortran do while (x == 10) <ações> end do Aula 01. Programação Básica

Vetores É uma sequência de variáveis do mesmo tipo que pode ser acessado através de um índice. Normalmente é armazenado de forma sequencial na memória e seu tamanho deve ser fixo e dada naentrada. Os índices de um vetor são dados por inteiros e podem começar do valor 0 (C), do valor 1 (Pascal) ou de um valor definido pelo usuário (Fortran). Todos os elementos devem ser do mesmo tipo e o tamanho do vetor não pode ser modificado no meio do programa. Uma repetição com contador é normalmente utilizada para percorrer todos os elementos do vetor, sendo o contador, o índice do vetor. Aula 01. Programação Básica

Vetores É uma sequência de variáveis do mesmo tipo que pode ser acessado através de um índice. Python v = [] Pascal i : Array[1..100] of integer; C int n[100]; Fortran integer, dimension(100) :: x Aula 01. Programação Básica

Exercício Faça um programa em C que dado um vetor v com n números inteiros, ordene seus elementos de forma crescente. Assuma que o vetor já foilido. Aula 01. Programação Básica

Exercício : Solução Faça um programa em C que dado um vetor v com n números inteiros, ordene seus elementos de forma crescente. Assuma que o vetor já foilido. for (int i = 0; i < n-1; i++) { menor = i; for (int j = i+1; j < n; j++) { if (v[j] < v[menor]) menor = j; aux = v[i]; v[i] = v[menor]; v[menor] = aux; Aula 01. Programação Básica

Programação de Computadores II 2. A Linguagem C 2019.1

C vs Pascal Possuem a mesma origem: ALGOL. São linguagens de programação estruturada. São da mesma época: Pascal de 1969 e C de 1972. Os sistemas UNIX foram feitos em C e os sistema da Apple foram feitos empascal. Hoje em dia C é muito mais usado.

C vs Python Python é uma linguagem muito mais nova, de 1991. C é muito mais eficiente, os programas rodam mais rápido. Seu objetivo é melhorar a compreensão do código e gerar códigos menores. Python possui muitas bibliotecas prontas, C precisa que muita coisa seja programada do zero. Python é bom para prototipagem e integração de componentes

Hello World /* Hello World program */ #include <stdio.h> int main () { printf ("Hello World.\n"); return 0;

Definição de Programa Um programa em C começa após o cabeçalho int main() { e termina ao encontrar o return. /* Hello World program */ #include <stdio.h> int main () { printf ("Hello World.\n"); return 0;

Comentário Um comentário em C pode ser delimitado por /* e */ ou conter somente uma linha começando com //. /* Hello World program */ #include <stdio.h> int main () { printf ("Hello World.\n"); return 0;

Comentário Um comentário em C pode ser delimitado por /* e */ ou conter somente uma linha começando com //. // Hello World program #include <stdio.h> int main () { printf ("Hello World.\n"); return 0;

Include Algumas funções de C estão declaradas em bibliotecas e para serem usadas essas bibliotecas devem ser incluídas no começo do programa usando #include < >. /* Hello World program */ #include <stdio.h> int main () { printf ("Hello World.\n"); return 0;

argc eargv Ao executarmos o programa em linha de comando podemos passar valores extras para o programa, como parâmetros da função main(). /* Hello World program */ #include <stdio.h> int main (int argc, char*argv[]) { printf ("Hello World.\n"); return 0;

argc eargv Ao executarmos o programa em linha de comando podemos passar valores extras para o programa, como parâmetros da função main(). O número de parâmetros passados é guardado na variável inteira argc. Os parâmetros são guardados em ordem no vetor de strings argv. # include <stdio.h> int main( int argc, char * argv [] ) { printf( "argc = %d\ n", argc ); for( int i = 0; i < argc; ++i ) { printf( "argv[ %d ] = %s\ n", i, argv[ i ] ); ~raphaelmachado$ gcc teste-input.c -o teste-input ~raphaelmachado$./teste-input argc = 1 argv[ 0 ] =./teste-input ~raphaelmachado$./teste-input xyx 43 argc = 3 argv[ 0 ] =./teste-input argv[ 1 ] = xyx argv[ 2 ] = 43

Chaves As chaves { e são os grandes delimitadores de escopo em C. Indicam o começo e fim do programa, de funções e procedimentos, de repetições e condições. /* Hello World program */ #include <stdio.h> int main (int argc, char*argv[]) { printf ("Hello World.\n"); return 0;

Entrada esaída As funções de entrada e saída em C estão localizadas na biblioteca stdio.h (Standart In and Out). Assim, é preciso acrescentar #include <stdio.h> ao começo do programa, para usá-las. /* Hello World program */ #include <stdio.h> int main (int argc, char*argv[]) { printf ("Hello World.\n"); return 0;

Entrada esaída A função básica de saída de dados no C é a printf. Recebe, como entrada, uma string e, opcionalmente, uma lista de variáveis a ser impressa (ver nos próximos slides). /* Hello World program */ #include <stdio.h> int main (int argc, char*argv[]) { printf ("Hello World.\n"); return 0;

Entrada esaída printf() É a forma de imprimirmos valores na tela. O texto deve estar entre aspas e cada variável deve ser representada pelo seu código. As variáveis devem vir depois, separadas por vírgula namesma ordem. #include <stdio.h> int main () { int i, j; float x; printf ("Os valores sao: return 0; d d f\n", i, j, x); Para pular a linha na impressão deve-se usar o \n.

Entrada esaída scanf() É a forma de lermos valores. Cada variável deve estar representada pelo seu código entre aspas e seus nomes devem vir depois, separados por vírgula na mesma ordem. #include <stdio.h> int main () { int i, j; char c; printf ("Digite 2 numeros e um caracter: "); scanf (" d d c", &i, &j, &c); printf ("Os valores sao: d d c\n", i, j, c); return 0; Antes de cada variável é necessária colocar o símbolo &.

Variáveis inteiro 4 bytes short n; %hi inteiro 4 bytes int n; %d inteiro 8 bytes long n; %li inteiro 16 bytes long long n; %lli real 4 bytes float f; %f real 8 bytes double f; %f caracter 1 bytes char c; %c unsigned Todos os tipos inteiros podem ser declarados como unsigned, forçando o valor a ser sempre positivo, assim, dobrando o limite máximo da variável.

Variáveis Boolean Não existe o tipo boolean em C. Normalmente usamos um inteiro, onde 1 representa verdadeiro e 0 representa falso. String Não existe o tipo string em C, um string é um vetor de caracteres que pode ser declarado com chaves (char str[100];) ou asterisco (char* str;).

Expressões adição subtração multiplicação divisão resto atribuição incremento decremento a + b a - b a * b a / b a % b a = b a + = b a - = b Incrementar Ao incrementar 1 em C podemos fazer: i = i+1 ou i++ Decrementar Ao decrementar 1 em C podemos fazer: i = i-1 ou i

Incrementação Em C podemos incrementar de duas formas: i++ ou ++i i++ retorna, depois incrementa. // x recebe v[0] // i recebe 1 i = 0; x = v[i++] ++i incrementa, depois retorna. // x recebe v[1] // i recebe 1 i = 0; x = v[++i]

Operadores lógicos e a && b ou a b não!b igual a = = b diferente a!= b menor a < b maior a > b menor e igual a < = b maior e igual a > = b Atribuição e Comparação Em C = é atribuição e == é comparação de igualdade.

Condicional if O condicional deve ter a condição entre parênteses e as ações entre chaves. O if pode vir acompanhado por um else, com ações também entre chaves. Um if ou else sem chave realiza somente uma ação. #include <stdio.h> int main () { int i; if (i > 10) printf("e maior que 10\n"); else printf("nao e maior que 10\n"); if (i == 100) { printf ("E igual a 100.\n"); i = 0; printf ("O valor foi zerado.\n"); return 0;

Exemplo 1 Verifica se um número está entre 0 e 100. #include <stdio.h> int main() { int num; printf ("Digite o numero: "); scanf (" d", &num); if (num >=0 && num <= 100) printf ("Sim\n"); else printf ("Não\n"); return 0;

Exemplo 2 Verifica se um número é par ou não. #include <stdio.h> int main() { int num; printf ("Digite o numero: "); scanf (" % d", &num); if (num %2 == 0) printf ("Sim\n"); else printf ("Nao\n"); return 0;