Pular para o conteúdo principal

Postagens

Exercícios resolvidos em Linguagem Python - para iniciantes

Esta lista de exercícios resolvidos é um manual para ajudar todo aluno iniciante e não só, a adquirir e aprimorar as habilidades necessárias para se trabalhar com Python, de forma rápida e consistente. Estude e desfrute do conteúdo. 1º Exercício      Faça um programa que informe a versão do Python que você está utilizando Solução import sys print ( "Versão do Python" ) print (sys.version) print ( "Informação da versão instalada" ) print (sys.version_info) Atenção :     -  O módulo sys fornece funções e variáveis usadas para manipular diferentes partes do ambiente de tempo de execução do Python;     - Pra quem ainda não está familiarizado com a linguagem, um módulo  é um arquivo contendo definições e comandos em Python para serem usados em outros programas. 2º Exercício      Faça um programa em linguagem Python que converta metros para centímetros. Solução print ( ' \t ----Conversão de medida---- ' ) metros = int ( input ( 'Informe o valor em metros: 

LISTA CIRCULAR DUPLAMENTE ENCADEADA - EXERCÍCIO RESOLVIDO

/*Lista Circular Duplamente Encadeada*/ #include <iostream> #include <malloc.h> using namespace std; typedef char TInfo; typedef struct no { no *esq; TInfo info; no *dir; } TNo; typedef TNo *PNo; void criaListaC(PNo *l)   { *l = NULL; } void insereListaC(PNo *l, TInfo dado)   { PNo p; p = (PNo)malloc(sizeof(TNo)); p->info = dado; if (*l) { p->dir = *l; p->esq = (*l)->esq; (*l)->esq->dir = p; (*l)->esq = p; } else { p->dir = p; p->esq = p; } *l = p; } int eliminaListaC(PNo *l, TInfo *dado)   { PNo p;     if (*l)     {         p = *l;         if (p->dir == p)         {             *l = NULL;         }         else         {             (*l)->dir->esq = p->esq;             (*l)->esq->dir = p->dir;             *l = p->dir;                     }     *dado = p->info;     free(p);     return 1;     }     else     {             return 0;     } } void mostraListaCDir(

LISTA CIRCULAR SIMPLESMENTE ENCADEADA

/*Lista Circular Simplesmente Encadeada - código-fonte para sua manipulação */ #include <iostream> #include <malloc.h> using namespace std; typedef char TInfo; typedef struct no { TInfo info; no *prox; } TNo; typedef TNo *PNo; void criaListaC(PNo *l) { *l = NULL; } void insereListaC(PNo *l, TInfo dado)   { PNo p, q; p = (PNo)malloc(sizeof(TNo)); p->info = dado; if (*l)  {  p->prox = *l; q = *l; while (q->prox != *l) { q = q->prox; } q->prox = p; } else { p->prox = p; } *l = p; } int eliminaListaC(PNo *l, TInfo *dado)   {     PNo p, q;     if (*l) {         p = *l;         if (p->prox == p) {             *l = NULL;         } else {             q= *l;             while(q->prox != *l)             {                 q = q->prox;             }             q-> prox = p->prox;             *l = p->prox;         }          *dado = p->info;         free(p);         return 1;     } else {    

MOSTRAR UMA STRING DE TRÁS PARA A FRENTE

Este é um programa em que o usuário ao digitar uma string, o programa vai imprimir essa string de trás pra frente , ou seja, a string será mostrada ao contrário. Observação : Se você quiser ver esse código em Linguagem Python, veja o 6º exercício  desta lista de exercícios Código-fonte #include <stdio.h>  /*Arquivo cabeçalho que contém a função printf()*/ #include <string.h>   / *Arquivo cabeçalho que contém as funções para manipulação de strings como,strlen,strcmp,etc. */ int main() { char strings[200]; int i, tamanho;  printf( "Digite uma string: " );  fgets(strings,200,stdin); tamanho = strlen(strings);  printf( "A string invertida : " );    for(i=tamanho; i>=0; i--)       {        printf ( "%c" ,strings [i] );       }  return 0; } Explicações : strlen é uma função que retorna o tamanho da string digitada ; Em char strings[200] ,declaramos uma string de nome strings com 200 caracteres,mas como uma

O QUE É A LINGUAGEM C ?

A linguagem C é uma linguagem de programação de propósito geral, estruturada, compilada e imperativa criada em 1972 por  Dennis Ritchie . Ela foi criada  e implementada por Dennis Ritchie em um DEC PDP-11 que utilizava o sistema operacional Unix.  A linguagem C é de Propósito Geral porque pode ser usada em muitíssimas coisas : criação de softwares para sistemas embarcados, melhorar o desempenho de um hardware(em termos de desempenho é a melhor linguagem),  criar drivers, monitorar um endereço ip ou para criar um servidor TCP/IP usando sockets por exemplo. Enfim, quando se trata de C, a imaginação é o limite; Ela é Compilada porque precisa de um compilador que converte o programa para um código em linguagem de máquina; É Estruturada porque todos os programas desenvolvidos em C podem ser reduzidos em apenas três estruturas: sequência, decisão e repetição. O conceito de Programação Estruturada foi desenvolvido por Michael A. Jackson no livro Principles of Program Design ; É Imperati

Conteúdo de uma variável - Programação em Linguagem C

Por que o conteúdo de uma variável é perdido ao ser armazenado um novo dado? Olha, a explicação é simples...   O conteúdo é perdido porque em programação de computadores, uma variável é um endereço simbólico da memória RAM que é usado para guardar um valor que pode ser modificado pelo programa. Veja esse exemplo : a variável idade recebe um primeiro número e depois um segundo número, mas como os dois valores não podem ocupar o mesmo espaço de memória(endereço) , o valor anterior é desalocado(removido); #include <stdio.h> int main()  { int numero=5; /*numero recebe 5*/     numero=10;    /*numero recebe 10*/     printf( "\n\n Valor da variavel ' numero ' = %d " ,numero);   return 0; } 

O QUE É O BUFFER OVERFLOW?

Afinal , o que é o buffer overflow? ou estouro de buffer  -  transbordamento de dados  e que tipo de cuidados devo ter? O  buffer overflow ou  estouro de buffer é um ato de violação de segurança da memória que ocorre   quando de alguma maneira é inserido mais dados de entrada do que o tamanho esperado pelo seu programa causando um estouro de memória . Suponhamos que eu  defina uma vetor de string de tamanho 120 e um usuário/hacker tente inserir 190 caracteres. Dessa forma,  c aso eu não utilize uma função que limita o tamanho a ser recebido,  o meu programa vai estar estourando o buffer desta variável, permitindo sobrescrever a memória do meu Sistema Operacional, ou seja, os caracteres além dos 119 já que o caractere 120 é por regra o caractere nulo, deverão ser escritos em uma área reservada para outra coisa. Por isso, sempre que escrevemos um programa em C, devemos evitar o uso de qualquer função que não limita o número de caracteres a serem lidos. Lembre-se, o buffer é

A ORDENAÇÃO BOLHA - BUBBLE SORT - LINGUAGEM C

Afinal, o que é ordenação em linguagem  C? Em C, ordenação é o processo de arranjar um conjunto de informações semelhantes numa ordem crescente ou decrescente.  A linguagem C possui vários algoritmos de ordenação como : Bolha ou Bubble Sort – Troca simples. Shake sort – Troca alternada; Shell sort; Heapsort – Árvore; Quicksort, etc. A ordenação Bolha - Bubble Sort O algoritmo ou método de ordenação Bubble sort percorre o vetor diversas vezes de maneira sequencial (passos), e a cada passagem compara cada elemento do vetor com o seu sucessor (elemento[índice] com elemento[índice+1]) e troca o conteúdo das posições em análise, caso não estejam ordenados da maneira esperada.  Exemplo: Aqui está o código-fonte para entendermos como funciona o algoritmo de ordenação Bubble sort. O programa foi compilado e executado com sucesso usando o compilador Dev C++, no ambiente Windows.  #include <stdio.h> #include <string.h> void bolha(char *item, int total_el