Семинар 2 вариант 9 (1170108)
Текст из файла
НИУ МЭИ
ИДДО
«Программирование и основы алгоритмизации 2/2»
Вариант № 9
Семинар № 2
Выполнил: Зяблов Евгений Игоревич
группа ИД-02135-18
Задание 1
Выполните свой вариант задания (с Вашим номером по списку группы) из раздела 2. Отчет по выполнению задания делайте по образцу примера 1 §2.1.3 лекции 2. Обратите внимание, что отчет должен содержать блок схему-алгоритма.
Условие
Определить, содержит ли букву А первое слово заданного текста.
Состав данных
Имя | Смысл | Тип | Структура |
Исходные данные | |||
str | Строка | целый | Одномерный массив |
Промежуточные данные | |||
b | Флаг | Логический | простая переменная |
Блок-схема алгоритма
Программа на С++
#include <Windows.h>
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
int main() {
setlocale(0, "");
char str[255];
bool b = false;
cout << "Введите текст" << endl;
cin >> str;
//проверка первого слова строки на наличие английской буквы А
for (int i = 0; str[i] != ' ' && str[i] != '\0' && str[i] != '\n'; i++) {
if (str[i] == 'A' || str[i] == 'a') {
b = true;
}
}
if(b)
cout << "Первое слово содержит букву А" << endl;
else
cout << "Первое слово не содержит букву А" << endl;
return 0;
}
Условие
Проверить, является ли последовательность А правильным скобочным выражением. Учесть расстановку круглых, квадратных и фигурных скобок.
Состав данных
Имя | Смысл | Тип | Структура |
Исходные данные | |||
str | Строка | целый | Одномерный массив |
Промежуточные данные | |||
round | Счетчик круглых скобок | целый | простая переменная |
square | Счетчик квадратных скобок | целый | простая переменная |
figure | Счетчик фигурных скобок | целый | простая переменная |
einhorn | Результат | логический | простая переменная |
Выходные данные | |||
einhorn | Результат | логический | простая переменная |
Блок-схема алгоритма (функции)
Программа на С++
#include <Windows.h>
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
bool checkString(char* str) {
int round = 0;
int square = 0;
int figure = 0;
bool einhorn = true;
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] == '(')
round++;
if (str[i] == '[')
square++;
if (str[i] == '{')
figure++;
if (str[i] == ')')
round--;
if (str[i] == ']')
square--;
if (str[i] == '}')
figure--;
if (round < 0 || square < 0 || figure < 0)
einhorn = false;
}
if (round != 0 || square != 0 || figure != 0)
einhorn = false;
return einhorn;
}
int main() {
setlocale(0, "");
char *str = new char[255];
cout << "Введите строку" << endl;
cin >> str;
if (checkString(str))
cout << "Строка является правильной скобочной последовательностью" << endl;
else
cout << "Строка не является правильной скобочной последовательностью" << endl;
return 0;
}
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.