Раздел: Задачи / Простейшие /

Как определить порядковый номер символа

Основы программирования 2.0 Основы программирования
Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее...

Условие задачи 6.1.2.29

Задача 6.1.2.29
Ввести любой символ и определить его порядковый номер, а также указать предыдущий и последующий символы.

Эту задачу нашёл в одном из учебников, и, честно говоря, не совсем понял её условие. А именно - что такое “порядковый номер символа”? Это его ASCII-код или это его номер в алфавите?

Впрочем, если исходить из того, что символом может быть не только буква (а в задаче сказано, что надо ввести любой символ), то я всё-таки склоняюсь к тому, что автор задачи имел ввиду именно код символа. Ну что же, так и будем думать. Тем более что функция Ord, с помощью которой можно определить код символа, называется так, потому что является сокращением от слова Order (порядок).

Ну что же, задачка для начинающих, поэтому и помещена в раздел “простейшие”. Решать будем так:

  1. Получаем символ от пользователя.
  2. Определяем его КОД с помощью упомянутой выше функции.
  3. Получаем числа КОД-1 и КОД+1, которые будут являться кодами предыдущего и последующего символов соответственно.
  4. Преобразуем эти числа-коды в символы.
  5. Выводим итог на экран.

Примеры на Паскале и С++ см. ниже.

Решение задачи 6.1.2.29 на Паскале
 
program mytask;

//****************************************************************
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ
//****************************************************************
var
  SimChar : Char;
  SimCode : Byte;

//****************************************************************
// ОСНОВНАЯ ПРОГРАММА
//****************************************************************
begin
  Write('Enter any character and press ENTER: ');
  ReadLn(SimChar);
  SimCode := Ord(SimChar);
  WriteLn(SimChar, ' (', SimCode, ')');
  WriteLn('Previous character: ',
          Chr(SimCode-1),
          ' (', SimCode-1, ')');
  WriteLn('Next character: ',
          Chr(SimCode+1),                                                                   ' (', SimCode+1, ')');
  WriteLn('The end. Press ENTER...');
  ReadLn;  
end.
Решение задачи 6.1.2.29 на С++
#include <cstdlib>
#include <iostream>

using namespace std;

//****************************************************************
// ОСНОВНАЯ ПРОГРАММА
//****************************************************************
int main(int argc, char *argv[])
{
  char SimChar;
  int SimCode;
  
  cout << "Enter any character and press ENTER: ";
  cin >> SimChar;
  SimCode = int(SimChar);
  cout << SimChar << " (" << SimCode << ")" << endl;
  cout << "Previous character: " <<
          char(SimCode-1) <<
          " (" << SimCode-1 << ")" << endl;
  cout << "Next character: " <<
          char(SimCode+1) <<
          " (" << SimCode+1 << ")" << endl;   
  
  system("PAUSE");
  return EXIT_SUCCESS;
}

Как определить порядковый номер символа


Как стать программистом 2.0 Как стать программистом 2.0

Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее...
Помощь в технических вопросах Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика