Программирование
Тип работы: | Все Диплом Задача Курсовая работа Лабораторная работа Ответы на вопросы |
Язык программирования: | Все Bash Basic Batch C C# C# ASP .NET C++ Delphi Fortran HTML Java JavaScript Object Pascal Pascal Pascal ABC Python VBA Visual Basic алгоритмические языки |
Блок-схема: | Все Есть Нет |
-
Лабораторная работа №4
Комбинированный тип – структура
Задание. Создание одномодульного приложения
Требования к выполнению задания к лабораторной работе №4
Требуется создать консольное одномодульное приложение.
Порядок выполнения:
- Включить в приложение тип данных, который определяет структуру варианта.
- Разработать тип – динамический массив, элементами которого является структура (далее запись), определенная вариантом и реализованная в соответствии с п.1.
- Разработать функции:
- заполнение отдельной записи;
- вывод записи;
- добавление нового элемента (записи) в динамический массив;
- сортировка массива записей (методом, указанным в варианте);
- подзадач, которые будут выявлены вами при разработке дополнительной операции;
- вывод массива записей;
- вывод результатов операций.
Примечание. Обмен данными между функциями обеспечить через механизм параметров.
- Разработать консольное приложение, управляемое пользовательским интерфейсом и продемонстрируйте работу всех операций.
Варианты заданий к лабораторной работе №4
№ вар.
Структура записи
Метод сортировки
Дополнительная операция
1
Сведения о студенте: номер зачетной книжки, фамилия, имя, дата рождения, номер телефона, дата поступления, признак удаления записи
Метод прямого выбора. Отсортировать массив по дате рождения (перевести ее сначала в число, исчисляя начало 1900 годом)
Найти и удалить всех окончивших институт (т.е. срок обучения более 6 лет)
-
1. Дано натуральное число n. Получить сумму тех чисел вида i*i+3*i*n*n+n (i=1, 2, ...., n), которые являются утроенными не четными. С помощью for.
2. Определить является ли число степенью тройки, если да, то какой. Функцию для возведения в степень не использовать. Использовать while.
3. Определить является ли число степенью тройки, если да, то какой. Функцию для возведения в степень не использовать. Использовать do while.
получается 3 программы 3 блок схемы. -
Тема: функции
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. Вложенные и | локальные классы
-
Задача 1
Составить блок - схему алгоритма, написать программу на Паскале, вычислить значения переменных по заданным расчетным формулам и наборам данных:
Задача 2.
Составить программу, которая по заданным х и у определяет, принадлежит ли точка М(х, у) заштрихованной области.
Задача 3.
Даны натуральное число п и последовательность целых чисел аь а2, ... , ап. Составить блок-схему алгоритма, написать программу и провести вычисления в соответствии с заданием.
Задача 4.
Дана действительная матрица А размера m х п. Составить блок-схему алгоритма, написать программу и провести вычисления в соответствии с заданием.
аписать две программы в консоли, языке 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 действительных чисел. Найти наибольшее из значений модулей компонентов с нечетными номерами
- Реализовать алгоритм сортировки массива из 90 элементов методом простых вставок.
- Реализовать алгоритмы случайного перемешивания одномерного массива из 50 элементов, заполненного неповторяющимися числами.
- Найти наибольший общий делитель для двух чисел: 13 и 88 (с помощью алгоритма перебора от минимального числа).
Лабораторная работа № 2
ТИПИЗИРОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ
Цель работы: Приобрести навыки разработки ииспользования функций, разработанных пользователем.
Подготовка к лабораторной работе:
1. Повторить такие понятия языка Си как: функции, структура типизированной функции, списки фактических и формальных параметров, вызов типизированной функции.
2. В соответствии с вариантом задания разработать алгоритм решения задачи, описать его в виде схемы.
Задание к лабораторной работе:
Разработать типизированную функцию для выполнения над массивом А[n] операций в соответствии с вариантом.
В функции mainисходный массив сформировать, используя датчик псевдослучайных чисел rand().На печать вывести исходный массив и после работы функции результат ее работы.
Варианты заданий:
- Вычисление количества положительных четных элементов массива.
Содержание отчета:
- Номер, тема лабораторной работы
- Задание к лабораторной работе.
- Схема алгоритма.
- Программа на языке Си.
- Скрины экрана с результатами работы.
Лабораторная работа № 3
БЕЗТИПОВЫЕ ПОДПРОГРАММЫ – ФУНКЦИИ
Цель работы: Приобрести навыки организации программ с использованием безтиповых функций, определенных пользователем.
Подготовка к лабораторной работе.
- Повторить такие элементы языка Си как: отличие безтиповой функции от типизированной, списки фактических и формальных параметров, вызов безтиповой функции.
- В соответствии с заданием разработать алгоритм функции, описать его в виде схемы.
- Составить схему алгоритма программы, использующей разрабатываемую функцию .
Задание к лабораторной работе
Разработать безтиповую функцию для выполнения над матрицей размером 5х5 операций в соответствии с вариантом.
В функции mainисходную матрицу сформировать, используя датчик псевдослучайных чисел rand().На печать вывести исходную и после работы функции преобразованную матрицы.
Варианты заданий:
- Умножение элементов матрицы на любое случайное число.
Содержание отчета
- Номер, тема лабораторной работы
- Задание к лабораторной работе.
- Схема алгоритма функции.
- Схема алгоритма программы, использующей эту функцию.
- Программа на языке Си.
- Скрины экрана с результатами работы программы.
Лабораторная работа №2 — Связный список
Задача: реализовать на основе односвязного списка контейнер
myList, который бы позволял хранить произвольный тип данных.
Указания по выполнению:
- лабораторная работа состоит из двух файлов:
myList.java — описание класса list, прототипы методов,
реализация методов;
test-list.java — тестирование и проверка возможностей класса;
- класс mylist должен содержать следующие поля:
ссылку на первый элемент списка;
ссылку на последний элемент списка;
число элементов в списке;
- класс myList должен содержать следующие методы:
конструктор;
конструктор копирования;
добавление элемента в начало списка, в конец списка;
удаление элемента из начала списка;
удаление элемента по значению;
получение числа элементов в списке;
очистка списка (удаление всех элементов);
- при невозможности извлечения или удаления элемента должны
генерироваться исключения.50 руб.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. (Сначала введите последовательность в массив. Затем удалите и продублируйте элементы. Затем выведите полученную последовательность (каждый элемент по одному разу). Используйте в программе только один массив. )Задание 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 элементов каждый. Составить алгоритм и программу для получения и вывода указанных в условии (будет ниже) результатов и самих массивов, если изменялись какие-либо их элементы. Алгоритм задачи может быть составлен с использованием двукратного цикла.
Условие задачи: найти среднее арифметическое тех элементов матрицы, каждый из которых больше находящегося с ним в одной строке элемента главной диагонали, и сумму элементов главной диагонали.