Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмизация и программирование. Учебное пособие для студентов направления подготовки 09.03.02 Информационные системы и технологии

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

Рис 86. Программный код задачи 27

Результат реализации программы для предложения «Life is good» на рис. 87:

Рис 87. Результат решения задачи 27

Задача 28. Проверьте, является ли входное слово палиндромом. Проверку осуществить на словах, записанных английскими буквами.

(Тест. Проверить слова: level и live).

Математическая модель и описание алгоритма решения. Пользователю необходимо ввести слово. С помощью функции check_polindrom описываем проверку совпадения букв в слове: первой и последней, второй и предпоследней и т.д. Затем когда пользователь вводит слово, вызов функции check_polindrom проверяет, является слово палиндромом или нет.

111

Текст программы к задаче 28.

------------------------------------------------------------------------------------------------

#include <iostream> #include <cstring>

using namespace std;

bool check_polindrom(string word)

{

int len = word.length(); for (int i = 0; i < len/2; ++i)

{

if (word[i] != word[len-i-1])

{

return false;

}

}

return true;

}

int main()

{

string str;

cout << " Enter a word: "; cin >> str;

if (check_polindrom(str))

{

cout << " The word is a palindrome.";

}

else

{

cout << " The word is not a palindrome";

}

return 0;

}

------------------------------------------------------------------------------------------------

В компиляторе языка С++ этот компьютерный код представлен на рис. 88.

112

Рис 88. Программный код задачи 28

Результат реализации программы для слова «level» на рис. 89:

Рис 89. Результат решения задачи 27

Результат реализации программы для слова «live» на рис. 90:

Рис 90. Результат решения задачи 27

113

Приложение 1

Описание ключевых слов в С/С++

Ключевое

Описание

Страница

слово

 

 

 

стандартизированный набор из 128 символов и их соответст-

 

ASCII

вующих числовых кодов для представления текста в компью-

106

 

терах и других устройствах

 

 

 

 

auto

ключевое слово для автоматического вывода типа данных

100

компилятором

 

 

 

 

 

break

ключевое слово в циклах для досрочного выхода

57, 65, 72

 

 

 

case

определенная ветка в операторе ветвления

55 – 57

 

 

 

char

объявление символьной переменной

28, 37

 

 

 

cin

оператор для получения данных от пользователя

30, 39

 

 

 

class

ключевое слово для определения пользовательского типа дан-

38

ных — класса

 

 

 

 

 

const

объявление неизменяемых объектов или переменных

25

 

 

 

continue

оператор, который используется в циклах для пропуска ите-

72

рации

 

 

 

 

 

cout

оператор для вывода текста и значений переменных

30, 39

 

 

 

default

вариант по умолчанию в case

56, 57

 

 

 

define

директива для создания макроподстановок – текстовых замен

29

в коде программы

 

 

 

 

 

 

цикл с постусловием, в котором логическое выражение, опре-

 

do while

деляющее повторение цикла, проверяется после выполнения

65, 70

 

операторов тела цикла

 

 

 

 

double

объявление вещественного числа двойной точности

28, 31, 37

 

 

 

else

ветка оператора if, которая выполняется при ложном условии

50, 55

 

 

 

enum

тип данных, множество значений которого является ограни-

28, 38

ченным списком идентификаторов

 

 

 

 

 

114

 

Окончание прил. 1

 

 

 

Ключевое

Описание

Страница

слово

 

 

float

объявление вещественной переменной

28, 31, 37

 

 

 

 

оператор цикла с параметром (счетчиком), используется в

 

for

случае, когда известно точное количество повторов вычисле-

65

 

ний

 

 

 

 

getline

Функция для считывания строки из входного потока (файла

106

или стандартного ввода cin)

 

 

 

 

 

goto

безусловный переход

74

 

 

 

if

оператор условия

50

 

 

 

int

объявление переменной целого типа

27, 37

 

 

 

include

директива для включения содержимого файла в программу во

29

время компиляции

 

 

 

 

 

main

функция, которая является точкой входа в программу

26, 28

 

 

 

return

оператор для возвращения данных после выполнения работы

75

функции

 

 

 

 

 

sizeof

возвращение размера переменной или типа

85

 

 

 

 

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

 

std

вводом/выводом, алгоритмами и другими структурами дан-

30

 

ных

 

 

 

 

string

класс для работы с текстовой информацией

106

 

 

 

switch

Конструкция для обработки множественных условий

55

 

 

 

unsigned

объявление беззнакового целого

27, 40

 

 

 

using

ключевое слово для различных целей: объявление имен, соз-

30

дание псевдонимов для сложных типов данных и т.д.

 

 

 

 

 

void

объявление функции или переменной без типа

27, 28

 

 

 

 

цикл с предусловием, в котором логическое выражение, опре-

 

while

деляющее повторение цикла, проверяется до выполнения опе-

65, 69

 

раторов тела цикла

 

 

 

 

115

Приложение 2

Заголовочные файлы языка С/С++

В приложении 2 приведен список заголовочных файлов, используемых в языке C++. В скобках указаны старые версии этих файлов.

Заголовочный файл

 

 

Описание

cassert (assert.h)

Заголовочный файл, содержащий макросы используемые для ди-

агностики, помогающей при отладке программы.

 

 

 

cctype (ctype.h)

Заголовочный файл содержит прототипы функций для обработки

символов.

 

 

 

 

 

 

 

 

 

 

 

 

cfloat (float.h)

Заголовочный

файл,

описывающий

различные характеристики

типов с плавающей точкой.

 

 

 

 

 

climits (limits.h)

Заголовочный файл, содержащий предельные величины для це-

лых чисел для данной системы.

 

 

 

 

 

 

 

 

cmath (math.h)

Заголовочный

файл,

содержащий

прототипы математических

функций (sin, cos, tan, pow, sqrt и т. д.)

 

 

 

cstdio (stdio.h)

Заголовочный файл для выполнения операций ввода/вывода.

 

 

 

Стандартный заголовочный файл, содержит функции для преоб-

cstdlib (stdlib.h)

разования чисел в текст, выделения памяти, генерации случайных

 

чисел и др. функций-утилит

 

 

 

 

 

cstring (string.h)

Заголовочный

файл

для работы со строками (нуль-

терминированными)

 

 

 

 

 

 

 

ctime (time.h)

Заголовочный файл для работы с датой и временем

 

 

 

 

 

116

СПИСОК ЛИТЕРАТУРЫ

1.Голицына, О. Л. Основы алгоритмизации и программирования : учебное пособие /

О.Л. Голицына. – Москва : ФОРУМ, 2008. – 432 с. - Текст : непосредственный.

2.Информатика. Базовый курс : учебник для вузов / под редакцией С. В. Симоновича

Изд. 3-е, перераб. и доп. – Санкт-Петербург : Питер, 2011. – 640 с. - Текст : непосредственный.

3.Керниган, Б. Язык программирования Си / Б. Керниган, Д. Ритчи. – СанктПетербург, 2012. – 352 с. - Текст : непосредственный.

4.Колдаев, В. Д. Основы алгоритмизации и программирования : учебное пособие / В. Д. Колдаев ; под редакцией профессора Л. Г. Гагариной. – Москва : ИД ФОРУМ :

ИНФРА-М, 2006. – 416 с. - Текст : непосредственный.

5. Павловская, Т. А. C/C++. Программирование на языке высокого уровня /

Т.А. Павловская. – Санкт-Петербург : Питер, 2014. – 461 с. - Текст : непосредственный.

6.Панова, Т. В. Основы алгоритмизации и программирования на языке высокого уровня Си : учебно-практическое пособие / Т. В. Панова, Н. Д. Николаева. – СанктПетербург : Балт. гос. техн. ун-т, 2015. – 176 с. - Текст : непосредственный.

7.Пацей, Н. В. Основы алгоритмизации и программирования : учебно-методическое

пособие для студентов специальности «Информационные системы и технологии» / Н.

В.Пацей. – Минск : БГТУ, 2010. – 289 с. - Текст : непосредственный.

8.Петров, В. Ю. Информатика. Алгоритмизация и программирование : учебное пособие. Ч. 1 / В. Ю. Петров. – Санкт-Петербург : Университет ИТМО, 2016. – 91 с. - Текст : непосредственный.

9.Трофимов, В. В. Основы алгоритмизации и программирования : учебник для СПО /

В.В. Трофимов, Т. А. Павловская ; под редакцией В. В. Трофимова. – Москва : Издательство Юрайт, 2019. – 137 с. - Текст : непосредственный.

117

Учебное издание

Котова Ольга Викторовна, кандидат физико-математических наук, и.о. заведующего кафедрой информационных систем и технологий ФГБОУ ВО «ДОННАСА»

Скидан Юлия Витальевна, ассистент кафедры информационных систем и технологий ФГБОУ ВО «ДОННАСА»

АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ

учебное пособие для студентов направления подготовки

09.03.02 Информационные системы и технологии

118

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]