ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.11.2023

Просмотров: 95

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство науки и высшего образования Российской Федерации




Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Саратовский государственный технический университет имени Гагарина Ю.А.»

Институт Энергетики




Кафедра «Электроэнергетика и электротехника»




Направление 13.03.02 «Электроэнергетика и электротехника»










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

по дисциплине

Информатика

наименование дисциплины по учебному плану




на тему:

«Язык программирования PASCAL.ABC»

наименование темы/вариант







Студент (-ка)

Иванов Иван Иванович




Фамилия, имя, отчество студента

курса

1

группы

б1-ЭЛЭТз11



















№ зач. кн.

212813



































































Оценка




«




»




20

23

г.




(цифрой и прописью)










(дата)
















Преподаватель:




доцент, к.т.н.










/В.В.Ермолаева/

должность, ученая степень, уч. звание




подпись




Инициалы Фамилия

















































Рег. №




«




»




20




г.































/ /

(подпись)

(ФИО регистрирующего лица)







Саратов – 2023

РЕФЕРАТКонтрольная работа состоит из пояснительной записки, выполненной в текстовом редакторе Microsoft Office Word 2010, на 21 страницах машинописного текста. Целью контрольной работы является освоение языка программирования Паскаль и системы программирования PascalABC.NET. Для достижения цели производится анализ постановки задачи, составление алгоритма решения задачи с помощью блок - схемы, разработка и отладка программного кода, получение результатов работы программы при различных исходных данных, что позволяет сделать вывод о корректности алгоритма и кода программы.Задачами работы являются составление алгоритмов и программ различных видов: для работы с двумерными массивами, разветвляющимися алгоритмами, для обработки строк, для работы с циклическими алгоритмами, выполняемыми с фиксированным числом повторений или до выполнения заданного условия. В задании 1 рассматриваются алгоритмы работы с двумерными массивами (матрицами) с помощью арифметических циклов с фиксированным числом повторений.В задании 2 приводятся расчеты вычисления функции на заданном интервале изменения аргумента с заданным шагом изменения аргумента. Вид функции меняется в зависимости от значения аргумента.В задании 3 рассматривается сравнение строковых переменных.В задании 4 приводятся расчеты вычисления объема конуса, заданного основанием и высотой. В задании 5 приводятся расчеты вычисления суммы ряда для заданного количества членов ряда. Вычисления проводятся с помощью циклического алгоритма. В задании 6 производится нахождение корней функции с помощью метода деления отрезка пополам. При вычислении производится выдача промежуточных результатов работы алгоритма.В заключении приводятся основные результаты, полученные в ходе выполнения контрольной работы.Задание 1 вариант 12Изменить матрицу, заменив каждый отрицательный элемент, лежащий выше главной диагонали, его абсолютной величиной. Найти также сумму элементов главной диагонали.Блок-схема программы task_1:Текст программы task_1 на языке Паскаль:

{Задание №1 Вариант №12Изменить матрицу, заменив каждый отрицательный элемент, лежащий выше главной диагонали, его абсолютной величиной. Найти также сумму элементов главной диагонали}{Константы и переменные}constDim_A = 20;{Максимальная размерность матрицы}varN: Integer; {Размерность матрицы}A: Array[1..Dim_A, 1..Dim_A] of Real;{Матрица из действительных элементов}S: Real;{Сумма гл. диагонали}I, J: Integer;{Параметры циклов}{ Основная программа}beginWriteln('Задание №1');Writeln('Вариант №12');Writeln('----------------------------------');{Ввод размерности матрицы}Write('Размерность матрицы=');Readln(N);if N > Dim_A Then N := Dim_A;{Ввод элементов матрицы и нахождение ср. арифм. гл. диагонали}S := 0;for I := 1 To N Dofor J := 1 To N DobeginWrite('Элемент ', I, '-', J, '=');Readln(A[I, J]);if I = J Then S := S + A[I, J];end;{For J}{Вывод матрицы на экран по строкам}Writeln('Введена матрица:');Writeln('----------------------------------');for I := 1 to N Dobeginfor J := 1 To N DoWrite(A[I, J]:6:2, ' ');Writeln;end;{For I}{Замена отр. эл-тов выше гл. диагонали} for I := 1 To N Do {Цикл по всем строкам}for J := I + 1 To N Do {Цикл по элементам ниже гл. диагонали}if A[I, J] < 0 Then A[I, J] := Abs(A[I, J]);{Выдача результатов}Writeln('Измененная матрица:');Writeln('----------------------------------');for I := 1 to N Dobeginfor J := 1 To N DoWrite(A[I, J]:6:2, ' ');Writeln;end;{For I}Writeln('Сумма эл-тов гл. диагонали=', S:9:2);Writeln('Нажмите Enter для завершения');Readln;end.Результаты работы программы task_1:

  1. Матрица 5х5. Элементами матрицы являются положительные и отрицательные числа.
.

  1. Матрица 4х4 с положительными элементами.
.Задание 2 вариант 12g(x) = , для x[-0,1;5], hx = 0,39Блок-схема программы task_2:Текст программы task_2 на языке Паскаль:{Задание №2 Вариант 12Вычислить значения функции на интервале [-0.1..5]с шагом 0.39}{Описание переменных}varX: Real; {Аргумент}XN, XK: Real;{Границы отрезка}Hx: Real; {Шаг}

F: Real; {Функция}

NF: Integer;{Номер формулы для функции}

{Основная программа }

begin

Writeln('Задание №2 Вариант №12');

Writeln('-----------------------------------');

Write('Начало отрезка(-0.1)=');

Readln(XN);

Write('Конец отрезка(5)=');

Readln(XK);

Write('Шаг изменения аргумента(0.39)=');

Readln(Hx);

Writeln('Значения функции на интервале [', XN:6:2, '..', XK:6:2, '] c шагом ', Hx:6:2);

Writeln('-----------------------------------');

X:=XN;

while X <= XK Do {Цикл пока X<=XK}

begin

if X > 3

Then begin F := X + 1 / X; NF := 1; end

Else begin F := X * X + 1; NF := 2; end;

Writeln('X=', X:6:2, ' F(X)=', F:9:6, ' Формула N', NF); {Вывод значения аргумента и функции}

X := X + Hx;{Переход к следующему значению аргумента}

end;{While}

Writeln('-----------------------------------');

Writeln('Нажмите Enter для завершения');

Readln;

end.
Результаты работы программы task_2:


Задание 3 вариант 12
Написать программу, в которой:


    1. запрашивается номер школы, которую закончил студент;

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

    3. выводится на экран сообщение (совпал или не совпал номер школы).
Блок-схема программы task_3:Текст программы task_3 на языке Паскаль:{Задание №3 Вариант №12Написать программу, в которой: a. запрашивается номер школы, которую закончил студент; b. сравнивается введенная информация со значением строковой переменной (заданным в программе),;c. выводится на экран сообщение (совпал или не совпал номер школы).}{Описание переменных}varS_Sravn,{Строка для сравнения}S_School: String;{Вводимая строка}{Основная программа}beginWriteln('Задание №3 Вариант №12');Writeln('-------------------------------');Write('Введите номер школы для сравнения==>');Readln(S_Sravn);Writeln('Задан номер школы ', S_Sravn);repeat{Бесконечный цикл ввода строки для сравнения}Write('Введите номер школы (пустая строка - завершение)==>');Readln(S_School);if S_School = '' Then Break;{Введена пустая строка, завершаем}Write('Номер школы ', S_School);if S_School <> S_Sravn Then Write(' не ');Writeln(' совпадает с ', S_Sravn);until False;{Конец цикла ввода строки}Writeln('Нажмите Enter для завершения');Readln;end.Результаты работы программы task_3:В программе производится ввод номера школы для сравнения. Затем в цикле производится ввод строки

, в которой содержится номер школы.

Введенная строка сравнивается с заданной строкой.

Завершение цикла ввода строки – пустая строка.


Задание 4 вариант 12

Написать программу для нахождения объёма конуса по основанию и высоте. Считаем, что основание конуса задано радиусом окружности R, высота конусаh.

Объем конуса вычисляется как



где S – площадь основания, вычисляемая по формуле

S=πR2


Блок-схема программы task_4:

Текст программы task_4 на языке Паскаль:
{Задание №4 Вариант №12

Написать программу для нахождения объёма конуса по основанию и высоте.}

{Описание переменных}

var

R: Real; {Радиус основания}

H: Real; {Высота конуса}

S: Real;{Площадь основания}

V: Real;{Объем конуса}
{Основная программа}

begin

Writeln('Задание №4 Вариант №12');

Writeln('-------------------------');

Write('Радиус основания R=');

Readln(R);

Write('Высота H=');

Readln(H);

{Вычисление площади основания}

S := Pi * R * R;

Writeln('Площадь основания=', S:9:2);

{Вычисление объема}

V := S / 3 * H;

Writeln('Объем конуса=', V:9:3);

Writeln('-------------------------');

Writeln('Нажмите Enter для завершения');

Readln;

end.
Результаты работы программы task_4:



Задание 5 вариант 12

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

Сумма может быть вычислена в цикле с фиксированным числом повторений n.
Блок-схема программы task_5:


Текст программы task_5 на языке Паскаль:
{Задание №5 Вариант №12

Написать программу для нахождения значения переменной S по формуле:

S=1+2^2+...+n^2}

{Описание переменных}

var

N: Integer; {Значение N}

I: Integer;{Параметр цикла}

S: Double;{Сумма ряда. Может быть большим числом}

{Основная программа}

begin

Writeln('Задание №5 Вариант №12');

Writeln('-------------------------');

Write('Введите N=');