Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

poi_labs

.pdf
Скачиваний:
15
Добавлен:
14.02.2015
Размер:
786.93 Кб
Скачать

Министерство образования и науки Российской федерации

Государственное образовательное учреждение высшего профессионального образования«Алтайский государственный технический университет им. И. И. Ползунова»

А. И. Потупчик

Языки и системы программирования

Лабораторный практикум

Барнаул 2011

УДК 004.43

Потупчик, А. И. Языки и системы программирования. Лабораторный практикум: Учебное пособие / А. И. Потупчик; АлтГТУ им. И. И. Ползунова.

– Барнаул, Изд-во АлтГТУ, 2011. - 71 c.

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

Учебное пособие предназначено для студентов специальности 030500.06 - Профессиональное обучение (информатика, вычислительная техника и компьютерные технологии)

Рассмотрены и одобрены на заседании кафедры «Прикладная математика» Протокол № 5 от 07.12.2010

Рецензент: Е. В. Егорова – доцент кафедры «Прикладная математика» АлтГТУ.

2

 

Содержание

 

 

 

4

Порядок выполнения и защиты лабораторных работ…………………………...

 

Лабораторная работа № 1. Линейные программы.................................................

7

Лабораторная работа № 2. Разветвляющиеся программы.……………………..

16

Лабораторная работа № 3. Циклические программы............................................

28

Лабораторная работа № 4. Одномерные массивы.................................................

35

Лабораторная работа № 5. Двумерные массивы....................................................

40

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

Работа с функциями....................................................

45

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

Работа со строками………………………………….

53

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

Работа со структурами……………………………… 59

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

Работа с файлами……………………………………

65

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

70

Приложение А Образец оформления титульного листа……………….………

71

3

Порядок выполнения и защиты лабораторных работ

Цели лабораторных работ:

формирование практических навыков программирования и работы в современных вычислительных системах;

овладение одним из алгоритмических языков высокого уровня (в данном лабораторном практикуме – языком Си /Си++).

Основная концепция, заложенная в лабораторных работах, – это

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

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

Выполнение лабораторной работы включает следующие этапы. 1 Предварительный:

знакомство с темой, целью и задачами лабораторной работы;

изучение теоретических сведений и примеров программ, необходимых для выполнения лабораторной работы;

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

2. Проектирование и реализация программы:

разработка и описание алгоритма поставленной задачи;

написание программы в соответствии с требованиями к лабораторной работе;

трансляция и отладка программы на тестовых примерах (набор тестов

подбирает студент).

3. Защита лабораторной работы:

4

подготовка отчета по работе;

демонстрация работы программы на тестовых примерах;

ответ на контрольные вопросы.

Отчет по лабораторной работе включает следующие разделы:

1). Титульный лист

2). Условие задачи

3). Анализ задачи

4). Алгоритм решения задачи

5). Текст программы

6). Набор тестов

7). Результаты работы программы Образец оформления титульного листа приведен в Приложении А.

Анализ задачи необходим для достижения следующих целей:

установить, что является исходными данными и результатами решения задачи;

выделить основные отношения между входными и выходными данными

(если возможно описать их на языке математики);

выделить основные подзадачи, которые надо решить, чтобы достичь

результата.

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

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

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

5

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

Алгоритм решения задачи – это не программа ее решения, а способ

дать человеку (а не машине) представление о структуре алгоритма, о

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

должны описываться в терминах тех объектов и отношений между ними, о

которых идет речь в условии задачи (это, конечно, не исключает

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

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

6

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

Линейные программы

Цель работы

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

Задачи занятия:

Освоить основные команды интегрированной среды разработки

(запись/чтение программы с диска, компиляция, выполнение программы, отладка);

Изучить общую структуру программы на языке C++;

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

Запрограммировать разработанные алгоритмы и отладить полученные программы,;

Составить и защитить отчет.

Задания

1. Запустить интегрированную среду и выполнить приведенный пример линейной программы c использованием переменной вещественного типа.

#include <iostream.h> #include<conio.h> #include<math.h>

int main()

{

float x;

cout << "Введите х"; cin >>x;

7

cout << sin(x); getch();

return 0;

}

Данная программа позволяет вычислить значение функции sin(x) для произвольного значения аргумента x, который вводится с клавиатуры с помощью cin, для вывода результата используется cout. Для задержки результата на экране можно использовать последнюю строчку программы getch();.Для подключения библиотеки математических функций используется директива препроцессора #include<math.h.

2. Выполните задания на вычисление значения выражений с использованием вещественных переменных по указанному преподавателем варианту.

Варианты.

№1 Дана сторона квадрата a. Найти его периметр P = 4·a.

№2 Дана сторона квадрата a. Найти его площадь S = a2.

№3 Даны стороны прямоугольника a и b. Найти его площадь S = a·b и периметр P = 2·(a + b).

№4 Дан диаметр окружности d. Найти ее длину L = π·d.

№5 Дана длина ребра куба a. Найти объем куба V = a3 и площадь его поверхности S = 6·a2.

№6 Даны длины ребер a, b, c прямоугольного параллелепипеда. Найти его объем V = a·b·c и площадь поверхности S = 2·(a·b + b·c + a·c).

№7. Найти длину окружности L и площадь круга S заданного радиуса R:

L = 2·π·R, S = π·R2.

№8. Даны два числа a и b. Найти их среднее арифметическое: (a + b)/2.

№9 Даны два неотрицательных числа a и b. Найти их среднее геометрическое, то есть квадратный корень из их произведения: a*b.

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

8

№11 Даны два ненулевых числа. Найти сумму, разность, произведение и частное их модулей.

№12 Даны катеты прямоугольного треугольника a и b. Найти его гипотенузу c и периметр P: c = a2+b2, P = a + b + c.

№13 Даны два круга с общим центром и радиусами R1 и R2 (R1 > R2). Найти площади этих кругов S1 и S2, а также площадь S3 кольца, внешний радиус которого равен R1, а внутренний радиус равен R2:

S1 = π·(R1)2, S2 = π·(R2)2, S3 = S1 – S2.

№14 Дана длина L окружности. Найти ее радиус R и площадь S круга, ограниченного этой окружностью, учитывая, что L = 2·π·R, S = π·R2.

№15 Дана площадь S круга. Найти его диаметр D и длину L окружности, ограничивающей этот круг, учитывая, что L = π·D, S = π·D2/4.

№16 Найти расстояние между двумя точками с заданными координатами x1 и x2 на числовой оси: |x2 – x1|.

№17 Даны три точки A, B, C на числовой оси. Найти длины отрезков AC и BC и их сумму.

№18 Даны три точки A, B, C на числовой оси. Точка C расположена между точками A и B. Найти произведение длин отрезков AC и BC.

№19 Даны координаты двух противоположных вершин прямоугольника: (x1, y1), (x2, y2). Стороны прямоугольника параллельны осям координат. Найти периметр и площадь данного прямоугольника.

№20 Найти расстояние между двумя точками с заданными координатами (x1, y1) и (x2, y2) на плоскости.

№21. Даны координаты трех вершин треугольника: (x1, y1), (x2, y2), (x3, y3). Найти его периметр и площадь, используя формулу для расстояния между двумя точками на плоскости. Для нахождения площади треугольника со

сторонами a, b, c использовать формулу Герона: S= где p = (a + b + c)/2 — полупериметр.

p* (p - a)* (p - b)* (p - c) ,

9

№22 Поменять местами содержимое переменных A и B и вывести новые значения A и B.

№23 Даны переменные A,B,C. Изменить их значения, переместив содержимое A в B, B в C, C в A, и вывести новые значения переменных.

№24 Даны переменные A, B, C. Изменить их значения, переместив содержимое A в C, C — в B, B — в A, и вывести новые значения переменных

A, B, C.

№25 Найти значение функции y = 3·x6 – 6·x2 – 7 при данном значении x.

№26 Найти значение функции y = 4·(x–3)6–7·(x–3)3+2 при данном значении x. №27 Дано число A. Вычислить A8, используя вспомогательную переменную и три операции умножения. Для этого последовательно находить A2, A4, A8.

Вывести все найденные степени числа A.

№28 Дано число A. Вычислить A15, используя две вспомогательные переменные и пять операций умножения. Для этого последовательно находить A2, A3, A5, A10, A15. Вывести все найденные степени числа A.

№29 Дано значение угла α в градусах (0 < α < 360). Определить значение этого же угла в радианах, учитывая, что 180° = π радианов.

№30 Дано значение угла α в радианах (0 < α < 2·π). Определить значение этого же угла в градусах, учитывая, что 180° = π радианов.

3. Выполнить приведенный пример линейной программы c использованием переменной целого типа.

Дано трехзначное число. Найти произведение его цифр.

#include <iostream.h> #include<conio.h> #include<math.h>

int main()

{

int x, x1, x2, x3, p; cout << "Введите х"; cin>>x;

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]