Программирование

Тип работы: Все Диплом Задача Курсовая работа Лабораторная работа Ответы на вопросы
Язык программирования: Все Bash Basic Batch C C# C# ASP .NET C++ Delphi Fortran Free Basic HTML Java JavaScript Object Pascal Pascal Pascal ABC Python Turbo Pascal VBA Visual Basic алгоритмические языки Ассемблер
Блок-схема: Все Есть Нет
Сортировать по умолчанию цене названию
  • НА C : в строке состоящей из 0 и 1 подсчитать количество единиц в группах с нечетным количеством символов

  • Лабораторная работа 1

     

    Тема: Разработка классов, создание конструкторов и деструкторов. Использование статических членов класса

     

    Цель работы: Изучить структуру класса, механизм создания и использования, описание членов-данных класса и методов доступа к ним, возможность инициализации объектов класса с помощью конструкторов и уничтожение их с помощью деструкторов.

     

    Задания на лабораторную работу

     

    Реализовать класс в соответствии с вариантом. Класс должен обеспечивать набор методов для работы с данными. Создать пеpегpуженные констpуктоpы: констpуктоp копирования, констpуктоp по умолчанию.  Реализовать указанные классы с динамическим выделением памяти для хранения некоторых полей. Создать деструктор для освобождения памяти. Посмотреть, как вызываются конструкторы и деструкторы. Обязательно добавить в класс статические члены.

    Составить демонстpационную пpогpамму. Для pеализации демонстpационной пpогpаммы использовать отдельный модуль. Пpогpамму постpоить с использованием пpоекта. Посмотpеть pаботу пpогpаммы в отладчике, обpатить внимание на пpедставление данных. Постpоить пpогpамму без отладочной инфоpмации. Обpатить внимание на pазмеp пpогpаммы.

     

    Постpоить класс Goods (товар). Класс должен включать следующие поля: указатель на наименование товара, дата оформления, цена товара, количество единиц. Класс должен обеспечивать пpостейшие функции для pаботы с данными класса: изменение цены товара, изменение количества товара, вычисление стоимости, строковое представление объекта.

  • -Отчет по практике, Языки программирования

    Постройте таблицу значений функции z=f(x,y) и найдите наименьшее значение функции при изменении x на отрезке [a;b] с шагом h1 и y на отрезке [c;d] с шагом h2.

  • Дан список списков целочисленных элементов:
    • Необходимо его обратить, т.е. список {6,3,10,2} надо преобразовать в {2, 10, 3, 6};
    • При этом, обратить и каждый из подсписков;
    • Не использовать конвертацию в массивы

    НЕЛЬЗЯ использовать контейнерные классы. И стандартные функции там, где без них можно обойтись.

  • Написать программу соответствия между числом и цветом фона (0-черный, 1-голубой,2-зеленый, 3-васильковый, 4-красный, 5-фиолетовый, 6-коричневый, 7-светло-серый).

  • 1. А) Объявить класс Район Города, имеющий название, площадь, численность населения и позволяющий переименовывать район, а также изменять численность его населения и вычислять плотность населения.

    Б) Объявить класс Город, представляющий собой набор районов и позволяющий вычислить среднюю площадь и среднюю численность населения районов города, самый плотный район, а также добавить новый район или удалить имеющийся. Продемонстрируйте работу всех методов.

    2. Создать классы Домашний питомец(абстрактный) Собака, кошка, попугай, имеющие кличку и характер. Определить методы печати и голоса (гав, мяу, чирик), а также вида корма для каждого из них. Создать список животных. Вывести информацию о них остальных методов. Определить, каких животных средств больше.

     

     

  • 1Дана квадратная матрица А(N, N).Составьте программу, определяющую, является ли данная матрица симметричной или нет. Если матрица симметрична, программа должна обнулить главную диагональ. Из квадратных корней абсолютных величин элементов матрицы сформируйте одномерный массив и отсортируйте его по убыванию методом пузырька (Bubble Sort). Выведите на экран исходную матрицу, преобразованную матрицу и отсортированный массив.

    2Даны массивы А[2][5], В[2][5], С[2][5]. Для каждого определить местоположение (номер строки и номер столбца) минимального элемента.

  • Написать программу «Моя записная книжка». Одна запись содержит фамилию и имя, дату рождения и номер телефона. База хранится в текстовом файле.

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

    Хранение данных организовать с применением класса tree.

  • 11 лабораторных работ по C#

    Программы в среде Visual Studio на языке Visual C# на темы:

    -Сложные арифметические выражения

    -Условный оператор

    -Циклы с пред- и постусловием

    -Ряды

    -Одномерные массивы

    -Многомерные массивы

    -Строки

    -Типизированные методы

    -Нетипизированные (пустые) методы

    -Файлы


  • 1Лабораторная, программирование C#

    Лабораторная работа 2. Работа с числами, датами и текстом

    Цель работы: ознакомиться с базовыми возможностями стандартных числовых, логического, символьного и строкового типов, а также типов DateTime, StringBuilder, Math, Random, Biglntegcr.

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

    Варианты:

    • Получить текущее время и дату в двух разных форматах и вывести на экран количество нулей, единиц,..., девяток в их записи.
    • В заданной строке поменять порядок слов на обратный (слова разделены пробелами).
    • Дана строка, слова которой разделены пробелами. Распознать в ней слова, являющиеся числами в шестнадцатеричной системе счисления, и вывести их десятичный эквивалент.
    • Рассчитать максимальную степень двойки, на которую делится произведение подряд идущих чисел от а до Ь (числа целые 64-битные без знака).
    • Дана строка. Найти в ней все заглавные буквы, не входящие в английский алфавит
    • Реализовать эффективное перемешивание символов строки.
      • Дана строка. Записать номера символов, входящих в нее, в виде шестнадцатеричных чисел через пробелы. Числа должны быть ровно из четырех цифр (возможно, с нулями в начале).
      • С помощью класса DatcTimc вывести на консоль названия месяцев на французском языке. По желанию обобщить на случай, когда язык задается с клавиатуры.
      • Сгенерировать равновероятно случайную строку длиной не более четырех строчных английских букв.
      • Дана строка, содержащая число с десятичной точкой. Преобразовать эту строку в число действительного типа (не пользуясь стандартным Parse.TryParse).
      • Дана строка, слова в которой разделены пробелами. Есть знаки препинания, которые записаны сразу после слова. Добавить перед каждым словом тот знак препинания, который стоит после него.
      • Дана строка, слова в которой разделены пробелами. Вывести все слова, содержащие буквы, не входящие в английский алфавит. Вывод должен быть выровнен по правому краю и иметь ширину самого длинного слова.
      • Дана строка из 256 английских букв. Записать через пробел 30 символов этой строки, стоящих на случайных местах. Желательно сделать только одно обращение к классу Random.
      • Реализовать вычисление параметров треугольника (стороны, углы, периметр, площадь, радиусы вписанной и описанной окружностей, ...) по трем заданным параметрам.
      • Дана строка, состоящая из строчных английских букв. Заменить в ней все буквы, стоящие после гласных, на следующие по алфавиту (z заменяется на а).
      • Лабораторная работа 3. Создание класса на языке C#

        Цель работы: изучить на практике средства реализации инкапсуляции, предоставляемые языком С#, а также общепринятые практики проектирования интерфейса базового класса с учетом возможности наследования.

        Постановка задачи. Необходимо реализовать первый из классов предметной области согласно выбранному варианту. Предусмотреть необходимый набор методов, полей, свойств, конструкторов и индексаторов в реализуемом классе. Реализовать статические элементы класса (например, создание уникального Id), перегрузку методов. Продемонстрировать работу с созданным классом.

        Варианты:

        • Человек - Спортсмен - Специалисты по отдельным видам спорта.
        • Человек - Студент - Студенты отдельных специальностей.
        • Предмет мебели - Шкаф - Виды шкафов (для посуды, для обуви и т. д.).
        • АЛУ - Процессор - Процессоры разных производителей.
        • Транспортное средство - Автомобиль - Автомобили разных марок.
        • Помещение - Жилая комната - Виды комнат (гостиная, спальня, детская и т. д.).
        • Свой вариант.
        • Лабораторная работа 4. Взаимодействие с неуправляемым
          кодом

          Цель работы: научиться реализовывать в коде .NET взаимодействие с неуправляемым кодом; ознакомиться с понятием конвенций вызова.

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

          1)     Написать программу на языке С#, использующую возможности стандартных неуправляемых библиотек Windows. Желательно при этом не писать неуправляемый код самому.

          Варианты:

          • Простое рисование на рабочем столе с помощью GDI
          • Аналог утилизы WinSight (просмотр информации об окнах)
          • Утилита для просмотра информации о компьютере (CPU, RAM, ...)
          • Проигрывание музыкальных файлов с помощью MCI
          • Утилита для записи всех нажатий клавиш (Key logger)
          • Просмотр информации о процессах (упрощенный аналог менеджера задач)
          • Свой вариант

          2)     Написать динамическую библиотеку на неуправляемом коде и программу на С#, использующую ее. Библиотека должна предоставлять функции с различными конвенциями вызова.

        • Лабораторная работа 5. Наследование, полиморфизм,
          структуры, перечисления

          Цель работы: изучить на практике средства реализации наследования и полиморфизма, предоставляемые языком С#, а также общепринятые практики проектирования классов-наследников. Освоить принципы работы с типами-значениями платформы .NET.

          Постановка задачи. Необходимо создать классы, производные от класса, созданного в работе 3 (на нижнем уровне иерархии достаточно трех классов). Выделить и реализовать полиморфные и (по возможности) абстрактные элементы классов. Создать структуры и перечисления, подходящие для описания предметной области, и воспользоваться ими в написанных классах.

        • Лабораторная работа 6. Интерфейсы и универсальные
          шаблоны

          Цель работы: изучить принципы обобщенного программирования в .NET; ознакомиться со стандартными шаблонными интерфейсами для преобразования и сравнения объектов.

          Постановка задачи. Необходимо создать интерфейсы, подходящие для описания исследуемой предметной области, и реализовать их в созданных классах. Реализовать в классах какие-нибудь стандартные интерфейсы для преобразования и сравнения объектов.

        • Лабораторная работа 7. Преобразование и сравнение объектов,
          перегрузка операций

          Цель работы ознакомиться со стандартными средствами платформы .NET для сравнения объектов на равенство и порядок, а также с общепринятыми практиками реализации таких средств.

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

        • Лабораторная работа 8. Делегаты, события, исключительные
          ситуации

          Цель работы: освоить на практике работ}' с более сложными элементами языка С#: делегатами, анонимными методами и лямбда-выражениями, событиями, исключительными ситуациями.

          Постановка задачи. Необходимо дополнить классы, созданные в ходе лабораторных работ 3, 5 и 6, событиями. Тестирование событий выполнить при помощи назначения обработчиков, записанных в форме анонимных методов и лямбда-выражений. Реализовать в методах классов генерацию исключительных ситуаций (в тех случаях, когда что-либо мешает нормальному выполнению операции) и предусмотреть обработку этих исключений в коде, использующем эти классы. По возможности, заменить некоторые из ранее разработанных методов методами, принимающими в качестве параметра делегат.

  • 1Лабораторная, Языки программирования

    Лабораторная работа 7

    1. Тема и название работы

    Программирование алгоритмов формирования и обработки одномерных массивов.

     

    2. Задание на разработку проект

    Ввести одномерный массив y = {2.5, -1.9, 10.2, -7.12, 3.1, -2, 6}.

    Сформировать из него новый массив z, элементами которого будут являться отрицательные  элементы массива y, и  упорядочить по возрастанию массив z.

    Лабораторная работа 9

    1. Тема и название работы

    Обработка строковых данных

                           

    2. Задание на разработку проект

    Из строки, содержащей корректно заданную  дату в  формате "dd.mm.yy", где dd - день, mm - месяц, yy - год, получить  строку с датой, отстоящей  от заданной на n дней назад, в том же формате.

    Лабораторная работа 10

    1. Тема и название работы

    Текстовые файлы

     

    2. Задание на разработку проект

    Из строки, содержащей корректно заданную  дату в  формате "dd.mm.yy", где dd - день, mm - месяц, yy - год, получить  строку с датой, отстоящей  от заданной на n дней назад, в том же формате.

  • Глава 1. Процедуры ввода/вывода.

     

    Задание 1.2.*

    Напишите программу нахождения гипотенузы и площади прямоугольного треугольника по двум катетам.

     

    Глава 2. Условный оператор.

     

    Задание 2.2.*

    Программа вводит два числа a и b. Если а > b, то программа вводит третье число с, находит сумму a+b+c и выводит ее на экран. Если a<b, то находит  разность a-b, если разность четная, то вводит третье число c и выводит его на экран. Во всех остальных случаях программа печатает слово «Конец».

     

    Глава 3. Форматы чисел, циклы

    Задание 3.22.*

    Программа выводит на экран в столбик 10 раз слово «осень».

     

    Глава 4. Одномерные массивы

    Задание 4.22.**

    Дано два одномерных целочисленных массива длиной 10 и 15 элементов. Распечатать их в 2 и 3 колонки соответственно. Напечатать элементы первого массива, повторяющиеся во втором.

     

    Глава 5. Двумерные массивы.

     

    Задание 5.22.*

    Даны целочисленные матрицы А(mxn) и В(mxn). Программа находит количество четных отрицательных элементов в матрице С=А+В , выводит на экран матрицу С и найденное количество.

     

     

    Глава 6. Строковый тип данных. Комбинированный тип данных

     

    Задание 6.22.**

    Подсчитать количество цифр в записи числа n в системе счисления с основанием k

     

    Глава 7 Структуры

     

    Задание 7.2.*

    Написать программу, которая во второе поле структуры, имеющей 3 целочисленных поля, заносит значение 9. Вывести это значение на экран.

     

     

    Задание 2. Составить программу вычисления значений функции y = f (x) на промежутке [a, b] с шагом h (на языке С++):

    Таблица 3

    f(x)

    a

    b

    h

    x2- 4sin (x)

    0

    2

    0,16

     

    Задание 3. Написать программу для решения задач на языке С++.

    Найти произведение элементов массива В(14), которые меньше, чем 3.

     

    Задание 4. Написать программу для решения задач на языке С++.

    Найти максимальный элемент массива А(4,6).

     

     

    Задание 5. Составить контролирующую программу по проверке знаний, учащихся по K вопросам по 5-балльной шкале на языке С++

    Таблица 5

    Область знаний

    K

    Обработка материалов

    7

    Материаловедение

    5

     

     

     

     

  • 2Курсовая, Объектно-ориентированное программирование на С++

    -                изучены алгоритмы сортировок;

    -                изучены критерии оценки алгоритмов сортировок;

    -                проведен анализ и сравнение алгоритмов сортиров;

    -                изучено понятие шаблонных функций;

    -                реализована шаблонная функция Шейкер сортировки.

  • 2Лабораторная, Языки программирования С++

    Лабораторная работа №7

    1 Тема и название работы

    Программирование алгоритмов формирования и обработки одномерных массивов.

    2 Задание на разработку проекта и вариант задания

    Ввести одномерные массивы x = {-6, 0.5, 0.12, 13, -10.1} и y = {13, 2.1, 14, 6, -2}. Создать одномерный массив r( ) такой, что элементы с нечетными номерами являются элементами массива x, с четными номерами - массива y.

    Вывести массив r. В новом массиве r найти произведение элементов, расположенных до минимального элемента..

    Лабораторная работа №9

    1 Тема и название работы

    Обработка строковых данных.

    2 Задание на разработку проекта и вариант задания

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

    Лабораторная работа №10

    1 Тема и название работы

    Текстовые файлы.

    2 Задание на разработку проекта и вариант задания

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

  • 3 лабораторных работы по информатике и программирование

    Лабораторная работа № 1

    ОБРАБОТКА ТЕКСТОВЫХ ФАЙЛОВ

     

    Цель работы: Получить навыки обработки текстовых файлов средствами  языка Cи.

    Подготовка к лабораторной работе

    1. Повторить основные  шаги работы с файлами.
    2. Изучить стандартные функции для работы с текстовыми файлами.
    3. Разработать схему алгоритма решения задачи согласно варианту задания.
    4. Написать программу на языке Си согласно разработанной схеме алгоритма.
    5. Используя программу Блокнот создать текстовый файл.

     

    Задание к лабораторной работе

    Написать программу на языке Си для обработки текстового файла в соответствии с вариантом задания.   

                    

    Вариант 4

     

    Создать текстовый файл с произвольным числом строк. В качестве исходного текста задать арифметическое

    выражение, записанное на языке Си.

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

    Содержание отчета

    1. Номер и тема лабораторной работы.
    2. Задание к лабораторной работе.
    3. Схема алгоритма решения задачи.
    4. Программа на языке Cи.
    5. Скрины экранов с результатами выполнения программы.

     

    Контрольные вопросы

     

    1. Описание символьных данных и строк на языке Си.
    2. Встроенные функции языка Си, используемые для обработки строк.
    3. Назначение функции fgets().
    4. Назначение функции fgetc().
    5. Назначение функции fscanf().

     

    Лабораторная работа № 2

          ТИПИЗИРОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ

     

    Цель работы: Приобрести навыки разработки и использования функций, разработанных пользователем.

     

    Подготовка к лабораторной работе:

    1. Повторить такие понятия  языка Си как:  функции, структура типизированной функции, списки фактических и формальных параметров, вызов типизированной функции.

    2. В соответствии с  вариантом задания разработать алгоритм решения задачи, описать его в виде схемы.

     

     

     

    Задание к лабораторной работе:

    Разработать типизированную функцию для выполнения над массивом   А[n]   операций в соответствии с вариантом.

     В функции main исходный массив сформировать, используя датчик псевдослучайных чисел rand(). На печать вывести исходный массив и после работы функции результат ее работы.

     

    Вариант 4

     

    Вычисление  количества положительных четных элементов массива.

     

    Содержание отчета:

    1. Номер, тема  лабораторной работы
    2. Задание к лабораторной работе.
    3. Схема алгоритма.
    4. Программа на языке Си.
    5. Скрины экрана с  результатами работы.

     

    Контрольные вопросы:

    1. Типы функции, используемые в программах на языке Си.
    2. Структура функции, определенной пользователем.
    3. Отличие типовой функции от безтиповой  функции.
    4. Типы параметров функции.
    5. Глобальные и локальные идентификаторы.

     

    Лабораторная работа № 3

    БЕЗТИПОВЫЕ ПОДПРОГРАММЫ – ФУНКЦИИ

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

     

    Подготовка к лабораторной работе.

    1. Повторить такие элементы языка Си  как: отличие безтиповой функции от типизированной, списки фактических и формальных параметров, вызов безтиповой функции.
    2. В соответствии с  заданием разработать алгоритм функции, описать его в виде схемы.
    3.  Составить схему алгоритма программы, использующей разрабатываемую функцию .

     

     

    Задание к лабораторной работе

    Разработать безтиповую  функцию для выполнения над матрицей размером 5х5 операций в соответствии с вариантом.

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

     

    Вариант 4

     

    Умножение элементов матрицы на любое случайное число.

    Содержание отчета

    1. Номер, тема  лабораторной работы
    2. Задание к лабораторной работе.
    3. Схема алгоритма функции.
    4. Схема алгоритма программы, использующей эту функцию.
    5. Программа на языке Си.
    6. Скрины экрана с результатами работы программы.

     

    Контрольные вопросы

    1. Для чего используются подпрограммы?
    2. Структура безтиповой функции, определенной пользователем.
    3. Правила взаимодействия списков фактических и формальных параметров.
    4. Отличие параметров-значений от параметров переменных

    .

  • 4 Задачи на C
    1. Построить график функции 
    2. Изобразить на экране полет самолета на заданной высоте и посадку его со снижением до касания земли и замедлением до полной остановки.
    3. Перестановка элементов в массиве следующим образом: сначала записать неотрицательные элементы в том же порядке следования, затем отрицательные в том же порядке. Типы элементов массивов float, char и rational (структура, описывающая обыкновенную дробь, с двумя целочисленными полями: первое – числитель, второе – знаменатель).
    4. Класс «Треугольник». Поля: длины сторон. Методы: вычисление площади, радиусов вписанной и описанной окружностей, определение типа (остроугольный, прямоугольный, тупоугольный), перегрузка операции сравнения на равенство «==».
  • 4 задачи на Pascal

    Задача 1 и 2 посвящена созданию программ с использованием массивов (одномерных и матриц) и множеств. В этих программах полезно использовать подпрограммы.

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

    Задача 1

    var k : integer; c : array[1..n, 1..m] of integer; Определить k — количество «особых» элементов массива c, считая элемент «особым», если в его строке слева от него находятся элементы, меньшие его, а справа — большие. Указание: определите булевскую функцию f(x), которая проверяет, является ли элемент x «особым».

    Задача 2

    Дана строка. В алфавитном порядке напечатайте (по разу) все малые латинские буквы, входящие в эту строку ровно один раз. Указание: решение задачи простое, если вы будете использовать множества.

    Задача 3 и 4 посвящена созданию программ, отражающих приемы работы с файлами. Необходимо в начале программы создать файл (элементы файла вводятся с клавиатуры или генерируются случайным образом), а в конце программы сначала вывести на экран содержимое созданного файла, а затем отразить полученные результаты. Во второй задаче необходимо составить программу, реализующую рекурсивный алгоритм.

    Задача 3

    type fr = file of real; Описать процедуру predlast(f), значением которой является предпоследний элемент файла f, имеющего тип fr и содержащего не менее двух элементов. Указание: введите файл f (последний элемент = 0) и вычислите функцию predlast(f).

    Задача 4

    type reals = file of real; var f : reals; Опишите рекурсивную функцию sum без параметров для нахождения суммы элементов файла f.

  • 4 задачи на С++

    Лабораторная работа 1. Массивы, указатели и строки. Методы организации и работы

    Вариант задания реализовать в виде функции, использующей для работы со строкой только указатели и операции вида *p++,  p++ и т.д. Если функция возвращает строку или ее фрагмент, то это также необходимо сделать через указатель.

    Вариант: «Быстрая» сортировка (разделением) с использованием указателей на правую и левую границы массива, текущих указателей на правый и левый элемент и операции сравнения указателей.

    Лабораторная работа 2. Структуры, объединения и списки. Файловый ввод-вывод

    Определить структурированный тип, определить набор функций для работы с массивом структур. В структурированной переменной предусмотреть способ отметки ее как не содержащей данных (т.е. "пустой"). Функции должны работать с массивом структур или с отдельной структурой через указатели, а также при необходимости возвращать указатель на структуру. В перечень функций входят:

    - «очистка» структурированных переменных;

    - поиск свободной структурированной переменной;

    - ввод элементов (полей) структуры с клавиатуры;

    - вывод элементов (полей) структуры с клавиатуры;

    - поиск в массиве структуры и минимальным значением заданного поля;

    - сортировка массива структур в порядке возрастания заданного поля (при сортировке можно использовать тот факт, что в Си++ разрешается присваивание структурированных переменных);

    - поиск в массиве структур элемента с заданным значением поля или с наиболее близким к нему по значению.

    - удаление заданного элемента;

    - изменение (редактирование) заданного элемента.

    - вычисление с проверкой и использованием всех элементов массива по заданному условию и формуле (например, общая сумма на всех счетах) -  дается индивидуально.

    Вариант: Фамилия И.О., количество переговоров (для каждого - дата и продолжительность).

    Лабораторная работа 3. Разнотипные переменные. Динамический и статический способы создания переменных

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

    Вариант: В начале области памяти размещается форматная строка. Выражение "%nnnd", где nnn - целое - определяет массив из nnn целых чисел, "%d" - одно целое число, "%nnnf" - массив из nnn вещественных чисел, "%f" - одно вещественное число. Сразу же вслед за строкой размещается последовательность целых, вещественных и их массивов в соответствии с заданным форматом.

    Лабораторная работа 4. Функции с переменным количеством параметров. Функция, как тип данных

    Разработать функцию с переменным количеством параметров. Для извлечения параметров из списка использовать технологию программирования областей памяти переменного формата, описанную в 4.4.

    Вариант: Первый параметр - строка, в которой каждый символ «*n», где n-цифра -  обозначает место включения строки, являющейся n+1 параметром. Функция выводит на экран полученный текст.

  • ЛАБОРАТОРНАЯ РАБОТА № 1

    Задача 1. Даны натуральные n, m. Получить все меньшие n натуральные числа, сумма цифр которых равна m.

    Задача 2. Проверить, правильно ли в данной строке расставлены круглые скобки (т.е. находится ли справа от каждой открывающей скобки соответствующая закрывающая скобка, а слева от каждой закрывающей — соответствующая открывающая). Ответ — «да» или «нет». Используйте следующий алгоритм: На каждом шаге цикла во время просмотра строки символов текущее значение количества открывающих скобок больше или равно текущему значению количества закрывающих скобок. После окончания цикла количество открывающих скобок равно количеству закрывающих скобок.

    ЛАБОРАТОРНАЯ РАБОТА № 2

    Задача 1. Даны натуральное n и (построчно) элементы квадратной вещественной матрицы А четвертого порядка. Вычислить n-ю степень этой матрицы (A1 = A; A2 = A*A; A3 = A2 * A и т.д.). Указания: 1. Определите процедуру mult(a,b,c) для умножения матриц (a*b = c). 2. Для вычисления n-ой степени матрицы поступайте так же, как при вычислении в цикле n-ой степени числа, но вместо умножения чисел используйте процедуру mult. –> решения есть.

    Задача 2. Дана строка. В алфавитном порядке напечатайте (по разу) все малые латинские гласные буквы, входящие в эту строку ровно 3 раза. Указание: гласные буквы — а, e, i, o, u; остальные — согласные. Решение задачи простое, если вы будете использовать множества.

    ЛАБОРАТОРНАЯ РАБОТА № 3

    Задача 1. Дан текстовый файл, в котором строки содержат как латинские буквы, так и цифры. Необходимо создать другой текстовый файл, содержащий строки из первого, преобразованные по следующему принципу: в начале строки расположены все буквы исходной строки, а затем все цифры (в том же порядке). Описать процедуру letter(s,t), которая записывает в текстовый файл t сначала все латинские буквы из строки s, а затем все цифры. Указание: введите исходный файл. Выполните процедуру letter(s,t) и распечатайте элементы файла t.

    Задача 2. Дан массив a : array [1..n] of integer; Напишите рекурсивную программу для вычисления произведения
    Указание. Пусть функция f(k) вычисляет произведение a[1]*a[2]*…a[k]. Нам надо вычислить f(n). Определим f(k) рекурсивно: 3) если k=1, то f(k)=a[1]; 4) если k>1, то значение функции равно произведению a[k] и f(k–1).

    ЛАБОРАТОРНАЯ РАБОТА № 4

    Задача 1. Используйте представление последовательности строк в виде линейного списка и опишите процедуру УДАЛИТЬ(L , i), удаляющую i-ю строку из списка L.

    Задача 2. Напишите программу, которая имитирует движение велосипеда. Указание: напишите процедуру отображения велосипеда с параметрами. В качестве параметра возьмите координаты какойнибудь точки велосипеда (например, середина педалей — x1, y1). Назовем данную точку «центральной». Построение велосипеда ведите относительно центральной точки (например, чтобы нарисовать колесо велосипеда, можно воспользоваться следующим действием: circle(x1+50,y1,25)). Перемещение велосипеда по экрану можно получить, реализовав, например, следующий алгоритм:

    1. Задаем начальные значения переменным x1 и y1.

    2. Рисуем велосипед заданным цветом с данными значениями x1 и y1 (вызываем процедуру рисования велосипеда).

    3. Изменяем цвет линий на цвет, соответствующий цвету фона.

    4. Рисуем велосипед измененным цветом с теми же значениями x1 и y1 (вызываем процедуру рисования велосипеда).

    5. Изменяем координаты x1.

    6. Изменяем цвет линий на цвет, соответствующий цвету велосипеда.

    7. Рисуем велосипед заданным цветом с новыми значениями x1 и y1 (вызываем процедуру рисования велосипеда).

    8. Повторяем действия 2—7.

  • 4 Лабораторные работы на С++

    1 Программирование линейных алгоритмов

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

    2 Программирование разветвляющихся алгоритмов

    По указанию преподавателя выберите индивидуальное задание из нижеприведенного списка. В качестве f(x) использовать по выбору: sh(x), x2, ex. Отредактируйте вид формы и текст программы, в соответствии с полученным заданием.

    3 Программирование циклических алгоритмов

    4 Программирование с использованием массивов

    Во всех заданиях по теме «Массивы» скалярные переменные вводить с помощью компонента TEdit с соответствующим пояснением в виде компонента TLabel. Скалярный результат выводить в виде компонента TLabel. Массивы представлять на форме в виде компонентов TStringGrid, в которых 0-й столбец и 0-ю строку использовать для отображения индексов массивов. Вычисления выполнять, после нажатия кнопки типа TВutton.
    Задана матрица размером N×M. Получить массив B, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы нулевые, и значение 1в противном случае.