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

ПЯВУ_2

.pdf
Скачиваний:
6
Добавлен:
14.05.2015
Размер:
303.21 Кб
Скачать

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

6. Текст программы на языке C++ будет выглядеть следующим образом:

//Программа для расчета корней квадратного уравнения

#include "stdafx.h"//Подключение системной библиотеки;

#include <stdio.h>//Подключение библиотеки стандартного ввода-вывода; #include <conio.h>//Подключение библиотеки консольного ввода-вывода; #include <iostream.h>//Подключение библиотеки потокового ввода-вывода; #include <math.h>//Подключение библиотеки математических операций;

/*Объявления глобальных переменных и необходимых функций*/

double a,b,c,d,x1,x2; //a, b, c – коэффициенты квадратного уравнения, //d, - его дискриминант, x1, x2 – его корни;

void main(void)

{

/*Блок ввода исходной информации (коэффициенты a, b, c, квадратного уравнения)*/

cout<<"Введите коэффициенты квадратного уравнения A, B, C."<<endl; cout<<"A=";

cin>>a; cout<<endl; cout<<"B="; cin>>b; cout<<endl; cout<<"C="; cin>>c; cout<<endl;

/*Блок расчета корней квадратного уравнения и вывода результатов*/

d=pow(b,2)-4.0*a*c; if (d>0)

{

x1=(-b+pow(d,0.5))/(2*a); x2=(-b-pow(d,0.5))/(2*a);

cout<<”Квадратное уравнение имеет два корня:”<<endl; cout<<”x1= ”<<x1<<”и ”<<”x2= ”<<x2<<endl;

}

else if (d= =0)

{

x1=(-b/(2*a));

cout<<”Квадратное уравнение имеет один корень:”<<endl; cout<<”x1= ”<<x1<<”.”<<endl;

}

else {cout<<”Квадратное уравнение не имеет корней.”<<endl;}

}

Текст программы на языке Pascal выглядит следующим образом:

{ Программа для расчета корней квадратного уравнения }

program SquareRoot;

uses crt; {Подключение библиотеки ввода-вывода} var

a, b, c, x1, x2, d: real; {a, b, c - коэффициенты квадратного уравнения, d, - его дискриминант, x1, x2 - его корни;}

begin

{Блок ввода исходной информации (коэффициенты a, b, c, квадратного уравнения)}

writeln('Введите Введите коэффициенты квадратного уравнения A, B, C.'); write('A=');

readln(a); write('B='); readln(b); write('C='); readln(c);

{ Блок расчета корней квадратного уравнения и вывода результатов }

d:=sqr(b)-4.0*a*c; if (d>0) then

begin

x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a);

writeln('Квадратное уравнение имеет два корня:'); writeln('x1=',x1:7:3,' и ','x2=',x2:7:3);

end

else if (d=0) then begin

x1:=(-b)/(2*a);

writeln('Квадратное уравнение имеет один корень: x1=',x1:7:3);

end

else

begin

writeln('Квадратное уравнение не имеет корней.');

end;

readkey; {Пауза перед выходом из программы} end.

7.Для проверки работоспособности по запросу (после запуска программы) введем числа 1, 2, 1. Программа должна выдать в результате x1=-1.

8.Ввиду простоты программы она одинаково эффективно выполняется для обоих языков программирования.

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

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

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

3.Ответить на контрольные вопросы и защитить работу перед преподавателем.

Варианты заданий для самостоятельной работы

1.По заданным вещественным числам A и B написать программу решения линейного уравнения АХ=В. Программа должна выводить одно из сообщений:

уравнение не имеет решения;

уравнение имеет бесконечное множество решений;

значение корня уравнения (если он единственны).

2.Даны два вещественных числа A, В и С. Написать программу для решения квадратного уравнения вида:

Ax2 + Bx +C = 0 .

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

3. Написать программу, которая по заданным значениям A, В, С, определяет количество корней квадратного уравнения.

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

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

6. Даны вещественные положительные числа A, B, С, D. Выяснить, можно ли построить прямоугольник с заданными сторонами (поверять не только условие построения прямоугольника, но и корректность задания исходных данных).

7. Заданы 4 числа, одно из которых отлично от остальных. Найти номер этого числа. 8. Заданы числа A,B,C,D. Выяснить можно ли прямоугольник со сторонами A и B уместить внутри прямоугольника со сторонами С и D так, чтобы каждая из сторон одного прямоугольника была параллельна или перпендикулярна стороне другого

прямоугольника.

9. Пушка стреляет под углам AL по кораблю, находящемуся от нее на расстоянии R. Нос корабля повернут по наплавлению к пушке, и расстояние изменяется до середины корабля. Длина корабля равна L, и начальная скорость снаряда равна V0. Написать программу, которая выводит одно из сообщений: "попал" или "промах", в зависимости от того, попал ли снаряд в цель. Сопротивлением воздуха пренебречь.

10. Вычислить для заданных вещественных величин a, b, c:

 

Y =

max(a, b) +max(a, b, c)

.

max(a b, b c) +a +b +c)

 

 

 

11.Даны вещественные числа X и Y. Если числа X и Y отрицательны, то каждое значение заменить его модулем. Если отрицательно только одно из них, то оба увеличить на 0.5. Если оба значения неотрицательны и ни одно из них не принадлежит отрезку [0.5, 2.0], то оба значения уменьшить в 10 раз, в остальных случаях X и Y оставит без изменения.

12.Даны три вещественных, не равных между собой числа a, b, c. Переменной Y присвоить значение той переменной, которое находится между двумя другими на числовой оси. Например, если a=5, b=2, c=4, то Y=4.

13.Дано трехзначное число. Выяснить, состоит ли оно из трех различных цифр, и напечатать соответствующее сообщение.

14.Дано натуральное число N (N<=100), определяющее возраст человека в годах. Дать для этого числа соответствующее наименование "год", "года" или "лет". Например, вывести 24 года, 25 лет, 21 год для N=24, 25, 21 соответственно.

15.Даны три вещественных положительных числа. Считая их сторонами треугольника, определить его площадь (используя, например формулу Герона) или вывести сообщение, что треугольника с такими сторонами построить нельзя.

16.Три точки заданы своими координатами на плоскости. Определить, лежат ли они на одной прямой и, если возможно, коэффициенты этой прямой.

17.Даны четыре целых числа a, b, c, d, представляющие собой числители и знаменатели двух дробей:

a , c b d

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

18.Треугольник задан своими сторонами. Определить его тип (остроугольный, тупоугольный, прямоугольный) или выдать сообщение о том, что треугольника с такими сторонами построить нельзя.

19.Дано трехзначное число. Определить, имеет ли оно повторяющиеся цифры.

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

21.Записать программу для решения системы двух линейных уравнений с двумя неизвестными или сообщить, что система не имеет решения.

22.Заданы четыре числа. Найти номер максимального из чисел.

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

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

25.Две точки заданы своими координатами. Плоскость разделена надвое прямой Y=X. Определить лежат ли точки по одну сторону от прямой, по разные или хотя бы одна из них одна из них принадлежит прямой.

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

27.Заданы окружность (координатами центра и радиусом) и точка (координатами). Определить местоположение точки (внутри окружности, за ее пределами или на окружности).

28.Заданы площадь квадрата и площадь круга. Определить, помещается ли круг в квадрате или квадрат в круге.

29.Заданы координаты на плоскости трех точек. Определить номера точек, расстояние между которыми наибольшее. (Номера точкам присваивают в порядке их ввода).

30.Для целого числа K<=100 напечатать фразу "мне K лет", учитывая, что слово "лет" при некоторых значениях K надо заменить словом "год" или "года".

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

1.Что такое тип данных?

2.Что такое простые типы данных?

3.Что такое составные типы данных?

4.Приведите примеры задания типов переменных в языках C++ и Pascal.

5.Что такое перечислимый тип?

6.Что такое указатель на переменную и для чего он применяется?

7.Чем отличаются концепции указателей в ЯП C++ и Pascal?

8.Перечислите основные группы операций ЯП.

9.Охарактеризуйте парадигмы ввода-вывода ЯП C++ и Pascal.

10.Что такое операции выбора и зачем они нужны?