ГлавнаяИнформатика → Контрольная, Информатика Решить

Контрольная, Информатика Решить

Задание

1. Теоретические вопросы контрольной работы

 

Часть 1. Основы информатики

 

  1. Цель, предмет и задачи курса "Информатика". Информационные ресурсы, продукты и услуги. Правовое регулирование на информационном рынке.
  2. Информация и информационные технологии. Понятие информации, ее измерение, количество и качество информации. Виды и свойства информации.
  3. Общая характеристика процессов сбора, передачи, обработки и накопления информации.
  4. Формы и способы представления информации. Сигналы: кодирование и квантование сигналов. Системы счисления. Таблицы кодировки данных.
  5. ЭВМ как исполнитель алгоритмов: структура, принципы функционирования, основные характеристики, история развития.
  6. Базовая аппаратная конфигурация персонального компьютера. Состав и назначение основных элементов персонального компьютера. Периферийные устройства.
  7. Понятие и основные виды архитектуры ЭВМ, их характеристики. Центральный процессор, системные шины. Оценка производительности ЭВМ.
  8. Запоминающие устройства: классификация, принцип работы, основные характеристики. Системная память. Внешняя память.
  9. Устройства ввода/вывода данных, данных, их разновидности и основные характеристики. Координатные устройства ввода. Видео- и звуковые адаптеры.
  10. Клавиатура. Основные группы клавиш и их назначение.
  11. Представление информации в ЭВМ. Таблицы кодировки данных. Единицы измерения данных.
  12. Программное обеспечение ПЭВМ и его виды.
  13. Операционные системы, их назначение и основные функции.
  14. Операционная система MS-DOS. Ее назначение и основные команды.
  15. Операционная система, система управления работой пользователей, командные языки.
  16. Работа с файлами и каталогами (создание, редактирование, копирование, переименование, удаление и т.д.) в WINDOWS.
  17. Служебные программы WINDOWS. Их назначение и возможности. Драйверы внешних устройств.
  18. Виды компьютерной преступности и защита информации в АИС.
  19. Организация многоуровневой защиты информации от несанкционированного доступа.
  20. Компьютерные вирусы и защита от них.
  21. Теоретические основы сжатия данных. Обратимость сжатия. Алгоритмы сжатия.
  22. Требования к средствам сжатия данных. Классификация программ сжатия. Назначение и способы архивации файлов программой WINZIP (WINRAR).
  23. Локальные и глобальные компьютерные сети. Назначение компьютерных сетей. Протоколы.
  24. Модель взаимодействия в системах компьютерной связи. Особенности виртуальных соединений.
  25. Интернет. Протокол ТСРЛР.
  26. Службы Интернета: терминальный режим, электронная почта, списки рассылки, служба телеконференций, служба WWW и т.д.

 

Часть 2. Офисные приложения

 

  1. Обработка текстовой информации на ЭВМ. Основные элементы текста. Назначение, особенности, функциональные возможности текстового процессора Word.
  2. Окно процессора Word. Меню WORD. Ввод, корректировка, сохранение, загрузка текста в редакторе WORD.
  3. Виды фрагментов текста в редакторе WORD и операции над ними: вставка, удаление, форматирование, изменение шрифта.
  4. Назначение многооконного режима работы в редакторе WORD. Разделение текста на страницы, предварительный просмотр и печать документов в редакторе WORD.
  5. Подготовка и форматирование комплексных документов при помощи текстового процессора: таблицы, формулы, рисунки.
  6. Назначение и реализация контекстного поиска и замены в редакторе WORD.
  7. Создание составных документов в редакторе WORD. Обмен данными. OLE-технология.
  8. Назначение, возможности, основные команды табличного процессора EXCEL. Применение табличного процессора EXCEL для обработки статистических данных.
  9. Классификация стандартных функций в EXCEL. Статистические функции EXCEL.
  10. Сортировка табличных данных в EXCEL. Виды диаграмм и их построение в EXCEL.
  11. Сводные таблицы в EXCEL. Консолидация данных.
  12. Средства анализа данных в электронных таблицах. Подбор параметра. Поиск решения.
  13. Основные понятия систем управления базами данных и систем искусственного интеллекта.
  14. Базы данных и их классификация. Модели баз данных.
  15. Понятие информационного объекта. Структурные элементы базы данных. Свойства полей БД. Типы данных.
  16. Проектирование реляционных баз данных. Классификация бинарных связей.
  17. Нормализация отношений в реляционных базах данных.
  18. Функциональные возможности СУБД. Типы объектов БД на примере СУБД Microsoft Access. Безопасность баз данных.
  19. Интеграция таблиц данных в базе данных. Назначение связей между таблицами в базе данных.
  20. Работа с запросами в СУБД MicroSoft Access.
  21. Работа с формами и отчетами в СУБД MicroSoft Access.
  22. Виды презентаций. Этапы и средства создания презентаций. Общие сведения о программе подготовки презентаций MS PowerPoint.
  23. Редактирование презентации. Работа со слайдами. Создание специальных эффектов. Подготовка и демонстрация презентации.
  24. Программы компьютерной графики и анимации.
  25. Основные способы представления графических изображений: растровая и векторная графика. Форматы графических файлов.
  26. Основы защиты информации и сведений, составляющих государственную тайну; методы защиты информации.
  27. Информационная безопасность и ее составляющие.
  28. Защита информации в локальных и глобальных компьютерных сетях.
  29. Понятие государственной и коммерческой тайны. Юридические основы информационной безопасности.
  30. Основные методы реализации угроз информационной безопасности. Типичные приемы атак на локальные и удаленные компьютерные системы.
  31. Критерии защищенности средств компьютерных систем.
  32. Основы противодействия нарушению конфиденциальности информации.
  33. Методы разграничения доступа. Криптографические методы защиты данных. Электронная подпись.
  34. Методы шифрования данных.

 

Часть 3. Моделирование, алгоритмизация, программирование

 

  1. Модели решения функциональных и вычислительных задач. Основные понятия.
  2. Системный подход в моделировании. Классификация видов моделирования.
  3. Математические модели. Построение математической модели системы.
  4. Средства автоматизации инженерных и научных расчетов.
  5. Методы и технологии моделирования. Информационная модель объекта.
  6. Информационные модели. Моделирование информационных процессов. Унифицированный язык моделирования UML.
  7. Основные этапы решения задачи с помощью ЭВМ и их характеристика.
  8. Понятие алгоритма и алгоритмической системы, свойства алгоритма. Проектирование алгоритмов.
  9. Иерархическое проектирование алгоритмов. Способы представления алгоритмов. Структурные базовые элементы: "следование", "ветвление", "цикл". Построение блок-схем алгоритмов.
  10. Основные этапы разработки программы и их характеристика. Понятия компилятора, интерпретатора, транслятора, загрузчика, отладчика.
  11. Этапы разработки программного обеспечения. Интегрированные среды программирования.
  12. Языки  программирования и их классификация. Эволюция языков программирования.
  13. Сравнительная характеристика процедурного программирования, объектно-ориентированного программирования, обобщенного программирования.
  14. Инструменты комплексной среды разработки приложений Visual Studio .NET C++ и их назначение. Создание, открытие, просмотр, редактирование, сохранение, компиляция и отладка приложений на C++ в среде Visual Studio .NET.
  15. Структура программы на C++. Комментарии в языке C++.
  16. Препроцессор C++ и файл iostream. Консольный ввод/вывод. Приведите примеры.
  17. Вывод данных в языке C++ с использованием объекта cout. Символ новой строки. Применение объекта cin. Приведите примеры.
  18. Операторы объявления и переменные. Правила создания идентификатора. Приведите примеры.
  19. Классификация базовых типов данных C++. Представление данных. Приведите примеры.
  20. Типы данных с плавающей точкой. Запись чисел с плавающей точкой. Приведите примеры.
  21. Оператор присваивания. Арифметические выражения и математические функции C++. Приведите примеры.
  22. Функции и их разновидности. Приведите примеры.
  23. Целочисленные типы данных. Типы данных short, int и long. Типы данных без знака. Целочисленные константы. Приведите примеры.
  24. Квалификатор const. Определение типа константы в языке C++. Приведите примеры.
  25. Цикл for. Изменение шага цикла. Операторы инкремента (++) и декремента (--). Комбинированные операторы присваивания. Приведите примеры.
  26. Составные операторы или блоки. Цикл while. Операторы break и continue. Приведите примеры.
  27. Цикл do while. Сравнение циклов for, while и do while. Приведите примеры.
  28. Булевы переменные и константы. Логические выражения и операции. Альтернативные представления логических операций. Напишите таблицу истинности. Приведите примеры.
  29. Операции отношения. Условные операторы. Оператор goto. Определение диапазонов с помощью операции &&. Приведите примеры.
  30. Классификация операций и их приоритеты. Приведите примеры.
  31. Оператор switch. Сравнение операторов switch и if else. Приведите примеры.
  32. Составные типы данных. Массивы. Правила инициализации массивов. Способы поиска минимальных (максимальных) элементов в массиве. Приведите примеры.
  33. Тип данных char: символы и малые целые числа. Строки. Способы ввода строковых значений. Приведите примеры.
  34. Обработка матрад в C++. Способы ввода-вывода матриц. Приведите примеры.
  35. Основные стандартные библиотеки C++. Приведите примеры.
  36. Работа с файлами в C++: чтение, запись, добавление данных. Приведите примеры.
  37. Концепции объектно-ориентированного программирования: объекты, классы, абстракция, инкапсуляция, полиморфизм, наследование, агрегирование.
  38. Создание нового класса в среде Visual Studio .NET C++.
  39. Виртуальные методы и классы.

 

2. Практические задания для контрольной работы 

 

2.1. Выполнение инженерных расчетов с помощью математической системы MathCAD

Задание 1. Построить график функции f(x), используя аналитическое и табличное задание функции, и вычислить значение функции f(x) в точках x0 = N, x1 = F.

 

10.

Задание 2. Вычислить предел числовой последовательности, графически показать к чему стремиться числовая последовательность при .

 

10.

 

Задание 3. Вычислить предел функции и построить её график, найти значение предела функции при стремлении к  слева и справа:

 

10.

 

 

Задание 4. Найти сумму ряда при x = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, построить график функции при x=1, 2, 9:

 

10.

 

Задание 5. Вычислить сумму ряда с точностью a, сформировать и вывести на экран массив значений ряда Mn, где n=10.

 

10. , a=0,01

 

Задание 6. Найти производную функции  (a=F, где F  - позиция первой буквы Вашей фамилии в русском алфавите) и построить графики функций и  в одной системе координат.

 

 

10.

 

Задание 7. Найти неопределённый интеграл, вычислить значение интеграла при заданных пределах интегрирования: верхний предел F, нижний предел 1. Построить график подынтегральной функции f(x) в заданных пределах интегрирования.

 

 

10.

 

Задание 8. Даны матрица A и B (таблица 1).

a)         Транспонировать матрицы A и B.

b)         Вывести на экран значение элемента a11, a23 и b3; 1 и 3 столбец матрицы А; 1 и 2 строку матрицы А. Создать матрицу А1 - часть матрицы А, ограниченную 1 и 3 строкой, 1 и 3 столбцом. Создать матрицу А2 - часть транспонированной матрицы А, ограниченной 1 и 2 строкой, 1 и 2 столбцом. Образовать новые матрицы путем слияния элементов матриц А1 и А2 слева на право и сверху вниз.

c)         Найти сумму всех элементов матриц А и B, сумму элементов, стоящих на главной диагонали матрицы А1.

d)         Создать матрицу С=N×A+F.

e)         Найти сумму матриц С+А. Создать матрицу А3, путем слияния элементов матрицы А1 и 3 строки транспонированной матрицы А. Найти произведение матриц А×А3.

f)          Найти модуль вектора B. Найти скалярное и векторное произведение двух векторов, составленных из элементов  первой и второй строки  транспонированной матрицы А.

g)         Пересортировать элементы вектора, составленного из первой строки транспонированной матрицы А, в обратном порядке относительно их позиций. Отсортировать элементы данного вектора в порядке их возрастания. Отсортировать строки матрицы А в порядке возрастания элементов второго столбца.  Отсортировать столбцы матрицы А в порядке возрастания элементов первой строки.

h)         Посчитать количество строк и столбцов в матрице А, число элементов вектора В. Создать матрицу

i)           Создать матрицу . Найти определитель матрицы D, её ранг, обратную матрицу D-1.

j)           Найти нормы матрицы D в пространстве L1, L2 и эвклидову норму.

 

Таблица 1

варианта

А

B

10

 

Задание 9. Даны матрица А и вектор  (таблица 2). Считая вектор  вектором неизвестных, выписать систему уравнений .

а) Вычислить определитель матрицы А и убедиться, что матрица А не вырождена, т.е. det(A)¹0. Найти обратную матрицу А-1. Решить неоднородную систему  и проверить правильность решения системы уравнений.

b) Найти вектор-решение с помощью вычислительного блока MathCAD Given/Find.

с) Найти вектор-решение с помощью функции MathCAD  lsolve. Сравнить полученные результаты.

 

Таблица 2

 

варианта

А

10.

 

2.2. Разработка прикладных программ на языке С++

 

Задание 10. Программирование функций. В соответствии с Вашим вариантом напишите и отладьте программу для вычисления значения функции, предусмотрев вывод на экран сообщения о том, что введённое значение x не принадлежит области определения функции. При составлении программы используйте схему алгоритма с разветвляющейся структурой. Для расчёта значения функции f(x) создайте собственную функцию my_f(x). В качестве параметра функции my_f(x) использовать введённое с клавиатуры значение x=x0.

Варианты заданий:

10.

 

2.3.2. Программирование алгоритмов обработки массивов информации, содержащих результаты научного эксперимента.

 

 

 

 

 

 

Задание 11. В соответствии с Вашим вариантом необходимо разработать программу, позволяющую выполнить над элементами массива действия, определяемые индивидуальным заданием:

        10. Дана целочисленная матрица M размером mxn; упорядочить  (переставить) столбцы матрицы по невозрастанию максимальных элементов столбцов  матрицы. Разрешается использовать дополнительный массив.

2.3.3. Поиск и обработка информации, представленной в виде структуры данных

 

Задание 12. В соответствии с Вашим вариантом необходимо разработать программу, позволяющую выполнить над элементами массива действия, определяемые индивидуальным заданием:

          10  Заданы двумерный (A[ ]) и одномерный (B[ ]) массивы целых чисел. Напишите программу, которая определит сколько элементов массива B[ ] входят в массив A[ ].

 

 

Задание 13. В соответствии с Вашим вариантом опишите структуру для хранения заданной информации:

  • Вид наряда (не более 20 символов).

10. Описать структуру с именем KNIGA, содержащую следующие поля:

  • Фамилия автора (не более 20 символов);
  • Название книги (не более 25 символов);
  • Издательство (не более 15 символов);
  • Год издания;
  • Количество страниц.

 

 

Задание 14. В соответствии с Ваши вариантом напишите программу, выполняющую следующие действия над описанной ранее структурой данных:

10. Вывод информации о книгах автора, чья фамилия введена с клавиатуры. Если книг введенного автора нет, вывести соответствующие сообщение.

 

ВАРИАНТЫ ЗАДАНИЙ

 

вар.

Теор. воп-росы

Практические задания

Задание 1

Задание 2

Задание 3

Задание 4

Задание 5

Задание 6

Задание 7

Задание 8

Задание 9

Задание 10

Задание 11

Задание 12

Задание 13

Задание 14

0

20,53,86

10

10

10

10

10

10

10

10

10

10

10

10

10

10

Приложение A

 

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

 

 

 

1. Выполнение инженерных расчетов с помощью математической системы MathCAD

 

Задание 1. Построить график функции f(x), используя аналитическое и табличное задание функции, и вычислить значение функции f(x) в точках x0 = 16, x1 = 6.

1 sposob -analitichesky

2 sposob - tablichny, pri t>2

 

- diapazon izmeneniay indeksa

- znachenie argumenta

- znacheniy funkcii pri x=16

- znacheniy funkcii pri x=6

Znachenie funkcii pri

ravno

Задание 2. Вычислить предел числовой последовательности, графически показать к чему стремиться числовая последовательность при .

                 

 

 

 

 

 

 

 

 

 

 

 

Задание 3. Вычислить предел функции и построить её график, найти значение предела функции при стремлении к  слева и справа:

 

                                         

 

 

 

 

Задание 4. Найти сумму ряда при x = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, построить график функции при x=1, 2, 9:

 

                             - diapazon argumenta x

 

- grafik funkcii y(n)= 

 pri x=1, 2, 9

 

 

- summa 40 pervyh chlenov rayda pri razlichnyh znacheniayh argumenta x

 

 

Задание 5. Вычислить сумму ряда с точностью a, сформировать и вывести на экран массив значений ряда Mn, где n=10.

 

a)

- zadanny rayd

 - tochnost' vychisleniay   summy

 

 

- znachenie summy rayda

 

b)  - diapazon izmeneniay indexsa massiva

- 10 peryh chlenov

rayda  

 

 

Задание 6. Найти производную функции  (a=F, где F  - позиция первой буквы Вашей фамилии в русском алфавите) и построить графики функций и  в одной системе координат.

 

     -   proizvodnaya funcii y(t)

Задание 7. Найти неопределённый интеграл, вычислить значение интеграла при заданных пределах интегрирования: верхний предел F, нижний предел 1. Построить график подынтегральной функции f(x) в заданных пределах интегрирования.

- vychislenie znacheniy neopredelennogo i opredelennogo integrala

 

 

Proverka

 

 

 

 

 

 

Задание 8. Даны матрица A и B.

a)

- transonirovannay matrica A

 

- transonirovannay matrica B

 

 

 

b)

- element a11 matricy A

 

- element a23 matricy A

 

- element b3 matricy B

 

- 1 i 3 stolbcy matricy A

- 1 stroka matricy A

 

- 2 stroka matricy A

 

- chast' matricy A, ogranichennay 1 i 2 strokoy, 2 i 3 stolbcom

 

- chast' transponirovannoy matricy A, ogranichennay 1 i 2 strokoy, 1 i 2 stolbcom

 

- matrica, obrazovannay sliayniem argumentov matric A1 i A2

sleva na pravo

 

- matrica, obrazovannay sliayniem argumentov matric A1 i A2

sverhy vniz

 

c)

      - symma vseh elementov matricy A

 

       - symma vseh elementov matricy B

 

   - summa elementov glavnoy diagonali matricy A1

 

d)

e)

- slogenie matric

 

- umnogenie matric

f)

- modul' vectora

 

     - scalayrnoe proizvedenie dvuh vectorrov

 

- vectornoe proizvedenie dvuh vectorov

 

g)

- peresortirovka elementov vektora v obratnom poraydke otnositel'no ih pozicii

 

- sortirovka vektora v poraydke vozrastaniay elementov

 

 

- sortirovka strok matricy A po vozrastaniu elementov 2 stolbca

 

- sortirovka stolbcov matricy A po vozrastaniu elementov 1 stroki

h)

- chislo strok

 

- chislo stolbcov

 

- chislo elementov vektora

 

i)

- kvadratnay matrica

 

    - opredelitel' matricy D

   - rang matricy D

 

   - obratnay matrica

 

- proverka

 

Задание 9. Даны матрица А и вектор .

a)

- opredelitel' matricy A

 

- obranay matrica

 

   - reshenie systemy yravneniy

 

Proverka

 

 

b)

                             

 - systema lineynyh yravneniy

- reshenie systemy yravneniy

 

c)

      - reshenie systemy yravneniy

 

Задание 10. Листинг П. 1

 

include "stdafx.h"

#include <iostream>

#include "math.h"

double my_g (double);

int main()

{

using namespace std;

 double x;

 cout << "Vvedite x=";

 cin >> x;

 if ((2*x+2<0) || (x==2)) cout << "x=" << x <<" ne vhodit v ODZ funkcii y(x)\n";

         else           cout <<"Pri x="<< x <<" y="<< my_g(x) <<endl;

      return 0;

}

double my_g (double x0)

{

double y=sqrt(2*x0+2)*cos(x0)-log(4*x0*x0+3)/(x0-2);

return y;  }

Результаты работы программы П. 1 представлены на рис. 1.

 

 

 

Рис. 1. Результаты работы программы П. 1

 

Задание 12. Задан двумерный массив целых чисел A[n][n] (квадратная матрица). Напишите программу, которая определит, является ли введенное пользователем число b максимальным элементом массива. В случае, если такого числа в массиве нет – вывести на экран соответствующее сообщение. Программный код представлен в листинге  П. 2, результаты его выполнения на рис. 2.

 

Листинг П. 2.

#include "stdafx.h"

#include <iostream>

#include <ctime>

using namespace std;

void vyvod(int *A, int n);

void vvod (int *A, int n);

int max (int *A, int n);

int poisk (int *A, int n, int b);

int main ()

{

int n,b; int *A;

cout << "Vvedite razmernost massiva A[n][n] - n=";

cin >>n;

A = new int [n*n]; // создание динамического массива A[]

vvod (A,n);

cout <<"Ishodny massiv"<<endl;

cout <<endl;

vyvod (A, n);

cout<<"Vvedite chislo b=";

cin>>b;

int max_el=max(A,n);

if (b==max_el)

{ cout << "Vvedennoe chislo b="<<b

       <<" max element massiva A[]!"<<endl;

  cout <<"Ishodny massiv"<<endl;

  cout <<endl;

  vyvod (A, n);

}

else

     if (poisk(A,n,b))

     { cout << "Vvedennoe chislo b="<<b

            <<" ne max element massiva A[]!"<<endl;

      cout <<"Ishodny massiv"<<endl;

      cout <<endl;

      vyvod (A, n);

      cout <<"Max element massiva A[] - "<<max_el<<endl;

     }

     else

          { cout << "Vvedennogo chisla b="<<b

                 <<" net v massive A[]!"<<endl;

      cout <<"Ishodny massiv"<<endl;

      cout <<endl;

      vyvod (A, n);

     }

return 0;

}

/*функция вывода на экран элементов массива*/

void vyvod(int *A, int n)

{

     for (int i = 0; i < n*n; i+=n )

     {

          for (int j = i; j < i+n; j++ )

               cout << A[j]<<"\t";

          cout<<endl;

     }

    cout <<endl;

}

/*функция ввода элементов массива*/

void vvod(int *A, int n)

{

int v;

cout <<"Vvedite 1, esli vvod massiva s klaviatury"<<endl;

cout <<"Vvedite 2, esli vvod massiva sluchayny"<<endl;

cin >>v;

switch (v)

{

case 1: {      // ввод с клавиатуры

        for (int i=0; i<n*n; i++)

        {cout<<"A["<<i+1<<"]=";

          cin>>A[i];}

        }

          break;

case 2 :{      // заполнение массива случайными числами

          srand(time(0));

          for (int i=0; i<n*n; i++)

          A[i]=rand()%100-20;

          }

          break;

default: cout<<"Error! Neverny vvod dannyh!" ;      

}

}

/*функция поиска максимального элемента массива*/

 int max (int *A, int n)

{

     int m=A[0];

for (int i = 0; i<n*n; i++)

      if (A[i]>m) m=A[i];

   return m;

}

 /*функция поиска  элемента в массиве*/

int poisk (int *A, int n, int b)

{   

for (int i = 0; i<n*n; i++)

 if (A[i]==b) return 1;

return 0; 

}

 

 

Рис. 2. Результаты работы программы сравнения числа b с максимальным элементом массива

 

Задание 13. Описать структуру с именем KURSANT, содержащую следующие поля:

  • Фамилия (не более 20 символов);
  • Имя (не более 10 символов);
  • Отчество (не более 20 символов);
  • Номер взвода (целое число);
  • День рождения;
  • Месяц рождения;
  • Год рождения.

 

Описание заданной структуры данных на языке С++ будет иметь вид:

struct kursant{

     char Fam[20];

     char Imay[10];

     char Otch[20];

     int nomer;

     int god_r;

     int dd_r;

     int mm_r;

};

Задание 14. Задана структура с именем KURSANT, содержащая следующие поля:

  • Фамилия (не более 20 символов);
  • Имя (не более 10 символов);
  • Отчество (не более 20 символов);
  • Номер взвода (целое число);
  • День рождения;
  • Месяц рождения;
  • Год рождения.

Напишите программу, которая позволяет ввести данные о курсантах в массив структур и произвести обработку данных (выборку данных) по следующему критерию (запросу): вывести список курсантов заданного взвода (номер взвода вводится пользователем с клавиатуры), день рождения которых приходится на указанный месяц года (номер месяца от 1 до 12 вводится пользователем с клавиатуры). Если список пустой, то вывести соответствующее сообщение на экран.

Программный код данной программы представлен в листинге П. 3, организация ввода данных на рис. 3, результаты поиска информации на рис. 4-5.

 

Листинг П. 3.

 

#include "stdafx.h"

#include <iostream>

using namespace std;

int mesayc (int n);

 

struct kursant{

     char Fam[20];

     char Imay[10];

     char Otch[20];

     int nomer;

     int god_r;

     int dd_r;

     int mm_r;

};

int main()

{ kursant M[30];

int n, s=1; int n_vz, mm_r,k,vz;

cin>>n;

     for (int i=0; i<n; i++)

     {cout<<"Vvedite Familiu-";cin>>M[i].Fam;

     cout<<"Vvedite Imay-";cin>>M[i].Imay;

     cout<<"Vvedite Otchestvo-";cin>>M[i].Otch;

     cout<<"Vvedite N vzvoda-";cin>>M[i].nomer;

     cout<<"Vvedite den' rogdenia-";cin>>M[i].dd_r;

     cout<<"Vvedite mesayc rogdenia-";cin>>M[i].mm_r;

     cout<<"Vvedite god rogdenia-";cin>>M[i].god_r;

     }

     while (s)

     {

      cout<<"Vvedite 1 - dlay obrabotki dannyh."<<endl;

      cout<<"Vvedite 0 - dlay vyhoda iz programmy."<<endl;

     cin>>s;

     if (s==0) return 0;

     cout<<endl;

     cout<<"Vvedite nomer vzvoda i mesayc rogdenia kursanta"

         <<endl;

     cout <<"N="; cin>>n_vz;

     cout<<"Mesayc="; cin>>mm_r;

     cout<<endl;

     cout<<"Spisok kursantov "<<n_vz<<" vzvoda, rodivshihsay v ";

     if (mesayc(mm_r))

          {

          k=0; vz=0;

         cout<<endl<<endl;

          for (int i=0; i<n; i++)

          if (M[i].nomer==n_vz)

               {vz++;

              if (M[i].mm_r==mm_r)

              {k++;

              cout <<k<<".\t";

               cout<<M[i].Fam<<" ";

               cout<<M[i].Imay[0]<<". ";

               cout<<M[i].Otch[0]<<".\t";

               if (M[i].dd_r<=9) cout<<"0"<<M[i].dd_r<<".";

               else cout<<M[i].dd_r<<".";

               if (M[i].mm_r<=9)cout<<"0"<<M[i].mm_r<<".";

               else cout<<M[i].mm_r<<".";

               cout<<M[i].god_r<<endl;

               }

               }

     if (vz==0) cout<<"Spisok pust. Takogo vzvoda net v baze dannyh! Povtorite vvod dannyh!"<<endl;

     else if (k==0)

cout << "Spisok pust. Takih kursanov v "<<n_vz  

<<" vzvode net!"<<endl;

}

     }

     return 0;

}

// функция перевода номера месяца в его название

int mesayc (int n) 

{

     switch (n)

     {

     case 1: {cout << "aynvare";

          break;}

     case 2:{ cout << "fevrale";

          break;}

     case 3: {cout << "marte";

          break;}

     case 4: {cout << "aprele";

          break;}

     case 5: {cout << "maye";

          break;}

     case 6: {cout << "iune";

          break;}

     case 7:{ cout << "iule";

          break;}

     case 8: {cout << "avguste";

          break;}

     case 9: {cout << "sentaybre";

          break;}

     case 10: {cout << "octaybre";

          break;}

     case 11: {cout << "noaybre";

          break;}

     case 12: {cout << "decabre";

          break;}

     default: {cout<<endl; cout <<"Neverny vvod mesayca! Povtorite vvod!"<<endl; return 0;}

          }

 return 1;

}

 

Рис. 3. Организация ввода данных в массив структур kursant

 

 

Рис. 4. Результаты работа программы листинга 1 при отсутствии в массиве структур информации о  заданных курсантов во взводе

 

 

Детали товара
  • 500 руб.
  • Лабораторная работа
  • Есть
Обратите внимание

На нашем сайте есть работы, которые включают в себя несколько задач. Если Вам необходима только одна или несколько задач из всей работы, то вам нет необходимости покупать работу целиком. Мы можем продать задачи по отдельности. Для этого обратитесь к нам удобным для Вас способом.

Также если вдруг какая-то работа будет не соответствовать описанию или вы найдете ошибку, то мы всегда готовы исправить проблему в обговорённые с Вами сроки.