Файл: Лабораторная работа 1 Изучение среды разработки программ 3 Лабораторная работа 2 Исследование базовых типов данных языка Си 18.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.12.2023
Просмотров: 275
Скачиваний: 3
СОДЕРЖАНИЕ
Лабораторная работа № 1Изучение среды разработки программ
ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Лабораторная работа № 2Исследование базовых типов данных языка Си
Лабораторная работа № 4Применение управляющих инструкций языка для организации ветвлений в программе
ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
ЗАДАНИЕ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
Лабораторная работа № 5Исследование циклов
Лабораторная работа № 6Применение массивов и указателей для решения прикладных задач
ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Лабораторная работа № 7Исследование массивов и указателей
Лабораторная работа № 8Применение функций работы со строками для решения прикладных задач
ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Практическое занятие № 6Использование функций для работы с массивами
ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Практическое занятие № 7Программирование рекурсивных алгоритмов
ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Практическое занятие № 8Применение производных типов данных для решения прикладных задач
ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Лабораторная работа № 5Исследование методов доступа к файлам данных
Лабораторная работа № 6Исследование связанных списков данных
for ( int i=0; i<5; i++)
cout<
Рассматриваемый цикл начинается с присвоения значения 0 целочисленной переменной i (здесь переменная i играет роль параметра цикла). Эта часть цикла называется инициализацией цикла. Затем в той части цикла, которая называется проверкой цикла, программа проверяет, является ли значение переменной i меньше 5. Если так, тогда программа выполняет следующий оператор, который образует тело цикла:
cout<
Затем программа использует ту часть цикла, где происходит обновление параметра цикла (в данном случае i увеличивается на единицу).
ЗАДАНИЕ НА ИССЛЕДОВАНИЕ
Каждый студент в соответствии с номером по журналу решает соответствующую задачу тремя способами: с использованием цикла с параметром, цикла с предусловием и цикла с постусловием.
Исследовать влияние операторов передачи управления на работу цикла.
Варианты заданий
-
Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел (длина последовательности неограниченна). -
Напишите программу, которая проверяет, является ли введенное пользователем целое число простым. -
Написать программу, которая вычисляет среднее арифметическое последовательности дробных чисел, вводимых с клавиатуры. После ввода последнего числа программа должна вывести минимальное и максимальное число последовательности. Количество чисел последовательности должно задаваться во время работы программы. -
Дано натуральное число N. Вычислить произведение первых N сомножителей: 1/2*3/4*5/6*… -
Выяснить, является ли последовательность из М введенных целых чисел упорядоченной по убыванию (по возрастанию). -
Найти сумму ряда Y= 1+X/2 +X2/3 + X3/4 +… при |X| <1. Расчет продолжать до тех пор, пока приращение |Y| будет больше заданной точности е, е<=|x|. -
Написать программу, которая выводит таблицу квадратов первых десяти целых положительных чисел. -
Написать программу, которая вычисляет сумму первых N целых положительных целых чисел. Количество суммируемых N чисел должно вводиться во время работы программы. -
Написать программу, которая вычисляет сумму первых N членов ряда: 1, 3, 5, 7 ... Количество суммируемых членов ряда задается во время работы программы. -
Написать программу, которая выводит таблицу степеней двойки от нулевой до десятой. -
Написать программу, которая выводит таблицу значений функции
у = -2,4х2 + 5х – 3 в диапазоне от -2 до 2, с шагом 0,5. -
Написать программу, которая выводит значения членов ряда, образованных геометрической прогрессией. Начальный элемент ряда, шаг прогрессии, и количество элементов ряда вводятся с клавиатуры. -
Написать программу, которая вводит с клавиатуры последовательность из пяти дробных чисел и после ввода каждого числа выводит среднее арифметическое введенной части последовательности. -
Написать программу, которая вычисляет факториал введенного с клавиатуры числа. -
Вычислить -
Вычислить сумму первых n членов ряда с общим членом . -
Определить средний рост девочек, и мальчиков одного класса. В классе учится n учеников. (n≥ 15). -
В ЭВМ по очереди поступают результаты соревнований по плаванию на дистанции 200 м, в которых участвует n спортсменов (n > 10). Выдать на экран дисплея лучший результат после ввода результата очередного спортсмена. -
В ЭВМ вводятся по очереди координаты n точек (n ≥ 10). Определить, сколько из них попадет в круг радиуса rс центром в точке (а, b). -
Ученикам первого класса назначается стакан молока (200 мл), если их вес составляет меньше 30 кг. Определить, сколько литров молока потребуется, ежедневно для одного класса, состоящего из n учеников. После взвешивания вес каждого ученика вводится в ЭВМ. -
В ЭВМ вводятся фамилии и рост учеников 10 класса. Вывести на экран фамилии тех учеников, рост которых больше 170 см. -
В соревнованиях по бегу на дистанции 100 м принимают участие n спортсменов. Вводя очереди фамилии и результаты участников в ЭВМ, определить, сколько из них выполнили норму, и напечатать их фамилии (норма равна 13,2 сек.) -
Задана окружность радиуса r с центром в начале координат. Вводя последовательно в ЭВМ координаты n точек, являющихся центрами других окружностей того же радиуса, определить, сколько из этих окружностей пересекает данную. -
Найти все трехзначные натуральные числа, сумма цифр которых равна их произведению. -
Найти сумму целых положительных чисел, больших 20, меньших 100 и кратных 3. -
Вычислить сумму , где n ≥ 10. -
Цилиндр объема 1 куб.ед. имеет высоту h. Определить радиус основания для значений hот 1 до 6 с шагом 0.5 ед. -
Вычислить количество членов последовательности с общим членом , которые удовлетворяют условиям 0 ≤ ak ≤ 0.5. Число b вводится с клавиатуры. Вывести на печать члены последовательности, удовлетворяющие данным условиям. -
В ЭВМ вводятся поочередно n точек. Определить, сколько из них принадлежит фигуре, ограниченной осью ординат и правой полуокружностью х2 + у2 = r2. -
В ЭВМ по очереди вводятся координаты n точек. Определить, сколько из них принадлежит фигуре, ограниченной линией | х |+ | у | = 1.
Занятие 6
Лабораторная работа № 6
Применение массивов и указателей для решения прикладных задач
Цель занятия:
-
Совершенствование навыков разработки программ в среде программирования MS Visual C++ -
Совершенствование навыков использования циклов в программах -
Получение начальных навыков в объявлении, инициализации и использовании числовых массивов -
Получение начальных навыков в объявлении, инициализации и использовании указателей
Время на выполнение работы: 2 часа
Учебные вопросы:
-
Использование числовых массивов -
Использование указателей
Подготовка к выполнению работы:
-
Изучить рекомендованную литературу (структура программы на языке высокого уровня, алфавит и элементарные конструкции языка Си, переменные и константы, стандартные типы данных, выражения и операции в языке Си, базовые конструкции структурного программирования, массивы и указатели). -
Изучить материал настоящего руководства.
Материалы для подготовки к занятию:
-
Конспект лекций -
[1] стр. 51-63.
ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Массив представляет собой структуру данных, позволяющую хранить под одним именем совокупность данных любого, но только одного какого-то типа. Массив характеризуется своим именем, типом хранимых элементов, размером (числом хранимых элементов), нумерацией элементов и размерностью. Рассмотрим одномерные массивы (массивы с размерностью 1).
Объявление переменной как одномерного массива имеет вид:
<тип> <идентификатор> [константное_выражение]
Например, оператор
int A[10];
объявляет массив с именем A, содержащий 10 целых чисел. Доступ к элементам этого массива осуществляется выражением A[i], где i - индекс, являющийся в данном примере
, как видно из объявления, целым числом в диапазоне 0 - 9. Например, A[0] - значение первого элемента, A[1] - второго, A[9] - последнего. Обратите внимание, что индекс последнего элемента на 1 меньше размера массива. Это связано с тем, что индексы начинаются с 0.
Объявление переменной массива можно совмещать с заданием элементам массива начальных значений. Эти значения перечисляются в списке инициализации после знака равенства, разделяются запятыми и заключаются в фигурные скобки. Например:
int A[10] = {1,2,3,4,5,6,7,8,9,10,11};
Если начальных значений меньше, чем элементов в массиве, оставшиеся элементы автоматически получают нулевые начальные значения. Например, оператор
int A[10] = {1,2,3};
задает значения первым трем элементам, а остальные будут равны 0. Оператор
int A[10] = {0};
присваивает нулевые значения всем элементам массива.
Если массив при его объявлении не инициализирован, то его элементы имеют случайные значения. Элементы такого массива нельзя использовать в выражениях, пока им не будут присвоены какие-нибудь значения.
В объявлении со списком инициализации размер массива можно не указывать. Тогда количество элементов массива будет равно количеству элементов в списке начальных значений. Например, объявление
int A[ ] = {1, 2, 3, 4, 5};
Можно объявлять многомерные массивы, т.е. массивы, элементами которых являются массивы. Например, двумерный массив можно объявить таким образом:
int A2[10][3];
Этот оператор описывает двумерный массив, который можно представить себе как таблицу, состоящую из 10 строк и 3 столбцов.
Доступ к значениям элементов многомерного массива обеспечивается через индексы, каждый из которых заключается в квадратные скобки. Например, A2[3][2] - значение элемента, лежащего на пересечении четвертой строки и третьего столбца (помните, что индексы начинаются с 0).
Если многомерный массив инициализируется при его объявлении, список значений по каждой размерности заключается в фигурные скобки. Приведенный ниже оператор объявляет трехмерный массив A3 размерностью 4 на 3 на 2.
int A3[4][3][2] = {{{0,1},{2,3},{4,5}},
{{6,7},{8,9},{10,11}},
{{12,13},{14,15},{16,17}},
{{18,19},{20,21},{22,23}}};
Этот оператор создает массив A3, четыре строки которого являются матрицами вида
0 1 6 7 12 13 18 19
2 3 8 9 14 15 20 21
4 5 10 11 16 17 22 23
Например, элемент