Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОНТРОЛЬНАЯ_РАБОТА_Лабораторный практикум Алгор...doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
521.22 Кб
Скачать

Задания

1. На предприятии ведется список сотрудников, где для каждого .сотрудника имеются следующие сведения:

фамилия

воздаст

должность

оклад

Программа должна выполнять следующие действия:

- Первоначальное формирование сортированного списка

- Добавление нового сотрудника в список, не нарушая упорядоченность

- Просмотр списка сотрудников, возраст которых попадает в задаваемый диапазон

- Удаление из списка указанного сотрудника

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

Особенности реализации:

  1. Список сотрудников определяется как массив структур

  2. Список сотрудников и размерность этого массива определяются как глобальные переменные

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

  2. Функция добавления в качестве параметра не имеет входного параметра возвращает целое значение-признак: 1 - добавление произошло успешно, 0 - такая запись уже существует

  3. Функция,, просмотра списка в качестве входных принимает два целых значения - нижний и верхний предел диапазона возраста, явно никакого результата не возвращает

  4. Функция удаления в качестве входного параметра принимает строку - фамилию удаляемого сотрудника, в качестве результата возвращает целое значение - признак: 1- удаление произошло успешно, 0-в случае, если удаление невозможно.

2. Некоторое предприятие решило в качестве помощи своим сотрудникам выделить до 50% сверх суммы зарплаты и, разделив на равные доли, распределить между сотрудниками, имеющими зарплату ниже средней по следующим категориям:

семейным сотрудникам, имеющим детей - I доля на каждого ребенка; сотрудникам, воспитывающим детей в одиночку, 2 доли на каждого ребенка. Однако сумма помощи не должна превосходить среднюю зарплату по предприятию. По каждому сотруднику в массив заносится следующая информация: фамилия, зарплата, семейное положение,

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

количество детей, если сотрудник воспитывает детей один;

если человек одинок, то никакой дополнительной информации о нем не вносится. Для начисления помощи формируется массив структур, имеющих поля мат.помощи может сначала помещаться число начисленных долей, а уж затем их денежное выражение.

В программе должны быть оформлены следующие функции:

Функция определения долей для каждого сотрудника предприятия

Функция вычисления средней зарплаты

Функция вычисления денежного содержания каждой доли

Функция начисления мат. помощи

3. «Ханойская башня»

Даны три стержня n дисков разного размера. Диски можно надевать на стержни, строя таким образом башни. Пусть вначале диски находятся на стержне А в порядке убывающего размера. Нужно переместить n дисков на стрежень С так, чтобы они остались в том же порядке. Этого нужно добиться, соблюдая следующие правила:

- на каждом шаге ровно один диск перемещается с одного стержня на другой.

- диск большего размера нельзя помещать на меньший

- стержень В можно использовать в качестве промежуточного

Башню удобно рассматривать как состоящую из одного диска на самом верху и из башни, состоящей из остальных дисков.

Заключение

Лабораторный практикум по дисциплине «Языки программирования», предназначенный для изучения языка программирования Турбо Си позволяет отметить, что одним из основных достоинств языка Си считается высокая переносимость написанных на нем программ между компьютерами с различной архитектурой, между различными операционными средами. Трансляторы языка Си существуют практически для всех используемых в настоящее время персональных компьютеров.

Язык Си имеет ряд существенных особенностей, которые выделяют его среди других языков программирования. Иногда си называют языком программирования «среднего» уровня. С одной стороны, как и другие современные языки высокого уровня, язык си поддерживает полный набор конструкций структурного программирования, раздельную компиляцию. С другой стороны, язык си имеет ряд низкоуровневых черт.

Некоторые особенности языка Си:

- В языке си реализованы некоторые операции низкого уровня (в частности, операции над битами). Некоторые из таких операций напрямую соответствуют машинным командам.

- Базовые типы данных языка си отражают те же объекты, с которыми приходится иметь дело в программе на языке ассемблера, - байты, машинные слова, символы, строки. Несмотря на наличие в языке Си развитых средств построения составных объектов (массивов и структур), в нем практически не отсутствуют средства для работы с ними как единым целым .

- Язык Си поддерживает механизм указателей на переменные и функции. Указатель – это переменная, предназначенная для хранения машинного адреса некоторой переменной или функции. Поддерживается арифметика указателей, что позволяет осуществлять непосредственный доступ и работу с адресами памяти практически также легко как на языке ассемблера. Использование указателей позволяет создавать высокоэффективные программы, однако требует от программиста особой осторожности.

- Как никакой другой язык программирования высокого уровня, язык си «доверяет» программисту. Даже в таком существенном вопросе, как преобразование типов данных, налагаются лишь незначительные ограничения. Во многих случаях слабый контроль типов может помочь в повышении эффективности программ, однако программист должен очень хорошо знать используемый язык программирования и четко представлять идеологию, иначе отладка будет крайне тяжела, а надежность создаваемых программ низка.

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

Список использованных источников

  1. Б.Керниган, Д.Ритчи Язык программирования Си- Москва: Финансы и статистика- 1992г.-126 c.

  1. С.О.Бочков, Д.М.Субботин Язык программирования Си для персонального компьютера- Москва СП: Диалог- 1996г.-24-26 с.

  1. Б.И.Березин, С.Б.Березин Начальный курс С и С++- Москва: Диалог-Мифи-1996г.-30-34 с.

  1. Е.И.Козел, Л.М.Романовская, Т.В.Русс От Си к С++- Москва: Финансы и статистика- 1993г.-75 с.

  1. Р.Жешке Толковый словарь стандарта языка Си- Санкт-Петербург: Питер- 1994г.-144 с.

  1. Касаткин А.И. Профессиональное программирование на языке Си. Управление ресурсами: Справочное пособие. – Минкс: Высш. Шк- 1996г.-226-227 с.

65