20
19
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ОРЛОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Курсовая работа
Основы программирования и алгоритмизации
Вариант - 10
Работу выполнил студент
Группа Факультет ФНТиАП
Специальность Автоматизация технологических процессов и производств
Курсовая работа защищена с оценкой
Орел 2009
Задание на курсовую работу
Студент
Группа Факультет ФНТиАП
Специальность Автоматизация технологических процессов и производств
Вариант - 10
Задания
1. В ЭВМ поступают результаты соревнований по плаванию для трех спортсменов. Составьте программу, которая выбирает лучшей результат и выводит его на экран с сообщением, что это лучшей результат.
2. Дано натуральное число n. Составить программу, определяющую, есть ли среди чисел n, n+1,...,2n близнецы, т.е. простые числа, разность между которыми равна 2. (Использовать процедуру распознавания простых чисел).
3. Найдите сумму элементов массива ниже главной диагонали, произведение не равных нулю элементов выше главной диагонали и количество элементов в главной диагонали, попадающих в интервал [-1;1].
4. Опишите множества М1 (1, 2,3) и M2 (1, 4, 2, 5). Получите результирующие множество M3=M1*M2. Определите, имеются ли в M3 элементы 1 и 2.
5. Создайте файл, компоненты которого являются целыми числами. Напишите программу, переписывающую компоненты файла в обратном порядке.(Новый файл не заводить).
Руководитель
Задание принял к исполнению «__» ____________ 2009 г.
Подпись студента
Содержание
Задание № 1
Задание № 2
Задание № 3
Задание № 4
Задание № 5
Приложение 1
Приложение 2
Приложение 3
Приложение 4
Приложение 5
Задание №1
Название программы введено после program, в данном задание это - Zadanie1. Далее с помощью var выделены ячейки памяти под переменные X1, X2, X3, res вещественного типа данных. После begin написан ход работы программы из последовательности операторов.
С помощью операторов writeln и readln описывается, что нужно ввести и записывается введенный результат в память, соответственно. Таким образом, вводим результаты спортсменов X1, X2, X3.
Далее с помощью условных операторов if определяем наименьший результат, который присваивается переменной res: if X1<X2 then res:=X1 else res:=X2; if res>X3 then res:=X3;. С помощью оператора writeln на экран выдается сообщение с результатом победителя заплыва.
Закрытие программы - end.
Алгоритм к Заданию №1:
Задание №2
Название программы введено после program, в данном задание это - Zadanie2. Далее с помощью var выделены ячейки памяти под переменные j, B, N типа данных word и массива а логического типа данных. После begin написан ход работы программы из последовательности операторов.
С помощью процедуры Pch определяем все простые числа, используемые в программе. Далее оператором writeln выводим сообщение о том, что ниже будут выдаваться числа близнецы.
Создаем цикл: for j:=N to 2*N do, где будет проверяться условие, что разность между числами равна 2. Если условие верно, то выдаются на экран сравнивающиеся числа, которые и будут близнецы.
Закрытие программы - end.
Процедура Pch.
Кроме общих переменных заданных в программе в процедуре используются внутренние переменные b, k типа данных word. Задаем диапазон, на котором будем выделять простые числа. Далее создаем цикл: for j:=2 to 2*N do, в котором всем значениям массива а присваиваем значение TRUE. С помощью нескольких циклов в цикле: while k<=b do, всем не простым числам в массиве а присваиваются значения FALSE.
Таким образом получаем массив а, где простые числа отмечены TRUE. Закрытие процедуры - end.
Алгоритм к Заданию №2:
Процедура
Простые числа:
Задание №3
Название программы введено после program, в данном задание это - Zadanie3. Далее с помощью var выделены ячейки памяти под переменные i, j, K, n, m типа данных byte, переменные S, Pr и массив a[1..255,1..255] вещественного типа данных. После begin написан ход работы программы из последовательности операторов.
Вводим размерность матрицы NxM, далее с помощью цикла: for j:=1 to m dо в цикле: for i:=1 to n do задаем все значения массива а.
Следующий этап - создаем цикл: for j:=1 to (i-1) do в цикле: for i:=2 to n do, где будут перебираться только элементы ниже главной диагонали и находим их сумму. Далее создаем цикл: for i:=1 to (j-1) do в цикле: for j:=2 to m do, где будут перебираться только элементы выше главной диагонали. Проверяем условие не равности нулю каждого элементы и находим их произведение: if a[i,j]<>0 then Pr:=Pr*a[i,j].
Далее в цикле: for i:=1 to n do, j присваиваем значение i, то есть перебираем только элементы главной диагонали, где проверяем принадлежность этих элементов диапазону [-1;1] и считаем это количество.
С помощью операторов writeln на экран выдаем результат. Закрытие программы - end.
Алгоритм к Заданию №3:
Задание №4
Название программы введено после program, в данном задание это - Zadanie4. Далее с помощью const заданы константы, множества M1=[1,2,3] и M2=[1,4,2,5], а с помощью var выделены ячейки памяти под множество M3 типа данных byte. После begin написан ход работы программы из последовательности операторов.
С помощью оператора writeln выводим сообщение о том, что даны множества М1и M2. Далее находим множество М3: М3:=M1*M2. С помощью условных операторов if проверяем наличие в множестве М3 элементов 1 и 2, после чего выдается соответствующее сообщение.
С помощью строки readln (); выполнение программы автоматически не закроется, что позволит посмотреть результат, а закрытие осуществляется после нажатия кнопки Enter. Закрытие программы - end.
Алгоритм к Заданию №4:
Задание №5
Название программы введено после program, в данном задание это - Zadanie5. Далее с помощью var выделены ячейки памяти под переменные i целого типа данных, k, j типа данных byte, массив а и f файл с целым типом данных. После begin написан ход работы программы из последовательности операторов.
Оператором assign устанавливаем связь между программой и файлом zadanie5.txt. Далее командой rewrite (f); открываем (создаем) файл для записи. Вводим количество вводимых чисел в файл. С помощью цикла: for j:=1 to k do, вводим поочередно k целых чисел, а с помощью команды write (f,i); записываем эти числа в файл.
Далее открываем файл, только в этот раз для чтения reset (f). И прочитываем все значения i и записываем их в массив a. Далее командой rewrite (f) опять открываем файл для записи и с помощью цикла: for j:=k downto 1 do, записываем значения массива а в файл f в обратном порядке.
Далее открываем файл для чтения reset (f). И прочитываем все значения. Затем с помощью цикла: for j:=1 to k do, командой read (f,a[j]) читаем числа и выводим их на экран через пробел: write (a[j], ).
Далее закрываем файл и программу.
Алгоритм к Заданию №5:
Приложение 1
Текст программы к Заданию №1
program Zadanie1;
var
X1,X2,X3,res:real;
begin
writeln (Введите результат 1 спортсмена: );
readln (X1);
writeln (Введите результат 2 спортсмена: );
readln (X2);
writeln (Введите результат 3 спортсмена: );
readln (X3);
if X1<X2 then res:=X1 else res:=X2;
if res>X3 then res:=X3;
writeln (Результат победителя заплыва: , res:10:4);
end.
Решение:
Приложение 2
Текст программы к Заданию №2
program Zadanie2;
var
j,B,N: word;
a: array [2..1000] of boolean;
procedure Pch;
var
b,k:word;
begin
writeln (Введите натуральное число N: );
readln (N);
for j:=2 to 2*N do
a[j]:=true;
b:=trunc(sqrt(2*N));
while k<=b do
begin
repeat
inc(k);
until a[k];
j:=2*k;
while j<=2*N do
begin
a[j]:=false;
j:=j+k;
end;
end;
end;
begin
Pch;
writeln (Числа близнецы на диапозоне ,N,..,2*N, :);
B:=1;
for j:=N to 2*N do
if a[j] then
begin
if j-B=2 then writeln (j, | ,B);
B:=j;
end;
end.
Решение:
Приложение 3
Текст программы к Заданию №3
program Zadanie3;
var
i,j,K,n,m: byte;
S,Pr: real;
a: array [1..255,1..255] of real;
begin
writeln (Введите размерность массива N x M:);
readln (n,m);
for i:=1 to n do
for j:=1 to m do
begin
writeln (Введите a[,i,,,j,] : );
readln (a[i,j]);
end;
for i:=2 to n do
for j:=1 to (i-1) do
S:=S+a[i,j];
Pr:=1;
for j:=2 to m do
for i:=1 to (j-1) do
if a[i,j]<>0 then Pr:=Pr*a[i,j];
if n>m then n:=m;
for i:=1 to n do
begin
j:=i;
if abs(a[i,j])<=1 then K:=K+1;
end;
writeln (Сумма элементов ниже главной диагонали:,S:7:2);
writeln (Произведение элементов выше главной диагонали:,Pr:7:2);
writeln (Количество элементов на главной диагонали в интервале [-1;1],K);
readln();
end.
Решение:
Приложение 4
Текст программы к Заданию №4
program Zadanie4;
const
M1=[1,2,3];
M2=[1,4,2,5];
var
M3: set of byte;
begin
writeln (Даны множества М1(1,2,3), M2(1,4,2,5) и М3=М1*М2);
M3:=M1*M2;
if 1 in M3 then writeln (1 есть в множестве М3)
else writeln (1 нет в множестве М3);
if 2 in M3 then writeln (2 есть в множестве М3)
else writeln (2 нет в множестве М3);
readln;
end.
Решение:
Приложение 5
Текст программы к Заданию №5
program Zadanie5;
var
f: file of integer;
i: integer;
k,j: byte;
a: array [1..255] of integer;
begin
assign (f,zadanie5.txt);
rewrite (f);
writeln (Введите количество вводимых чисел: );
readln (k);
for j:=1 to k do
begin
write (Введите ,j, число: );
read (i);
write (f,i);
end;
reset (f);
writeln (Значения из созданного файла:);
for j:=1 to k do
begin
read (f,i);
write (i, );
a[j]:=i;
end;
rewrite (f);
for j:=k downto 1 do
write (f,a[j]);
writeln;
reset (f);
writeln (Значения из файла:);
for j:=1 to k do
begin
read (f,a[j]);
write (a[j], );
end;
close (f);
writeln;
end.
Решение:
! | Как писать курсовую работу Практические советы по написанию семестровых и курсовых работ. |
! | Схема написания курсовой Из каких частей состоит курсовик. С чего начать и как правильно закончить работу. |
! | Формулировка проблемы Описываем цель курсовой, что анализируем, разрабатываем, какого результата хотим добиться. |
! | План курсовой работы Нумерованным списком описывается порядок и структура будующей работы. |
! | Введение курсовой работы Что пишется в введении, какой объем вводной части? |
! | Задачи курсовой работы Правильно начинать любую работу с постановки задач, описания того что необходимо сделать. |
! | Источники информации Какими источниками следует пользоваться. Почему не стоит доверять бесплатно скачанным работа. |
! | Заключение курсовой работы Подведение итогов проведенных мероприятий, достигнута ли цель, решена ли проблема. |
! | Оригинальность текстов Каким образом можно повысить оригинальность текстов чтобы пройти проверку антиплагиатом. |
! | Оформление курсовика Требования и методические рекомендации по оформлению работы по ГОСТ. |
→ | Разновидности курсовых Какие курсовые бывают в чем их особенности и принципиальные отличия. |
→ | Отличие курсового проекта от работы Чем принципиально отличается по структуре и подходу разработка курсового проекта. |
→ | Типичные недостатки На что чаще всего обращают внимание преподаватели и какие ошибки допускают студенты. |
→ | Защита курсовой работы Как подготовиться к защите курсовой работы и как ее провести. |
→ | Доклад на защиту Как подготовить доклад чтобы он был не скучным, интересным и информативным для преподавателя. |
→ | Оценка курсовой работы Каким образом преподаватели оценивают качества подготовленного курсовика. |
Курсовая работа | Деятельность Движения Харе Кришна в свете трансформационных процессов современности |
Курсовая работа | Маркетинговая деятельность предприятия (на примере ООО СФ "Контакт Плюс") |
Курсовая работа | Политический маркетинг |
Курсовая работа | Создание и внедрение мембранного аппарата |
Курсовая работа | Социальные услуги |
Курсовая работа | Педагогические условия нравственного воспитания младших школьников |
Курсовая работа | Деятельность социального педагога по решению проблемы злоупотребления алкоголем среди школьников |
Курсовая работа | Карибский кризис |
Курсовая работа | Сахарный диабет |
Курсовая работа | Разработка оптимизированных систем аспирации процессов переработки и дробления руд в цехе среднего и мелкого дробления Стойленского ГОКа |