Контрольная: Основы алгоритмизации и программирования - текст контрольной. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Контрольная

Основы алгоритмизации и программирования

Банк рефератов / Компьютерные сети

Рубрики  Рубрики реферат банка

закрыть
Категория: Контрольная работа
Язык контрольной: Русский
Дата добавления:   
 
Скачать
Архив Zip, 32 kb, скачать бесплатно
Обойти Антиплагиат
Повысьте уникальность файла до 80-100% здесь.
Промокод referatbank - cкидка 20%!

Узнайте стоимость написания уникальной работы



Московский государственный университет экономики, статистики и информатики


Филиал в г. Минске


Кафедра экономики и информатики

Контрольная работа

по дисциплине «ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ»

ВАРИАНТ № 7

Выполнил студент I курса Минец Наталья Владимировна

Руководитель Васильев Владимир Павлович

МИНСК

2004

Содержание.


Содержание

1. Операторы организации разветвляющихся алгоритмов 3

2. Процедуры – операторы и процедуры - функции в языке Паскаль 6

2.1 Общие сведения 6

2.2 Процедуры и функции пользователя 6

3. Задача 1 10

3.1 Постановка задачи 10

3.2 Блок-схема алгоритма задачи 10

3.3 Текст программы на языке Паскаль 11

3.4 Контрольные примеры 11

4. Задача 2 12

4.1 Постановка задачи 12

4.2 Блок-схема алгоритма задачи 12

4.3 Текст программы на языке Паскаль 13

4.4 Контрольные примеры 14

5. Задача 3 16

5.1 Постановка задачи 16

5.2 Блок-схема алгоритма задачи 16

5.3 Текст программы на языке Паскаль 18

5.4 Контрольный пример 19

Список литературы 20



  1. Операторы организации разветвляющихся алгоритмов

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

Условие - выражение булевского типа. Например:

Var flag: boolean;

a>b; a<=b; a<>b

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

And (и)

( a=b ) and (b<>x)

условие истинно, если каждая составляющая его часть истина;

Or (или)

(a>b) or (b=x)

условие истинно, если хотя бы одна из составляющих истина;

Not (отрицание)

Not (x=a)

условие истино, если a не равно b.

Для записи ветвления в Паскале применяется оператор IF (если).

Формат записи оператора:

If условие then

оператор1

else

оператор2;

В качестве оператора может быть любой оператор (в том числе и составной). Часть else может отсутствовать (ветвление неполное).

If условие then

оператор1;

Пример:

X: =2;

if x>0 then

y: =1

else

y: =2;

Write(Y);

Внутри оператора if могут содержаться другие операторы if:

If x=0 then

If y<0 then

If y= - 2 then

y: = 3

else if x= - 5 then

y: = - 2

else y: =1;

Для записи нескольких вариантов действий удобно применение оператора CASE (выбор).

Формат записи оператора:

сase выражение-селектор of

список 1: оператор1;

список2: оператор2;

cписок n: операторn;

else

оператор

end;

Оператор CASE работает следующим образом:

1 шаг - вычисляется выражение (оно должно быть перечислимого типа).

2 шаг - обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора (выражения)

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

Пример:

Var x: integer;

сase x of

12: y:=1;

5,30,46: y:=2;

1..10: y:=3;

else

y:=4

end;

Если переменная х будет равна 12, то y примет значение 1.

Если переменная х будет равна 5, 30 или 46, то y примет значение 2.

Если переменная х будет равна от 1 до 4, или от 6 до 10, то y примет значение 3.

Если переменная х не будет равна ни одному из перечисленных значений, то y примет значение 4.



2. Процедуры – операторы и процедуры - функции в языке Паскаль

2.1 Общие сведения

В языке Turbo Pascal подпрограммы реализованы посредством процедур и функций.

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

Функция аналогична процедуре, но имеются два отличия: функция передает в точку вызова скалярное значение; имя функции может входить в выражение как операнд. Все процедуры и функции языка Turbo Pascal подразделяются на две группы: встроенные и определенные пользователем. Первые входят в состав языка и вызываются для выполнения по строго фиксированному имени. Вторые разрабатываются и именуются самим пользователем. Все стандартные средства расположены в специализированных библиотечных модулях, которые имеют системные имена.

2.2 Процедуры и функции пользователя

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

Процедуры.

Описание процедуры включает заголовок (имя) и тело процедуры. Заголовок состоит из зарезервированного слова PROCEDURE, идентификатора (имени) процедуры и необязательного заключенного в круглые скобки списка формальных параметров с указанием типа каждого параметра. Имя процедуры - идентификатор, уникальный в пределах программы. Тело процедуры представляет собой локальный блок, по структуре аналогичный программе.

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

PROCEDURE <имя> (Формальные параметры);

CONST ...;

TYPE ...;

VAR ...;

BEGIN

<операторы>

END;

В качестве примера опишем процедуру, которая прерывает выполнение программы и выдает соответствующее сообщение об ошибке:

PROCEDURE Abort(Msg: string);

BEGIN

Writeln('Ошибка: ', Msg);

Halt(1);

END;

{Сохраним данный пример в файле ABORT.PAS для дальнейшего использования в примере ниже по тексту.}

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

В качестве примера приведем фрагмент программы, в котором используется описанная выше процедура Abort:


PROGRAM DemoProc;

{ Подсчет суммы десяти введенных целых положительных чисел, если будет введено отрицательное число, прервать выполнение }

CONST

Limit = 10; { ограничение на количество вводимых чисел }

VAR

Count, Item, Sum: integer;

{$I ABORT.PAS } { включение в текст файла ABORT.PAS }

BEGIN

Count:= 0;

Sum:= 0;

WHILE (Count < Limit) DO BEGIN { условие выполнение цикла }

Count:= Count+1;

Write('Введите ', Count, '-ое целое число: ');

Readln(Item);

IF Item < 0 THEN

{ вызов процедуры:}

Abort('введено отрицательное число');

Sum:= Sum+Item;

END;

Writeln('Сумма введенных чисел равна ', Sum);

END.

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

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

Функции.

Функция, определенная пользователем, состоит из заголовка и тела функции. Заголовок содержит зарезервированное слово FUNCTION, идентификатор (имя) функции, заключенный в круглые скобки, необязательный список формальных параметров и тип возвращаемого функцией значения. Тело функции представляет собой локальный блок, по структуре аналогичный программе:

FUNCTION <имя> (Формальные параметры) : <тип результата>;

CONST ...;

TYPE ...;

VAR ...;

BEGIN

<операторы>

END;

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

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

PROGRAM DemoPower;

VAR Z:real;

FUNCTION Power(X,Y:real): real;

BEGIN

Power:= Exp(Y* Ln(X))

END;

BEGIN

Z:=5.31;

{ возведение значения Z в 4-ю степень}

Write(Power(Z,4.0));

END.



3. Задача 1

3.1 Постановка задачи

Написать и отладить программу, которая вычисляет значение функции y=f(х), при заданном с клавиатуры значении х, или выдает сообщение, что функция неопределенна:

3.2 Блок-схема алгоритма задачи

ДА





НЕТ






ДА


НЕТ








y:=1/(x2-5x+6)



y:=x2-5x+6
















3.3 Текст программы на языке Паскаль

{Задача 1.}

Program z1;

uses crt;

var x,y:real;

Begin

clrscr;

write('Введите х: ');

readln(x);

if x<=0 then y:=sqr(x)-5*x+6

else if sqr(x)-5*x+6<>0 then

y:=1/(sqr(x)-5*x+6)

else begin

writeln('При х=',x:5:2,' функция f(x) не определена.');

readln;

halt;

end;

writeln('Ответ: y=f(',x:5:2,')=',y:5:2);

readln;

End.



3.4 Контрольные примеры

Введите х: 2

При х= 2.00 функция f(x) не определена.


Введите х: 5

Ответ: y=f( 5.00)= 0.17


Введите х: -2

Ответ: y=f(-2.00)=20.00




4. Задача 2

4.1 Постановка задачи

Написать и отладить программу, которая вычисляет значение матричного выражения, или выдает сообщение о невозможности его выполнения, при задании с клавиатуры значениях размерностей и элементов матриц А[M,N]; B[L,M]; C [N,L]:

А*С+4*В

4.2 Блок-схема алгоритма задачи









ДА


НЕТ






Y:= А*С+4*В








4.3 Текст программы на языке Паскаль

{Задача 2.}

Program z2;

uses crt;

var M,N,L,i,j,k:integer;

A,B,C,D,E,Y:array[1..10,1..10] of real;

Begin

clrscr;

writeln('Вычисление матричного выражения Y[L,M]=A[M,N]*C[N,L]+4*B[L,M]');

{Ввод размерностей матриц.}

write('Введите размерность матриц - значения M,N,L (<=10): ');

readln(M,N,L);

if (M>10) or (N>10) or (L>10) or (M<1) or (N<1) or (L<1) then begin

writeln('Введены некорректные данные. (1<=M,N,L<=10)');

readln;

halt;

end;

if M<>L then begin

writeln('При заданных значениях M, N, L вычислить выражение');

writeln('A[M,N]*C[N,L]+4*B[L,M] невозможно,т.к.складываются');

writeln('только матрицы одинаковых размеров.');

writeln('Введите одинаковые значения для M и L.');

readln;

halt;

end;

{Ввод элементов матриц.}

writeln('Введите построчно элементы матрицы A[',M,',',N,']:');

for i:=1 to M do

for j:=1 to N do

read(A[i,j]);

writeln('Введите построчно элементы матрицы B[',L,',',M,']:');

for i:=1 to L do

for j:=1 to M do

read(B[i,j]);

writeln('Введите построчно элементы матрицы C[',N,',',L,']:');

for i:=1 to N do

for j:=1 to L do

read(C[i,j]);

writeln('Ответ:');

{Вычисление произведения матриц: D[M,L]=A[M,N]*C[N,L]}

for i:=1 to M do

for j:=1 to L do begin

D[i,j]:=0;

for k:=1 to N do

D[i,j]:=D[i,j]+A[i,k]*C[k,j];

end;

{Вычисление умножения матрицы на число: Е[L,M]=4*B[L,M]}

for i:=1 to L do

for j:=1 to M do

E[i,j]:=4*B[i,j];

{Вычисление сложения матриц: Y[L,M]=D[M,L]+Е[L,M]}

for i:=1 to L do begin

for j:=1 to M do begin

Y[i,j]:=D[i,j]+E[i,j];

write(Y[i,j]:9:2);

end;

writeln;

end;

readln;

End.

4.4 Контрольные примеры

Вычисление матричного выражения Y[L,M]=A[M,N]*C[N,L]+4*B[L,M]

Введите размерность матриц - значения M, N, L (<=10): 5 4 6

При заданных значениях M, N, L вычислить выражение

A[M,N]*C[N,L]+4*B[L,M] невозможно, т.к. складываются

только матрицы одинаковых размеров.

Введите одинаковые значения для M и L.


Вычисление матричного выражения Y[L,M]=A[M,N]*C[N,L]+4*B[L,M]

Введите размерность матриц - значения M, N, L (<=10): 4 3 4

Введите построчно элементы матрицы A[4,3]:

3 2 4

1 5 2

4 2 1

6 3 2

Введите построчно элементы матрицы B[4,4]:

5 2 7 1

3 5 2 8

9 2 9 3

1 4 7 2



Введите построчно элементы матрицы C[3,4]:

5 2 1 7

2 4 2 8

2 1 6 5

Ответ:

47.00 26.00 59.00 61.00

31.00 44.00 31.00 89.00

62.00 25.00 50.00 61.00

44.00 42.00 52.00 84.00







5. Задача 3

5.1 Постановка задачи

Разработать программы:

  1. ввода данных с клавиатуры и формирования текстового файла;

  2. чтения текстового файла с диска и вывода его на экран в виде таблицы.

Данные для формирования файла.

ФКС-2 0,01 10 -8 ?10 -9

АМД-94 1 10 -6? 10-5

РСК-94 10 10-7 ?10 -6

5.2 Блок-схема алгоритма задачи

а) Запись данных в файл (Fn – имя файла).







а) Чтение данных из файл и их вывод на экран.








НЕТ






ДА






5.3 Текст программы на языке Паскаль

{Задача 3.}

Program z3a;

uses crt;

var f:text;

n,i:integer;

fn,s1,s2:string;

r:real;

Begin

clrscr;

writeln('Формирование текстового файла с данными, введенными с клавиатуры.');

write('Введите имя файла:');

readln(fn);

assign(f,fn);

rewrite(f);

write('Введите количество строк: ');

readln(n);

writeln('Введите данные:');

for i:=1 to n do begin

write('Название:');

readln(s1);

write('Численное значение:');

readln(r);

write('Диапазон:');

readln(s2);

writeln(f,s1:15,r:15:2,s2:15);

end;

close(f);

writeln('Данные успешно записаны в файл ',fn);

readln;

End.



{Задача 3б.}

Program z3b;

uses crt;

var f:text;

s,fn:string;

r:real;

Begin

clrscr;

writeln('Чтение данных из текстового файла и их вывод на экран.');

write('Введите имя файла: ');

readln(fn);

assign(f,fn);

reset(f);

writeln('Данные из файла ',fn);

while not eof(f) do begin

readln(f,s);

writeln(s);

end;

close(f);

readln;

End.

5.4 Контрольный пример

Формирование текстового файла с данными, введенными с клавиатуры.

Введите имя файла:f1.txt

Введите количество строк: 3

Введите данные:

Название:ФКС-2

Численное значение:0.01

Диапазон:10-8..10-9

Название:АМД-94

Численное значение:1

Диапазон:10-6..10-5

Название:РСК-94

Численное значение:10

Диапазон:10-7..10-6

Данные успешно записаны в файл f1.txt


Чтение данных из текстового файла и их вывод на экран.

Введите имя файла: f1.txt

Данные из файла f1.txt

ФКС-2 0.01 10-8..10-9

АМД-94 1.00 10-6..10-7

РСК-94 10.00 10-7..10-6





Список литературы

1. Бородич Ю.С. и др. Паскаль для персонадьных компьютеров: Справочное пособие. Мн.: Выш. шк.: БФ ГИТМП " Ника", 1991 г.

2. Вальвачев А. Н., Крисевич В.С. Программирование на языке Паскаль для персонадьных ЭВМ ЕС: Справочное пособие. - Мн.: Выш. шк., 1989 г.

3. Васюкова Н. Д., Тюляева В. В. Практикум по основам программирования. Язык Паскаль: Учебное пособие. - М.: Высш. шк.,1991 г.

4. Офицеров Д. В., Старых В. А. Программирование в интегрированной среде Турбо-Паскаль: Справочное пособие. – МН.: Беларусь, 1992 г.


1Авиация и космонавтика
2Архитектура и строительство
3Астрономия
 
4Безопасность жизнедеятельности
5Биология
 
6Военная кафедра, гражданская оборона
 
7География, экономическая география
8Геология и геодезия
9Государственное регулирование и налоги
 
10Естествознание
 
11Журналистика
 
12Законодательство и право
13Адвокатура
14Административное право
15Арбитражное процессуальное право
16Банковское право
17Государство и право
18Гражданское право и процесс
19Жилищное право
20Законодательство зарубежных стран
21Земельное право
22Конституционное право
23Конституционное право зарубежных стран
24Международное право
25Муниципальное право
26Налоговое право
27Римское право
28Семейное право
29Таможенное право
30Трудовое право
31Уголовное право и процесс
32Финансовое право
33Хозяйственное право
34Экологическое право
35Юриспруденция
36Иностранные языки
37Информатика, информационные технологии
38Базы данных
39Компьютерные сети
40Программирование
41Искусство и культура
42Краеведение
43Культурология
44Музыка
45История
46Биографии
47Историческая личность
 
48Литература
 
49Маркетинг и реклама
50Математика
51Медицина и здоровье
52Менеджмент
53Антикризисное управление
54Делопроизводство и документооборот
55Логистика
 
56Педагогика
57Политология
58Правоохранительные органы
59Криминалистика и криминология
60Прочее
61Психология
62Юридическая психология
 
63Радиоэлектроника
64Религия
 
65Сельское хозяйство и землепользование
66Социология
67Страхование
 
68Технологии
69Материаловедение
70Машиностроение
71Металлургия
72Транспорт
73Туризм
 
74Физика
75Физкультура и спорт
76Философия
 
77Химия
 
78Экология, охрана природы
79Экономика и финансы
80Анализ хозяйственной деятельности
81Банковское дело и кредитование
82Биржевое дело
83Бухгалтерский учет и аудит
84История экономических учений
85Международные отношения
86Предпринимательство, бизнес, микроэкономика
87Финансы
88Ценные бумаги и фондовый рынок
89Экономика предприятия
90Экономико-математическое моделирование
91Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Мюллер вызывает к себе Штирлица и говорит: "Наконец-то я вас раскусил!
Никакой вы не немец. Немецкий язык для вас не родной. Признайтесь, вы - татарин?"
Штирлиц (удивлённо): "С чего вы взяли, штандартенфюрер? Что за чушь?
Если уж у вас разыгралась фантазия, то не логичнее ли предположить, что я - русский разведчик?"
Мюллер (переходя на русский): "Абдулла Ибрагимович, мы, русские разведчики, учились немецкому в МГИМО, а вы, судя по акценту - в
Казанском пединституте!"
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

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

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2017
Рейтинг@Mail.ru