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

Тип работы: Все Диплом Задача Курсовая работа Лабораторная работа Ответы на вопросы
Язык программирования: Все 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#

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

  • Пусть дана последовательность из У элементов. Увеличьте ее, вставив после каждого минимального элемента максимальный.

    1. Составить массив из бинарного файла.

    Считать множитель из текстового файла.

    Умножить все элементы этого множитель.

    Вывести результат на файл.

    1. А) Программа записывает тип прогрессии (геометрическая, арифметическая), шаг, первое число, число элементов.

    Создает массив с элементами программы и записывает в файлы: .dat; .txt

    Б) Программа считывает массив из файла, проверит файл на корректность и переполнение формата.

  • .      Заменить первый отрицательный элемент массива на первый положительный.

    2.      Умножить все четные положительные элементы на последний элемент массива.

    3.      Из элементов массива P сформировать массив M той же размерности по правилу: если элемент четный, то Mi=i*Pi , если нечетный, то Mi=-Pi

  • Другое, Информатика  Создание программы на языке Pascal.

    Задача 1

    Условие:

    Написать программу, которая выводить на экран надпись: HelloWorld.

    Задача 2

    Условие:

    Написать программу расчета площади круга.

    Задача 3

    Условие:

    Написать программу вывода 10 значений функции y=ax2 , значения х взять от 0 до 9, значение коэффициента a - 15

    Задача 4

    Условие:

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

    Задача 5

    Условие:

    .      Заменить второй элемент массива на максимальный среди отрицательных.

    2.      Заменить элементы массива между минимальным и максимальным на те же элементы в обратном порядке

    3.      Из элементов массива P сформировать массив M той же размерности по правилу: первый  и последний элементы  равны нулю, а все остальные по формуле Mi=-Pi*(i+1)

  • Во входном файле input.txt содержится текст. В файл output.txt выведите в алфавитном порядке все буквы, встречающиеся в тексте, и их количество.

  • 1. В одномерном массиве, состоящем из n вещественных элемен-
    тов:
    1) положительные элементы уменьшите вдвое, а отрицательные
    замените на значения их индексов;
    2) определите число соседств двух положительных чисел.
    Преобразуйте массив следующим образом: удалите все нечетные
    элементы, остальные упорядочите по возрастанию.
    41
    2. Дана целочисленная квадратная матрица:
    1) определите, превышают ли все элементы выше главной диаго-
    нали, элементы, расположенные ниже ее симметрично (то есть Aij
    сравнивается с Aji);
    2) удалите строки матрицы, в которых есть хотя бы один нуле-
    вой элемент

  • Имеются 4 задачи С++ (консоль)

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

     

    1. 1.                                        Найти сумму членов арифметической прогрессии, если известны ее первый член, знаменатель и число членов прогрессии.

    Описание переменных:

    n – число членов прогрессии;

    a – первый член прогрессии;

    d – знаменатель.

    Задание 2. Программирование ветвящихся алгоритмов.

     

    1. Грузовой автомобиль выехал из одного города в другой со скоростью V1 км/час. Через t часов в этом же направлении выехал легковой автомобиль со скоростью V2 км/час. Составить программу, определяющую, догонит ли легковой автомобиль грузовой через t1 часов после своего выезда.

    Описание переменных:

    v1 – скорость грузового автомобиля;

    t – интервал между выездами;

    v2 – скорость легкового автомобиля;

    t1 – время поездки легкового автомобиля.

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

    Дано действительное число x. Вычислить:

     

    (-1)(- 3)(- 7) *...(- 63)

    (- 2)(- 4)(- 8) *...* ( - 64)

     

    Описание переменных:

    x – параметр;

    ch – числитель;

    zn – знаменатель.

     

    Задание 4. Линейные массивы. Сортировка массивов

    1. 1.             Найти произведение элементов линейного массива целых чисел, которые кратны 5. Размерность массива –10. Заполнение массива осуществить случайными числами от 10 до 100.

     

    Описание переменных:

    mas[10] – исходный массив чисел;

    p – произведение элементов, кратных 5.

  • 1. Дана строка, содержащая текст на русском языке. Найти слово,
    встречающееся в каждом предложении, или сообщить, что такого слова нет.
    2. Написать программу, которая находит и выводит на печать все
    четырехзначные числа вида abcd , для которых выполняется: a, b, c, d –
    разные цифры; a*b-c*d =a+b+c+d

  •  

    1. Сформировать и вывести на экран целочисленный массив, элементы ко­торого заданы датчиком случайных чисел на интервале [-15, 15] (размер 10 элементов), вставить на 7 место значе­ние 100. Вывести исходный и новый массив.
    2. В произвольном массиве найти но­мер последнего нечетного элемента.
    3. В произвольном массиве найти ко­личество положительных четных эле­ментов массива.
  • <img src="data:image/png;base64,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

  • Задание 5

    а)      Найти сумму элементов главной диагонали массива 10*10.

    б)      Найти сумму элементов побочной диагонали массива 10*10.

    Задание 6

    А)1айти сумму элементов, стоящих над главной диагональю массива 10*10.

    Б) Найти сумму элементов, стоящих под главной диагональю массива 10*10.

  • Начертить узор, образованный 20 вложенными пятиугольниками. Одна сторона первого пятиугольника
    параллельно горизонтальной оси экрана. Вершины каждого последующего пятиугольника
    – это точки на сторонах предыдущего пятиугольника, делящие эти стороны в отношении
    m=0.08
    решить задачу на паскалеABC, через модуль граф

  • 24.1. Создать класс, используя сведения, представленные в таблице. Разработать программу, демонстрирующую работу с объектами этого класса согласно исходных данных и требуемых результатов, представленных в таблице.

  • Лабораторная, Информатика и программирование  3 лабораторные работы

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

    ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ ПРОЦЕССОВ

     

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

     

     

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

     

             

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

     

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

     

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

                                             

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

     

    Таблица 3

     

    вар.

    Функция

    Изменение аргумента

     

    10.

     

    T=Sin4(AX), если А<20

    T=XA+Tg(AX), если А>=20

    X= 5;

    A изменяется от 10 до 30 с шагом 5

     

     

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

     

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

     

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

     

    1. Типы данных языка Си.
    2. Схема простого циклического процесса
    3. Условные операторы в языке Си, особенности их использования.

     

     


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

    ФОРМИРОВАНИЕ И ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ

     

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

     

     

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

     

    1. Повторить вопросы организации циклических алгоритмов.

     2. Повторить следующие вопросы и понятия :

    • массивы данных (размерность массива, обращение к элементу массива,  расположение элементов массива в памяти ПК);
    • правила работы с массивами данных на языке программирования Си: описание массива, задание типа и размерности массива;
    • организация циклов для ввода и формирования элементов массива;
    • алгоритм поиска максимального (минимального) элемента одномерного массива;
    • алгоритм поиска суммы элементов одномерного массива;
    • алгоритм подсчета количества элементов одномерного массива, удовлетворяющих поставленному условию;
    • организация вывода элементов массива.

     

     

     

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

     В соответствии с вариантом (таблица 4)  разработайте алгоритм обработки элементов массива.

     Напишите программу на алгоритмическом языке в соответствии со схемой алгоритма.

    Проведите тестирование программы в среде программирования.

     

     

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

     

    ИСХОДНЫЙ МАССИВ А:

    15.583   19.287   28.385   45.621   39.728   5.456    -8.087    3.897    

    ПОЛУЧЕННЫЕ РЕЗУЛЬТАТЫ:

    МАХ = 45.621

                  

     

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

    Таблица 4

     

    вар.

    Исходные данные

    Действия по обработке массива

    10

    Массив А[15] сформировать по правилу

    Найти минимальный элемент и сумму отрицательных элементов. Заменить в массиве А минимальный элемент найденной суммой.

     

     

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

     

    1.Номер и тема лабораторной работы.

    2.Вариант задания.

    3.Результаты  подготовки:

    - схема алгоритма обработки элементов массива,

    - программа на заданном алгоритмическом языке.

    4.Итоги работы :

    - скрины экранов с результатами работы программы.

     

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

     

    1.Какие ограничения накладываются на индексы элементов массивов?

    2.Способы описания массивов на языке Си. Понятия размерности массива, описание размерности массивов.

    3.Задание типов элементов массива. Могут ли элементы массива иметь разный тип?

    4.Как располагаются элементы  массива в памяти?

    5.Чем отличаются алгоритмы поиска максимального и минимального элемента массива.

    6.  Чем отличаются алгоритмы расчета суммы и подсчета числа элементов массива.

     


     

     

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

    ОБРАБОТКА СИМВОЛЬНОЙ ИНФОРМАЦИИ

     

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

     

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

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

     

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

    1.Подготовить текст исходного предложения в соответствии с вариантом задачи, указанным в таблице (предложение должно заканчиваться точкой, разделитель слов в предложении - пробел).

    2. Составить схему алгоритма задачи согласно варианту задания.

    3. Составить программу обработки предложения и выполнить ее на ПК

     

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

    Таблица 5

    Вариант

    Условие задачи

    10

     

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

     

     

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

    1. Номер и тема лабораторной  работы.

    2. Вариант задания.

    3. Результаты  подготовки:

    - схема алгоритма обработки предложения,

    - программа на алгоритмическом языке.

    4. Итоги работы программы:

    - скрины экрана с результатами работы программы.

     

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

    1. Описание символьных данных и строк на языке Си.
    2. Встроенные функции языка Си, используемые для обработки строк.
    3. Кодирование символьной информации в ПЗВМ.

     

  • Вариант 1.

    1. Сформировать с помощью датчика случайных чисел и вывести на экран матрицу, размером MxN. Элементы задаются на интервале [-20, 25].

    1. Найти произведение элементов первой и третьей строк матрицы NxN.
    2. Найти наибольший элемент в третьем столбце матрицы и выведите его индексы.
  • 1. Сформировать с помощью датчика случайных чисел и вывести на экран матрицу, размером MxN. Элементы задаются на интервале [-30, 30].

    2. Найти сумму элементов третьей строки и второго столбца матрицы NxN.

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

    Разместите на форме четыре кнопки (Button). Сделайте на кнопках следующие надписи: «красный», «зеленый», «синий», «желтый». Создайте четыре обработчика события нажатия на данные кнопки, которые будут менять цвет формы в соответствии с текстом на кнопках.

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

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

    Лабораторная №4.

    В массиве из 20 целых чисел найти наибольший элемент и поменять его местами с первым элементом.

    Лабораторная №5.

     Дана строка, состоящая из групп нулей и единиц. Посчитать количество нулей и единиц.

     

  • Создать в программе “Блокнот” текстовый файл с текстом любимого стихотворения.

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

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

  • Сделать программу таким образом, чтобы в int main был только вызов функций. Также, вместо уже введенных данных "каменный уголь" "млн.т" "451" "503" "458" и т.д. пользователь сам должен вводить свои данные. И после каждой строчки был выбор "Ввести еще одно полезное ископаемое"

  • Создать текстовый файл. Создать новый файл, переписав в него гласные буквы исходного.

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

    1) Ввод массива структур;

    2) Сортировка массива структур;

    3) Поиск в массиве структур по заданному параметру;

    4) Изменение заданной структуры;

     5) Удаление структуры из массива;

    6) Вывод на экран массива структур;

    7) Выход.

     

    Структура «Человек»: фамилия, имя, отчество; домашний адрес; номер телефона; возраст.

  • Лабораторная работа №4

     Комбинированный тип – структура

    Задание. Создание одномодульного приложения

    Требования к выполнению задания к лабораторной работе №4

    Требуется создать консольное одномодульное приложение.

    Порядок выполнения:

    1. Включить в приложение тип данных, который определяет структуру варианта.
    2. Разработать тип – динамический массив, элементами которого является структура (далее запись), определенная вариантом и реализованная в соответствии с п.1.
    3. Разработать функции:
    • заполнение отдельной записи;
    • вывод записи;
    • добавление нового элемента (записи) в динамический массив;
    • сортировка массива записей (методом, указанным в варианте);
    • подзадач, которые будут выявлены вами при разработке дополнительной операции;
    • вывод массива записей;
    • вывод результатов операций.

    Примечание. Обмен данными между функциями обеспечить через механизм параметров.

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

    Варианты заданий к лабораторной работе №4

    № вар.

    Структура записи

    Метод сортировки

    Дополнительная операция

    1

    Сведения о студенте: номер зачетной книжки, фамилия, имя, дата рождения, номер телефона, дата поступления, признак удаления записи

    Метод прямого выбора. Отсортировать массив по дате рождения (перевести ее сначала в число, исчисляя начало 1900 годом)

    Найти и удалить всех окончивших институт (т.е. срок обучения более 6 лет)

  • Отсортировать одномерный массив в порядке возрастания, используя сортировку вставками (процесс сортировки отображать на экране).

  • Реализовать программный дек на массиве из 10 элементов типа "float”.

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

  • 1. Дано натуральное число n. Получить сумму тех чисел вида i*i+3*i*n*n+n (i=1, 2, ...., n), которые являются утроенными не четными. С помощью for.
    2. Определить является ли число степенью тройки, если да, то какой. Функцию для возведения в степень не использовать. Использовать while.
    3. Определить является ли число степенью тройки, если да, то какой. Функцию для возведения в степень не использовать. Использовать do while.
    получается 3 программы 3 блок схемы.

  • Используя методы С# работы с файлами выполните следующее задание:
    Дан двумерный массив M на N.
    Необходимо осуществить заполнение его случайными целыми двузначными числами, осуществить поиск максимальных элементов в каждой строке и вывести максимальные элементы в текстовый файл последовательно в одну строку.

  • Даны действительные числа х, у (x>0, y>1). Получить целое число k (положительное, отрицательное или равное нулю), удовлетворяющее условие (y^k-1)<= x <(y^k). Функцию для возведения в степень не возводить. Сделать через while и while do. Язык C++.

  • Тема: функции
    1. Определить наибольшую площадь треугольника, заданного длинами сторон в массиве: (a[0],a[1],a[2]) – длины сторон первого треугольника, (a[3],a[4],a[5]) – длины сторон второго треугольника и т.д. Использовать функцию определения площади треугольника.
    2. В массиве натуральных чисел определить хотя бы один элемент, представимый в виде суммы квадратов двух других элементов этого массива. Использовать функцию определения представимости элемента.
    Тема: Структуры
    1. Сведения об автомобиле состоят из номера, марки, фамилии владельца, признака прохождения техосмотра. Написать программу для занесения в массив информации о N автомобилях. Найти номера и владельцев автомобилей, не прошедших техосмотр. Определить, какой марки автомобилей больше всего. В

  • 1   .Придумать свой атд. Написать свой класс

    2     .Конструкторы и деструкторы. Написать 3 конструктора (с параметрами, по умолчанию и копирования)и де­структор

    3     .Компонентные данные и уровни доступа (пр­едусмотреть разные уровни доступа)

    4      .Статические данные

    5     .Указатель this

    6     .Друзья класса fl (написать функцию-

    7.Перегрузка операторов (перегрузить 3 опе­ратора)

    8.Наследование (предусмотреть одиночное и множественное)

    9.Виртуальные функции и абстрактные классы

    10. Вложенные и | локальные классы

  • Решить 5 задач по Алгоритмизация и программирование

    Задача 1

    Составить блок - схему алгоритма, написать программу на Паскале, вычислить значения переменных по заданным расчетным формулам и наборам данных:

    Задача 2.

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

    Задача 3.

    Даны натуральное число п и последовательность целых чисел аь а2, ... , ап. Составить блок-схему алгоритма, написать программу и провести вычисления в соответствии с заданием.

    Задача 4.

    Дана действительная матрица А размера m х п. Составить блок-схему алгоритма, написать программу и провести вычисления в соответствии с заданием.

    Задание 2.

    Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом. Результат работы программы вывести в виде текстового сообщения.

  • аписать две программы в консоли, языке java:

    1   Программа просит пользователя ввести число любое ("введите число:"), далее, а на выходе мы должны получить ряд простых чисел (простые это те которые делятся на 1 и на самих себя)

    Например ввел 100 и из 100 программа отбирает эти простые числа и выводит их пользователю!

    2    Программа просит пользователя ввести строку (любую) ("введите строку") и из

    этой строки программа должна определить есть в ней полиндром или нет!

    Написать пользователю есть полиндром или полиндром отсутствует в данной стооке!                                           

  • Л.р. №19

    1. Создать класс «Фигура» и класс «Точка» (определяет цвет)

    Поля класса: определяют размеры и название для класса «Фигура», код цвета и название для класса «Точка».

    Определить конструктор и метод инициализации, метод возвращения значений полей, метод возращения названия.

    Определить скрытые методы вычисления периметра и площади.

    Разработать программу, в которой создается по два объекта с параметрами, запрашиваемыми у пользователя (размер и цвет), выводится площадь, периметр каждой фигуры.

    2. Создать Класс «Тело» - наследник классов «Фигура» и «Точка».

    Перегрузить методы вычисления периметра и площади. Перегрузить метод возращения названия.

    Перегрузка должна использовать полиморфизм.

    Добавить метод вычисления объема. Добавить метод сравнения двух тел: тело считается больше, если имеет больший объем.

    Разработать программу, в которой создается по два объекта с параметрами, запрашиваемыми у пользователя (размер и цвет), выводится площадь, периметр и объем каждого тела и результат их сравнения.

    Вариант: квадрат

  • Контрольная, Информатика  Необходимо выполнить задание состоящие из двух частей: теоретической и практической.

    Контрольная работа

    Методические указания и задание на выполнение контрольной работы

     

    Задание к контрольной работе состоит из двух частей: теоретической и практической.

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

    Теоретический вопрос:

    4. Структура и принципы функционирования ЭВМ

    Вариант задания практической части:

    4. Сформировать матрицу А размером 5х5 с помощью генератора случайных чисел и вывести элементы матрицы на экран. Определить максимальный элемент матрицы А, номер его строки и номер его столбца. Сформировать одномерный массив Х из элементов той строки, в которой расположен максимальный элемент.

  • Замечания:

    1.

    В задаче 2 используется файл STUDENT.DAT, в котором записана информация о студентах в следующем формате: фамилия (строка до 12 символов), имя (строка до 10 символов), год рождения (целое число), месяц рождения (целое в диапазоне 1..12), день рождения (целое в диапазоне 1..31), четыре оценки за последнюю экзаменационную сессию (целые числа в диапазоне 2..5).

    2.

     В задаче 3 при обработке файла не использовать массив чисел, если это не оговорено по условию задачи.

     

     

    1 – вариант.

    1. Дан текстовый файл. Переписать его, поставив в начало каждой строки 6 пробелов.

    2. На диске имеется файл данных STUDENT.DAT. Упорядочить список студентов по алфавиту и распечатать его.

    3. Записать в файл n целых чисел, полученных с помощью генератора случайных чисел. Подсчитать количество пар противоположных чисел среди компонентов этого файла.

     

     

    2 – вариант.

    1. Дан текстовый файл. Получить строку, в которой все слова начинаются на букву А.

    2. На диске имеется файл данных STUDENT.DAT. Вычислить средний балл группы и распечатать список студентов, имеющих средний балл ниже среднего балла группы.

    3. Записать в файл n действительных чисел. Найти наибольшее из значений модулей компонентов с нечетными номерами

     

     

     

  • Написать простой одностраничный сайт, с 2-3 кнопками, одной формой ввода и логом, где обработка событий происходит на C#.

    1. Реализовать алгоритм сортировки массива из 90 элементов методом простых вставок.
    2. Реализовать алгоритмы случайного перемешивания одномерного массива из 50 элементов, заполненного неповторяющимися числами.
    3. Найти наибольший общий делитель для двух чисел: 13 и 88 (с помощью алгоритма перебора от минимального числа).
  • Контрольная, Программирование  Решить одно задание

    Четырехзначное число N разбили по центру на два двузначных числа: a и b. Найти все числа, для которых выполняется условие (a+b)^2 = N

  • Курсовая, Информатика  Написать программу языком Си

    Указания по выполнению курсовой работы

    по курсу «Информатика»

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

    К поставленной перед Вами задаче следует отнестись так:

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

                а) добавить запись в файл или начать запись нового файла;

                б) начать обработку созданного файла;

    Предусмотреть возможность выполнения данных операций многократно.

     

    Задачи для курсовой работы

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

     

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

    Написать программу

    1. Создать файл Wedomost.dat, содержащий  запис следующей структуры:
    • фамилия и инициалы студента;
    • номер группы;
    • успеваемость по трем предметам;(массив из трех чисел)
    1.  программа должна выполнять следующую обработку файла  Wedomost.dat:
    • поиск в файле информации о студентах, имеющих только оценки 4 и 5;
    • если таких студентов нет, выдать соответствующее сообщение на дисплей.
  • Лабораторная, Информатика  Решить 2 лабораторные работы.

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

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

     

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

     

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

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

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

     

     

     

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

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

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

     

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

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

     

     

     

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

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

     

     

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

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

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

     

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

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

     

     

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

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

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

     

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

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

     

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

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

     

     

  • Лабораторная работа №2 — Связный список

    Задача: реализовать на основе односвязного списка контейнер

    myList, который бы позволял хранить произвольный тип данных.

    Указания по выполнению:

    - лабораторная работа состоит из двух файлов:

    myList.java — описание класса list, прототипы методов,

    реализация методов;

    test-list.java — тестирование и проверка возможностей класса;

    - класс mylist должен содержать следующие поля:

    ссылку на первый элемент списка;

    ссылку на последний элемент списка;

    число элементов в списке;

    - класс myList должен содержать следующие методы:

    конструктор;

    конструктор копирования;

    добавление элемента в начало списка, в конец списка;

    удаление элемента из начала списка;

    удаление элемента по значению;

    получение числа элементов в списке;

    очистка списка (удаление всех элементов);

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

    генерироваться исключения.

  • Для последовательности целых чисел заданной длины n (вводится в диалоге с пользователем) подсчитать общую сумму и количество элементов заданой последовательности, которые расположены: между первым не принадлежащем диапазону от -5 до 7 элементом последовательности и последним элементом последовательности, значение которого меньше его порядкового номера (язык Си)(ещё желательно написать в скобочках в программе пояснения)

  • 7. Дан файл/, компоненты которого являются целыми числами. Получить в файле g отрицательные нечетные компоненты файла f.

    11. Дан файл/, компоненты которого являются действительными числами. Получить файл g, образованный из файла f заменой ненулевых компонент на 0,0.

  • 7. Дан массив размерности п и число к (0<к<п). Осуществить циклический сдвиг элементов массива на к позиций.

    _8. _ Дан массив размерности п. Найти два соседних элемента, сумма которых минимальна.

    9. Создать и вывести на печать матрицу m на п. Посчитать среднее арифметическое ее строк.

    10 Поменять местами строки с max и min суммой.

    11.* Транспонировать квадратную матрицу.

    12. ‘ Написать программу умножения двух матриц.

    13 Реализовать любой метод сортировки массива.

  • Разработать программу создания и корректировки файла содержащего сведения о студентах каждый элемент этого файла должен содержать следующие данные :номер группы, номер в группе по списку, фио , год рождения, оценки за последнюю сессию .программа должна предусматривать создание текстового файла содержащего информацию о студентов заданной группы.

  • 1) Дана последовательность натуральных чисел {aj}j=1...n (n<=10000). Если в последовательности есть хотя бы одно простое число, упорядочить последовательность по невозрастанию.
    2) Дана целочисленная матрица {Aij}i=1..n,j=1..m (n,m<=100). Найти столбец с наименьшей суммой элементов и заменить все элементы этого столбца этой суммой.
    3) Дана последовательность натуральных чисел {Aj}j=1...n (n<=10000). Удалить из последовательности числа, все цифры которых различны, а среди оставшихся продублировать числа, произведение цифр которых кратно 14. (Сначала введите последовательность в массив. Затем удалите и продублируйте элементы. Затем выведите полученную последовательность (каждый элемент по одному разу). Используйте в программе только один массив. )

  • Лабораторная, программирование на СИ отчет в ord

    Задание 1

    В массиве Х(N) найти сумму элементов массива, расположенных после максимального элемента.

    Задание 2

    Дана целочисленная матрица 8x8. Найти сумму элементов в заштрихованной области.

    Сформировать одномерный массив, состоящий из сумм элементов нечетных столбцов.

  • Решение задач, программирование на СИ  Написать программы

    Индивидуальное домашнее задание № 1. вспомогательные алгоритмы. 

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

     

                Задание 1

    Найти сумму наибольших из отрицательных элементов матрицы А (7х8) и массива В (76).

    Задание 2

    Подсчитать количество элементов массива Р (60), отличающихся от среднего арифметического значения элементов массива М (70) не более чем вдвое, и количество элементов массива М, отличающихся от среднего арифметического значения массива Р не более, чем втрое.

    Задание 3

    Задание 4

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

  • Задача. Вычислить суммы элементов столбцов заданной матрицы .
    //Ivanov Ivan, NK-101,27.06.12, 19:05
    #include <conio.h>
    #include <stdio.h>
    #define LIM 30
    /*Вычислить суммы элементов столбцов матрицы а(N,M)*/
    void main(){
    int i,j,n,m,sum,a[LIM][LIM];
    printf("\nвычисление суммы элементов столбцов матрицы a(n,m)\n");
    do{
    printf("Введите 0<n<=%d ",LIM);
    scanf("%d",&n);
    }while(n<=0 || n>LIM);
    do{
    printf("Введите 0<m<=%d ",LIM);
    scanf("%d",&m);
    }while(m<=0 || m>LIM);
    printf("Заполнение матрицы\n");
    for(i=0;i<n;i++)
    for(j=0;j<m;j++){
    printf("введите элемент %d %d ",i,j);
    scanf("%d",&a[i][j]);
    }
    printf("Матрица а(n,m)\n");
    for(i=0;i<n;i++){
    for(j=0;j<m;j++)
    printf("%2d",a[i][j]);
    putchar('\n');
    }
    for(j=0;j<m;j++){
    sum=0;
    for(i=0;i<n;i++)
    sum=sum+a[i][j];
    printf("сумма столбца %d = %d\n",j,sum);
    }
    getch();
    }
    Задачи
    1. Дана матрица . Вывести ее элементы, расположенные в строках с четными номерами (2, 4, …). Вывод элементов производить по строкам, условный оператор не использовать.

    2. Дана целочисленная матрица . Определить, встречается ли заданное целое K среди максимальных элементов столбцов этой матрицы.

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

  • Задана матрица A целых чисел размера N*M(N,M<=20,N и M задаются как параметры).Преобразовать ее в матрицу B путем удаления:строки этой матрицы с минимальным номером,в которой все элементы делятся на 3 и упорядочены по возрастанию.Если такой строки нет,то программа должна выдать соответствующее сообщение.На печать следует вывести как исходную,так и результативную матрицу.(ввод массивов должен производиться вручную(без использования рандома))

  • Разработайте программу,которая вводит целое положительное число в промежутке от 1 до 100 (необходимо предусмотреть обработку ошибок при вводе). В соответствии с этим числом сформировать записи трех видов:
    "Ваш возраст 1 год", "Ваш возраст 22 года", "Ваш возраст 75 лет"
    ''Вам до совершеннолетия 17 лет'',''Вы совершеннолетний 4 года'','''Вы совершеннолетний 57 лет"
    "Вам до пенсии 59 лет", "Вам до пенсии 48 лет", "Вы на пенсии 15 лет"
    Примечание 1
    Будем считать пенсионный возраст 60 лет.
    Примечание 2
    Если введено число 18, то вторая запись будет ''Вы совершеннолетний".
    Если введено число 60, то третья запись будет ''Вы пенсионер".
    При разработке данной программы используйте технологию структурного программирования.
    Там, где удобно, используйте оператор switch.

  • 1. В одномерном числовом массиве найти сумму простых ее членов.
    2. Для заданного целочисленного массива найти N x N найти максимум среди сумм элементов диагоналей, параллельных главной диагонали.

    Оформить вторую задачу из лабораторной с использованием модуля.

  • Лабораторная работа №3 — Динамический массив

    Задача: реализовать контейнер myVector — динамический массив

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

    Указания по выполнению:

    - лабораторная работа состоит из двух файлов:

    myVector.java — описание класса vector, прототипы методов,

    реализация методов;

    test-vector.cpp — тестирование и проверка возможностей

    класса;

    - класс myVector должен быть шаблонным;

    - класс myVector должен содержать следующие поля:

    ссылку на массив;

    текущее число элементов;

    максимальное число элементов;

    - класс myVector должен содержать следующие методы:

    конструктор;

    конструктор копирования;

    добавление элемента в конец;

    удаление последнего элемента;

    удаление элемента по индексу;

    вставка элемента по индексу;

    изменение размера массива;

    очистка массива (удаление всех элементов);

    получение текущего и максимального размера контейнера;

    - пользователь должен иметь возможность задать начальное

    число элементов в массиве с помощью конструктора;

    - память под массив должна выделяться с запасом. Можно

    придерживаться простейшей стратегии: макс.число элементов =

    2*(число элементов) + 10;

    - если число элементов за счет добавления новых превышает

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

    существующие элементы

    - при невозможности удаления элемента, доступа к элементу и

    т. п. должны генерироваться исключения

  • Дан текстовый файл f1. Переписать его содержимое в файл f2, сохраняя строчную структуру и удаляя пустые строки.

  • Определить класс Matrix размерности nxn. Класс должен содержать
    несколько конструкторов. Реализовать методы вывода матрицы на экран,
    методы определения и получения размерности матрицы и самой матрицы.
    язык java

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

  • Лабораторная работа 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аботы с данными класса: изменение цены товара, изменение количества товара, вычисление стоимости, строковое представление объекта.

  • Задание № 1

    Вопрос № 1.

    Какого типа переменным можно присваивать значения переменных другого типа?

    Вопрос № 2

    Какие типы в языке Pascal относятся к порядковым типам?

    Вопрос № 3

    Чем отличается символьный тип от строкового?

    Вопрос № 4

    Назвать диапазоны допустимых значений для целых и вещественных типов данных.

    Вопрос № 5

    Какие операторы можно использовать с логическим (BOOLEAN) типом, какие операторы возвращают значения логического типа?

    Вопрос № 6

    Как объявляются перечислимые типы данных?

    Вопрос № 7

    Какое максимальное число элементов перечислимого типа?

    Вопрос № 8

    Привести пример ограниченного типа данных.

    Вопрос № 9

    Можно ли в качестве элементов ограниченного типа использовать вещественные числа?

     

    Вопрос № 10

    Какова максимально возможная длина строки и какова длина строки по умолчанию (без её явного объявления)?

    Вопрос № 11

    Каков порядок выполнения арифметических операций?

     

    Вопрос № 12

    Каков порядок выполнения логических операций?

    Вопрос № 13

    Какой тип операндов у операций отношения и у логических операций?

    Вопрос № 14

    Какого типа переменные Z и Y в программе, содержащей строку:

    Вопрос № 15

    Переменные какого типа можно использовать в качестве параметров цикла FORTODO?

    Вопрос № 16

    В чем отличие циклов WhileDo от RepeatUntil?

    Вопрос № 17

    В каких операторах цикла допускается изменять параметр цикла, а в каких нет?

    Вопрос № 18

    Определение массива.

    Вопрос № 19

    Переменные какого типа можно использовать в качестве индексов массива?

    Вопрос № 20

    Какие объекты (переменные, выражения и т.д.) можно использовать в качестве индексов массива?

    Вопрос № 21

    Какова структура программы?

    Вопрос № 22

    Для чего используется составной оператор?

    Вопрос № 23

    Для чего используются операторы цикла и логический оператор?

    Задание 2

    Перевести числа 1234 и 4321 в двоичный и шестнадцатеричный вид.

    Задание 3

    Составить программу, в которой с помощью оператора While подсчитать сумму ряда:

     

    до тех пор пока член ряда не будет меньше 0,005.

    Задание 4

     

    Составить программу, в которой с помощью оператора While организовать цикл, в котором значения параметра t менялись от 0.5 до 5 с шагом h = 0.1. Вывести на экран значения t и функции.

     

    Задание 5

     

    Составить программу, в которой с помощью оператора For подсчитать сумму ряда:

     

    Задание 6

    Составить программу, в которой с помощью оператора REPEAT протабулировать функцию y=2*x+0.33 в диапазоне параметра от 1 до 5 с шагом 0.25.

    Задание 7

    Составить программу, в которой составить массив C[1..100] из псевдослучайных символов из диапазона CHR(65)-CHR(90) и определить количество символов 'A','B','C' и 'D'.

    Задание 8

    Составить программу, в которой сформировать двумерный целочисленный массив А[1..30,1..30] из случайных целых чисел и определить количество элементов массива, значения которых больше 20.

     

     

     

     

     

     

     

  • Другое, программирование на СИ --Написать программу

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

  • 1.Текстовая лабораторная работа № 1. Задание на лабораторную работу № 1 размещено: Учебное методическое пособие Время не ограничено.
    Каждое контрольное задание в составе лабораторных работ состоит
    из нескольких задач, требующих разработки программ на Паскале (можно
    использовать PascalABC). Использование Delphi не допускается. Разработанные и отлаженные программы (обязательно сопровождающиеся комментариями в тексте), а также отчет по каждой лабораторной работе
    студент по мере освоения соответствующих разделов языка программирования отправляет на проверку.
    Текстовая лабораторная работа № 2. Задание на лабораторную работу № 2 размещено: Учебное методическое пособие.Время не ограничено
    созданию программ с использованием массивов (одномерных и матриц) и множеств.

  • Разработать программу, которая запоминает в двумерном массиве, имеющем 6 строк и 8 столбцов, числа от –5 до 15, получаемые случайным образом, определяет строки с максимальной и минимальной суммами и меняет эти строки местами.
    Примечание:
    Нельзя использовать рекурсию.
    Если присутствует scanf, то добавить проверку на ввод.
    Добавить комментарии, дабы я мог разобраться в программе.

  • Трехмерный массив описывает школьный журнал одного класса. Каждая страница журнала содержит оценки N учеников за М уроков по одному предмету (в каждой строке – оценки одного ученика, в каждой колонке – оценки за один урок). В журнале L страниц – по количеству изучаемых школьниками предметов. Пусть N=26, M=48, L=14. Определить, есть ли в классе ученики, которые учатся без двоек.

  • Вычислить площадь фигуры образованной квадратоми равносторонним треугольником с высотой не более 80% от длин стороны квадрата.

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

  • Условие 1:
    Ввод: пользователь вводит строку с ФИО;
    Задача:
    1) убрать лишние пробелы (в начале и конце, должен быть один между словами);
    2) поменять окончания в фамилиях ("ов" на "идзе");
    3) вывести результат;

    Условие 2:
    Ввод: какой-то текст;
    Задача:
    1) посчитать количество слов в тексте;
    2) распечатать сколько раз какое слово встречается;
    3) разбить текст по строкам с заданной шириной (40 символов в строке), при этом разбивать текст не по символам, а по пробелам между слов (должно получиться, как в Word);
    4) вывести эти строки и написать их количество (строк).

    Условие 3:
    Работа с группой студентов. Группа имеет название и список студентов. Студент - ФИО и набор оценок (5 штук).
    Организовать работу:
    1) Ввода данных;
    2) Вывода данных;
    3) Сортировки (по алфавиту, по среднему баллу);
    4) Группировки (по минимальной оценке), шкала: "отл.", "хор.", "уд.", "неуд.";
    5) Удаления (должны удаляться все, у кого балл ниже "уд.");
    6) Консольного меню в программе.

  • Программа запрашивает у пользователя 2 числа

    Размер массива п и искомое число х Затем программа создаёт одномерный массив размером 2п и заполняет его случайными числами в диапазоне от О ДО 2п

    Программа сортирует этот массив с помощью алгоритма

    1. Пузырьковая сортировка

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

  • Разработайте программу, которая читает из стандартного потока ввода строки и размещает их в динамических массивах строк. Перед размещением из строки удаляются все символы-разделители (пробелы и табуляция). Адреса этих массивов запоминаются в массиве указателей. После окончания ввода содержимое массивов выводится в стандартный поток вывода.
    При разработке данной программы используйте технологию структурного программирования.
    Примечание:
    Если имеется в коде scanf, то обязательно должна быть проверка ввода.
    Использовать рекурсию запрещено.
    Добавьте комментарии.

  • 2 Содержание работы

    2.1 Напишите программу ввода с клавиатуры массива из 10 чисел, увеличения элементов массива в два раза и вывода на экран измененного массива.

    2.2 Доработать вывод массива на экран, задав ширину поля вывода элемента. Модифицировать программу таким образом, чтобы массив заполнялся случайными числами из диапазона [-10;10]. 

    2.3 Дополнить программу вычислением суммы всех элементов исходного массива.

    2.4 Дополнить программу нахождением количества  отрицательных элементов.

    2.5  Дополнить программу нахождением наименьшего элемента массива

    2.6 Дополнить программу выводом на экран каждого 3-го,6-го,9-го элемента

    2.7 Поменять местами первый отрицательный и последний положительный
    элементы массива.

  • Решить 1 задачу в Паскале

    Задача 4  – это написание программы на языке Паскаль

    Содержание отчета к решениям задач 4

    1. Номер задачи.

    2. Постановка задачи по варианту.

    3. Блок-схема алгоритма.

    4. Исходные данные для программы.

    5. Текст программы на языке Паскаль.

    6. Результаты расчета

     

    Задание:   Переписать положительные элементы целочисленного массива Х[15] в массив У[15]. (Элементы массива Х вводятся с клавиатуры). Незаполненные элементы массива У считать нулевыми. Вывести массивы Х и У на экран.

  • 1. Создать класс квадрат, свойства класса– длина стороны. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – диагональ, периметр, площадь. Создать производный класс – правильная квадратная призма с высотой H, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре.

  • Написать программу в Visual Studio,удаляющую все комментарии из листинга программы С++.Программа должна обрабатывать файл *.cpp указываемый пользователем в начале работы.Сделать для программы блок-схему.

  • Задание:

    1)      Разобраться со структурной программой ЛР1.

    2)      Контрольный ввод ЛР2.

    3)      Линейный алгоритм:

    1.равнобокая

    2

    Написать программу вычисляющую

    S фигур.

    1. Дано a, b, h : int

    Найти S и P.

    1.  Дано R h-?

    Найти S-?

    Одной программой

  • Лабораторная, информатика программирование 7 заданий

    Лабораторная работа 4 (ЛР4). Массивы в языке С++.

     

    Цель работы. Освоить основы работы с массивами в языке С++.

    Вариант №1:

    1. Определить среднее арифметическое элементов массива с s1-го по s2-ой (значения s1 и s2 вводятся с клавиатуры; s2 > s1);

    2. Дан массив вещественных чисел. Каждый элемент, больший 10, заменить на его квадратный корень;

    3. Найти элемент, наиболее близкий к среднему значению всех элементов массива;

    4. В массиве хранится информация о максимальной скорости каждой из 40 марок легковых автомобилей. Определить порядковый номер самого быстрого автомобиля. Если таких автомобилей несколько, то должен быть найден номер первого из них;

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

    6. Если в массиве есть хотя бы одна тройка соседних чисел, в которой средний элемент больше своих "соседей", т.е. предшествующего и последующего, то вывести все элементы, предшествующие элементам последней из таких троек;

    7. Из элементов массива a сформировать массив b того же размера по правилу: если номер i-го элемента массива a четный, то bi=ai2, в противном случае bi=2∙ai.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • Дано два текстовых файла. Найти все вхождения и их позиции текста из одного файла в другом.

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

    Дана неубывающая последовательности ь действительных чисел а2,...ап . Вставить действительное число h в псе гак, чтобы последовательность осталась неубывающей.

  • Программа контроля процессорного времени, используемого работающими приложениями и при его превышении останавливающая все потоки этого процесса. Лимит превышения времени и сигнал возобновления работы приложений задается пользователем.

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

  • Необходимо написать двоичное дерево поиска в Visual C#

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

    Вариант задания:
    Информация о телевизорах: Модель
    (ключевое поле, имеет
    уникальные, неповторяющиеся значения), Размер по диагонали (поле
    используется для отбора элементов), Производитель, Цена.

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

  • Через входной поток поступает несколько строк.
    В первой строке вводится натуральное число N - количество оставшихся строк (тестов).
    В каждой из следующих N строк размещено два слова, разделенные пробелом. (Длина каждого слова не превышает 32).
    Необходимо для каждой пары слов получить новое слово, так, чтобы окончание первого совпадало с началом второго, например, гора + радуга = горадуга. Это слово надо вывести в стандартный поток вывода.
    Если слова возможно соединить несколькими способами, надо выбрать тот, который обеспечивает максимальную общую часть, например папа + папаха = папаха (а не папапаха).

    Пример входного потока:
    3
    шлакоблок окунь
    папа папаха
    папа мама

    Выходной поток:
    шлакоблокунь
    папаха
    папамама

  • Решение задач по предмету «Информатика»

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

    Тема: Программирование задач на одномерные и двумерные массивы

    Дан массив из N действительных чисел. Заменить все его члены, большие данного Z, этим числом. Подсчитать количество замен.

    4.1.1.     Пример решения задачи

    Задание. Составить программу подсчёта в одномерном массиве В из n элементов суммы отрицательных и произведения положительных элементов массива.

  • Задание

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

    Задание состоит из основной задачи и дополнительных двух заданий. Без выполнения обоих частей задание не считается выполненным.
    Задания выбираются в соответствии с порядковым номером в списке группы.
    Номер в списке группы делится на 5, находится остаток от деления, к остатку прибавляется 1, полученное значение это номер  задачи.

    1) Создать базу данных(БД) Автомобилей. БД содержит марка автомобиля, год выпуска, пробег. БД должна загружаться из файла "base.txt"  и сохранятся в него. Функции, которые можно выполнять с БД: удалить, добавить, изменить запись. Поиск всех автомобилей заданного цвета. Подсчет количества автомобилей, где год выпуска находится в задаваемом диапазоне.

    2) Осуществить вывод данных в чередование один элемент с конца, один сначала.

    3) Реализовать удаление записей соответствующих заданным фильтрам. Пример: для задачи 5 нужно найти всех студентов с одинаковыми любимыми предметами. В БД хранится ("Вася",математика),("Петя",математика), ("Катя",информатика), ("Лена",английский язык).Найдены "Вася","Петя".  Их нужно удалить из БД.  После удаления в БД будут ("Катя",информатика), ("Лена",английский язык).

  •  

     

    1)Вычислить и вывести на экран в виде таблицы значения функции, заданной графически (см. рисунок), на интервале от х1 до х2 с шагом dx. Интервал и шаг задавать таким образом, чтобы проверить все ветви программы. Таблицу снабдить заголовком и шапкой

     

     

     

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

     

     

    3)Внимание!

    Массив должен хранится в текстовом файле. Размерности массивов следует задать именованными константами. Все необходимые данные должны передаваться подпрограммам в качестве параметров; все величины, используемые только внутри подпрограмм, должны быть описаны как локальные. Использование глобальных переменных в подпрограммах не допускается. Вывод результатов работы подпрограмм должен выполняться в главной программе.

     

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

     

     

    4) Динамические структуры данных

     

    Задание: Дан набор из 10 чисел. Создать две очереди: первая должна содержать все нечетные, а вторая — все четные числа из исходного набора (порядок чисел в каждой очереди должен совпадать с порядком чисел в исходном наборе). Вывести указатели на начало и конец первой, а затем второй очереди (одна из очередей может оказаться пустой; в этом случае вывести для нее две константы nil).

  • Лабораторная работа № 1 «Задача по циклам»
    Написать программу, вычисляющую среднее арифметическое 5 чисел, введенных с клавиатуры.


    Лабораторная работа № 2 «Задача по матрицам»
    Программа вычисляет среднее арифметическое элементов матрицы, вводимой по строкам.

    Лабораторная работа № 3 «Линейные и ветвящиеся алгоритмы»
    Написать программу, которая выводит на экран число целого типа R, заданное с клавиатуры N-ое количество раз.


    Лабораторная работа № 4 «Функции»
    Напишите функцию, которая возвращает большее значение из введенных пользователем.

  • 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. Отличие параметров-значений от параметров переменных

    .

  • 1. Даны 4 действительных числа а, b, c, d. Найти их среднее арифметическое и среднее геометрическое.
    2.Дано уравнение x + Ln(x + 0.5) – 0.5 = 0. Найти интервал [Х1, Х2], в котором расположен корень.
    Подсказка: в интервале, где расположен корень, функция меняет знак.
    3.Даны два числовых ряда А и B. Задать массив, каждый элемент которого является произведением соответствующих элементов данных рядов.

  • Написать подпрограмму циклического сдвига N элементов массива на одну позицию вправо (N<50). Выполнить циклический сдвиг массива А(10) на k позиций вправо. Вызвать из главной программы.

  • КОНТРОЛЬНАЯ  РАБОТА

    1 Задание: Вычислить сумму ряда (по вариантам). Не использовать стандартные функции возведения в степень и факториал, а написать свои функции для вычисления числителя и знаменателя.

    2 Задание:

    1. Двумерный массив: а) отсортировать четные строки по возрастанию, а нечетные – по убыванию; б) найти, сколько раз в массиве повторяется самое частое число; в) заменить это число на а
  • Тема - Файлы

    Вариант 7

    В файле последовательного доступа хранится информация о рыбной продукции: наименование продукции, дата изготовления, единицы измерения, количество, срок год­ности. Вывести наименовании рыбной продукции. Определить продукцию, количество которой меньше заданной. Результат запроса хранится в друтом текстовом файле.

    Рекомендация. Данные о пакетах хранить в текстовом файле на отдельных строках. При необходи­мости можно вводить вспомогательный файл последовательного доступа.

    Тема-ДАННЫЕ НЕСВЯЗНОЙ ДИНАМИЧЕСКОМ СТРУКТУРЫ

    Даны три величины ссылочного типа на строковое значение. Продемонстрировать проверку на совпадение с паролем.

    Тема -ДИНАМИЧЕСКИЕ МАССИВЫ

    Вариант 7

    Определить элементы вектора, индексы которых совпадают со значениями в этих элементах.

  • Построить линейный список из фамилий. Вставить в него введенную фамилию, сохранив алфавитный порядок. Используется текстовый файл, в котором в столбик записано 10 фамилий в алфавитном порядке
    С++

  • Задание 1 .

    Составить блок-схему алгоритма и программу на Паскале для вычисления функций y(x). Ввести программу в ЭВМ, вычислить значения функции и проверить ее. В отчет включить блок-схему алгоритма, текст программы, реакцию ЭВМ. 

     

    Задание 2 .

    Составить блок-схему алгоритма и программу на Паскале. В квадратной комнате шириной A и высотой B есть окно и дверь с размерами C на D и M на N соответственно. Вычислите площадь стен для оклеивания их обоями. 

    В отчет включить текст программы, реакцию ЭВМ с приложением скриншота.

    Задание 3

    Составить блок-схему алгоритма и программу на Паскале для вычисления функций z. Ввести программу в ЭВМ, вычислить значения функции и проверить ее для самостоятельно выбранных трех пар значений переменных X и Y.

     приложением скриншота

    Задание 4

    Составить блок-схему алгоритма и программу для обработки массива из 20 чисел X = (0,3; 5; 69; –3; 52; –20; –9; –23; –9; 10; 36; 12; 15; 23; –0,2; –36; –0,3; 8; 45; –7) при b = –6 Вычислить произведение и количество элементов, не равных нулю и больших b.

     приложением скриншота

    Задание 5 .

    Составить программу и блок-схему алгоритма для вычисления площади 5 квадратов со сторонами, изменяющимися от 0 до 15 в цикле.

     

    В отчет включить текст программ на Паскале, реакции ЭВМ приложением скриншота

     

     

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

    Дана последовательность целых чисел 1 а2, … , аn  }Найти минимальное

    значение в последовательности и подсчитать сколько раз оно в ней встречается.

  • Контрольная, Информатика и программирование  5 задач по програмированию на Паскале

    Задание 1

    Дано уравнение окружности в виде: х22=49. С клавиатуры вводятся координаты х, y точки M(2, 4). Если точка оказывается внутри заданной области, то вывести сообщение «Точка принадлежит области», в противном случае вывести сообщение «Точка не принадлежит области».

    В отчет включить текст программы на Паскале, реакцию ЭВМ. + скриншот рзультата

    Задание 2

    Составить блок-схему алгоритма и программу на Паскале для вычисления функций z. Ввести программу в ЭВМ, вычислить значения функции и проверить ее для самостоятельно выбранных трех пар значений переменных X и Y.

    + скриншот рзультата

     

    Задание 3

    Составить блок-схему алгоритма и программу на Паскале для решения задачи.

    Ввести номер месяца и вывести количество дней в нем. 

    Показать результаты работы программ. (скриншот рзультата)

    Задание 4

    Составить блок-схему алгоритма и программу на Паскале для обработки массива из 15 чисел Х = (0.01; –3; 0; 1.25; –371; 0.5; –0.1; 1.2; –5; –172.3; 19783; –2.7; 43.51; 0; –0.02) при b=3. Вычислить произведение и количество элементов, не равных нулю и больше b.

     

    Задание 5

    Найти сумму и произведение элементов одномерного числового массива M = (5; 45; 6; 87; 41; 36; 74; 12; 3; 10).

    В отчет включить блок-схему, текст программы на Паскале, реакцию ЭВМ. + скриншот рзультата

     

     

     

  • Фермер хочет построить на своей земле как можно больший по площади сарай. Но на его участке есть деревья и хозяйственные постройки, которые он не хочет никуда переносить. Для простоты представим ферму сеткой размера MxN. Каждое из деревьев и построек размещается в одном или нескольких узлах сетки. Прямоугольный сарай не должен ни с чем соприкасаться (т.е. в соседних с ним узлах сетки не может ничего быть). Найти максимально возможную площадь сарая и где он может размещаться.

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

     

    Тема: Структурный тип данных в языке С++

     

    Цель: Изучение алгоритмов обработки объектов структурного типа данных и способов их реализации в языке С++.

    Задания для самостоятельного выполнения

     

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

    Фамилия, имя;

    Номер телефона;

    Дата рождения (структура из трёх полей).

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

    ­       Ввод с клавиатуры данных в массив, состоящий из нескольких структур типа NOTE,

    ­       Сортировка записей в порядке возрастания дат рождения (направление сортировки выбирается пользователем);

    ­       Вывод информации о людях с совпадающими днями рождения. Если таких нет, вывести соответствующие сообщение.

    Лабораторные работы №3,4

     

    Тема: Потоковый ввод-вывод в языке Си.

     

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

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

    ­        

    ­       Для задачи из лабораторной работы №1 или №2, полученной ранее, реализовать возможность сохранения введенных пользователем данных (содержимого массива структур или списка структур) в файл на диске. Результаты обработки данных также сохранять в файле. При запуске программы предоставлять пользователю выбор – будет он вводить новые данные, или считает данные из файла (название файла должно вводиться пользователем).

    ­       Написать программу, которая разбивает содержимое файла на n равных частей, каждую сохраняя в отдельный файл. Имя файла и число n вводится.

    ­        

    ­        

     

  • Лабораторная, Информатика 3 штуки на С

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

    ФОРМИРОВАНИЕ И ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ

     

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

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

     В соответствии с вариантом (таблица 1)  разработайте алгоритм обработки элементов массива.

     Напишите программу на алгоритмическом языке в соответствии со схемой алгоритма.

    Проведите тестирование программы в среде программирования.

    Исходные данные

    Действия по обработке массива

    Массив Х[30] нецелых элементов задать датчиком случайных чисел.

    Записать в массив Y подряд отрицательные элементы массива Х.  Найти их среднее арифметическое.

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

     

    1.Какие ограничения накладываются на индексы элементов массивов?

    2.Способы описания массивов на языке Си. Понятия размерности массива, описание размерности массивов.

    3.Задание типов элементов массива. Могут ли элементы массива иметь разный тип?

    4.Как располагаются элементы  массива в памяти?

    5.Чем отличаются алгоритмы поиска максимального и минимального элемента массива.

    6.  Чем отличаются алгоритмы расчета суммы и подсчета числа элементов массива.

     

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

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

     

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

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

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

    Создать текстовый файл с произвольным числом строк. Из исходного файла, начиная с первой встретившейся буквы 'а', переписать в новый файл все символы до первой встретившейся буквы ' к'. Если буквы «к» не будет, переписать все символы до конца файла.

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

     

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

     

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

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

     

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

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

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

    1. 1.    Для каждого пункта задания написать подпрограмму-функцию

    - сформировать   целочисленную матрицу    А(NхN);

    -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана;

    - найти в матрице количество отрицательных чисел;

    - вычислить суммы диагональных элементов(  главной и побочной ) отдельно, но в одной функции.

    Написать  функцию (main), вызывающую разработанные вами функции.

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

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

     

     

  •  Контрольная, основы программирования, программирование

    Содержание контрольной работы:
    1. Титульный лист
    2. Текст задания
    3. Листинг разработанной программы
    4. Скриншот выполнения программы
    Варианты заданий:
    Вариант №1
    1. Составить программу для подсчета площади трапеции по формуле.
    S = h * (a + b) / 2. Где h — высота трапеции, a и b — верхнее и нижнее
    основания трапеции. Вычисления производить в подпрограмме.
    2. Составить программу для расчета произведения четных элементов
    одномерного массива из 10 чисел. Значения элементов вводятся с
    клавиатуры.

  • Фермер хочет построить на своей земле как можно больший по площади сарай. Но на его участке есть деревья и хозяйственные постройки, которые он не хочет никуда переносить. Для простоты представим ферму сеткой размера MxN. Каждое из деревьев и построек размещается в одном или нескольких узлах сетки. Прямоугольный сарай не должен ни с

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

  • Контрольная, Информатика и программирование 4 задачи

    Задание 1

    Составить таблицу значений функции y = 8 – x2/3 на отрезке [–4; 4] с шагом 1.

    В отчет включить тексты программ на Паскале, реакцию ЭВМ., скрин

     

     

    Задание 2

    Найти произведение положительных, сумму и количество отрицательных из 10 введенных целых значений:

    –5; 5; 36; –10; 98; 63; 2; 8; 37 ; –45.

    В отчет включить тексты программ на Паскале, реакцию ЭВМ., скрин

     

    Задание 3

    Найти сумму положительных и количество отрицательных элементов в одномерном массиве: 0; 15; 12; –9; –8; 58; 45; 36; –85; 58; 36; –45; 2; 3; 25; –9.

    В отчет включить тексты программ на Паскале, реакцию ЭВМ., скрин

     

     

    Задание 4

    В одномерном массиве рассчитать произведение элементов, которые не равняются 0. 

    В отчет включить тексты программ на Паскале, реакцию ЭВМ., скрин

     

  • Тема: Использование цикла с параметром и условий. Цель: Научиться решать задачи с разветвляющимися и циклическими структурами.

     

    Вычислить и вывести на экран в виде таблицы значения функции, заданной графически, на интервале от Хнач до хкон с шагом dx. Интервал и шаг вводить с клавиатуры. Таблицу снабдить заголовком и шапкой. Номер варианта соответствует вашему номеру по журналу.

  • Решение задач, Информатика  Элементы языка Паскаль

    Вычислить в Пакале

    Задание:

    Разработать программу для вычисления:

    1) значения заданного арифметического выражения (см. вариант по таблице 1);

    2) значения заданной функции (см. вариант по таблице 2);

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

    Значения исходных данных выбираются произвольно. Ввод исходных данных организовать любым известным вам способом (использовать не менее двух способов).

  • Контрольная, Программирование и информатика

    КОНТРОЛЬНАЯ  РАБОТА

    1 Задание: Вычислить сумму ряда (по вариантам). Не использовать стандартные функции возведения в степень и факториал, а написать свои функции для вычисления числителя и знаменателя.

    2 Задание:

    1. Напишите программу, которая: а) вводит с клавиатуры два непустых массива целых чисел в диапазоне от нуля до девяти и печатает их разность; б) заменить элементы массива средним арифметическим соседних элементов (крайние элементы не трогать); в) каждый элемент, кратный трем, увеличить в два раза
  • Курсовая, Информатика и программирования С

    Указания по выполнению курсовой работы

    по курсу «Информатика»

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

    К поставленной перед Вами задаче следует отнестись так:

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

                а) добавить запись в файл или начать запись нового файла;

                б) начать обработку созданного файла;

    Предусмотреть возможность выполнения данных операций многократно.

     

    Задачи для курсовой работы

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

    Написать программу

    1.Создать файл Train.dat, содержащий   записи следующей структуры:

    • название пункта назначения;
    • номер поезда;
    • время отправления. (массив из двух чисел:часы, минуты)

    2. программа должна выполнять следующую обработку файла  Train.dat:

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

    Задание 1 (30 баллов).

    Даны три целых числа. Вычислить корень квадратный из четных чисел и возвести в 3 степень нечетные числа.

    Задание 2 (30 баллов).

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

    Задание 3 (40 баллов).

    Ввести числа с диапазона 5..9. Вывести их значения двумя языками.

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

  •  

    Разработать объсктно-ори'и I прошпигую программу пои< ил пары наиболее толя генных точек из любого заданного набора точек па плоскости Декарговыс координаты всех его точек должны быть специфицированы парами целых чисел в аргументах командной строки вы юна программы Координаты полученной пары наиболее отдаленных точек и расстояние между ними лоджии (гюбриж.ш.' я строкой потока стандартного вывода 14 программе должен быть реализован класс точки с приватными полями для ее декартовых координат, публичными методами доступа к ним и конструктором инициализации их значений, а также метод для вычисления расстояния до любой другой заданной точки. Кроме того, и программе должно быть предусмотрено динамическое распределение памяти для всех точек заданного набора и массива их адресок.

  • Составить программу для вычисления формулы

  • Решить 2 задачи в Паскале

    1. Протабулировать функцию у = siпх на промежутке [0; 3,1], с шагом h = 0,1 и рассчитать среднее арифметическое(51) значений функций больших, чем 0,1 и меньших, чем 0,6.

    2. Распечатать таблицу значений у(х) = 6 * х - 4 на промежутке [0; 9] с шагом 0,5.

    Все задания выполнить в программе Паскаль. В отчет включить код программ и результаты работы на ЭВМ.

  • 12.Дан массив A(N), где N»<=15 и вводится. Упорядочить по убыванию все элементы массива, начиная с максимального.

    1. Решить задачу как метод класса или часть задачи как метод класса. 2. Решить задачу в main с использованием методов класса. 


  • 20. Дана последовательность целых чисел, оканчивающаяся
    числом 0. Найти среднее арифметическое положительных чисел,
    квадрат которых оканчивается на 1, 6 или 9. РЕШИТЬ через while без массива, без pow
    27.Дан одномерный массив, состоящий из N (0 < N < 100)
    целочисленных элементов. Найти количество простых элементов,
    до и после которых располагаются нечетные числа. Без использования функций и pow.

  • Другое, Программирование  Код на С++

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

    1. Написать программу, которая считает сумму чисел до 1000.
    2.  Написать программу, которая переворачивает заданное слово.

    Вход: Привет                   Выход: тевирП

     

    3…Написать программу, которая считает сумму вводимых чисел. 

    Вход: 2 4

    Выход: 6

     

    1. Написать программу, которая возводит 2 в заданную степень n(n > 0).

    Вход: 10             Выход: 1024

     

    5. Задание в Windows Forms

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

     

    Пароли можно хранить, например, в .XML файле.

     

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

     

    2) А также сделать форму логина в это приложение перед тем, как получить логины и пароли от сайтов.

     

    3)Попробовать реализовать хранение данных в .XML файле в зашифрованном виде

  • Составить программу вычисления значения функции у = f(x,a,h) В программе реализовать ввод исходных данных с клавиатуры и вывод значения функции и промежуточных данных на экран.

  • Написать код программы через таблицу ТАВ или ее еще называют таблица ASCII на С++

    Дана непустая послсдовательносгъ слов из строчных букв; между соседними словами - запятая, за последним словом - точка. Напечатать все буквы, которые входят в наибольшее количество слов тоП последовательности.


  • Дана непустая последовательность слов, в каждом из которых содержится от 1 до 6 заглавных латинских букв; соседние слова разделены запятой, за последним словом следует точка.
    Требуется ввести эту последовательность слов в память ЭВМ, преобразовав ее во внутреннее представление :
    сначала все однобуквенные слова, затем все двухбуквенные слова и т.д., а затем распечатать в алфавитном порядке: массив из 6 списков, в k-ом из которых хранятся k-буквенные слова, упорядоченные по алфавиту;

  • 1. Разработать программу на языке С++ для работы с бинарными файлами согласно индивидуальному заданию (см Приложение 1), при этом программа должна быть должным образом структурирована.

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

    3. Для тестирования программы необходимо создать по пять наборов исходных данных.

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

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


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

  • Составить программу сортировки о,дпомерпого целочисленного массива А[п] методом слияния (merge-tort). Провести тестирование программы ги исходном массиве, сформированном вводом с клавиатуры Рабочий массив А сформировать с пспо.тт.зоваппем генератора псевдослучайных чисел. Провести когпролыпае nporotnj программы для размеров массива п 100. 1000, КХИЮ, 100000 и 1000000 злемептол с вычислением времени выполнения Г(п). Получеппые результаты сиестп в сводную таблицу. J 1остроптт. график завпспмоспз времени выполнения программы от размера массива.

    Провести лмпирпческуто (практическую) оцепку вычислительной сложности алгоритма, для чего предусмотреть в программе подсчет фактического количества операций сравнения Сф и количества операций перемегпеппя Мф. Получеппые ретультаты свести в сводную таблппу Построггп. в одной коорднпатпоп плоскости графпкп запяспмостп теоретическом <Xn> fl’C- М) и змппрпческой (Сф(Мф) вычпслителыюй сложности алгоритма от размера массива и.

    Провести апатит получетпах результатов. Сделать выводы о проделаппоп работе, осповаппые па получеппых результатах.

  • Создать класс Двунаправленный_список, используя для связи элементов списка указатели. Реализовать в нем методы добавления и удаления элементов, а также методы перехода к предыдущему и к следующему элементам.

  • Взять любой текст в однобайтовой кодировке. Убрать из текста всё кроме
    символов в диапазоне [32-255].
    Оставшийся текст поделить на слова считая что разделитель - пробел.
    Для счётчика использовать unsigned long.
    Вывести полученный результат БЕЗ СОРТИРОВКИ просто в виде слово -
    количество повторов (сортировку будем разбирать позже).

  • Требуется прочитать из файла целые числа(которые в нем записаны) и заменить числа, делящиеся на 5 без остатка, на слово "word". После все это записать в новый файл.

  • Основы програмирования

    Контрольные задания для выполнения домашней контрольной работы

     

    Домашняя контрольная работа (ДКР) студента предназначена для закрепления практических навыков.

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

    Для выполнения следует скачать PascalABC.NET + Microsoft .NET Framework v4.7 (Setup, 85 Mb) перейдя по ссылке http://www.pascalabc.net/ssyilki-dlya-skachivaniya на официальный сайт разработчика.

    Студент, не выполнивший ДКР и практические работы, не допускается к процедуре промежуточной аттестации (сессии) для сдачи экзамена.

     

     

                                                                                                                                                 

    1. Даны величины переменных A,B,C,D. Требуется переместить значения переменных следующим образом: в переменную В поместить значение из А, в А значение из D, в D значение из C, переменной С присвоить значение суммы А и D.
    2. Составить алгоритм вычисления функции.