var
x, y:integer;
begin
x:=4;
y:=1;
while x>=0 do
begin
x:=x-y;
y:=y+1;
end;
writeln(x);
end;
1. 1; 2. -1; 3. 25; 4. 15; 5. 13; 6. 2; 7. -2 8. нет ответа.
4.Обведите кружком номер правильного ответа.
Формула подсчета переменной Р, которая определяется кодом программы:
…
p:=1;
for i:=1 to 5 do
begin
f:=1;
for j:=1 to i do
f:=f*j;
p:=p*(power(x, i)/f);
end;
…
1) p=x2/2!*x4/3!*x6/4!*x8/5!
2) p=x3/3!*x5/5!*x7/7!*x9/9!*x11/11!
3) p=x2/2!*x4/4!*x6/6!*x8/8!*x10/10!
4) p=x/1!*x2/2!*x3/3!*x4/4!*x5/5!
5) p=x/2!*x3/4!*x5/6!*x7/8!*x9/10!
5.Чему равно значение S в результате работы подпрограммы:
Procedure TForm1.Button1Click( );
Procedure Dva(var b, s:integer);
Var
I:integer;
Begin
For i:=1 to 10 do
If I mod 2=0 then
S:=s+I;
S:=s+b;
End;
Var
B, s:integer;
Begin
S:=9;b:=5;
Dva(b, s);
Writeln(s);
End;
Обведите кружком номер правильного ответа: 1. 48; 2. 44; 3. 40; 4. 23; 5. 29
3.3 Контрольная работа для текущего контроля знаний на 14 неделе по темам: массивы, записи, файлы.
Вариант 1.
Тема: “Одномерные и двухмерные массивы”.
1.1.Что будет выведено на экран в результате выполнения данного фрагмента программы?
……………………………..
const a:array[1..10]of integer=(10,20,30,12,24,25,7,77,19,3);
……………………………..
procedure TForm1.Button1Click(Sender: TObject);
Var i, s,k, n:integer;
begin
s:=0; k:=0; n:=9;
for i:=1 to n do
if (a[i] mod 3=0) or (a[i] mod 5=0) then begin s:=s+a[i]; k:=k+1; end;
Listbox1.items. add('s ='+' '+inttostr(s)+' k='+inttostr(k));
end;
Дан двухмерный массив, содержащий 4 строки и 3 столбца, числа типа Real. Первый столбец: числа 2, 3; 5; 9; -7.
Второй столбец: 2, 3; -3,5; 3,9; 6. Третий столбец: -19, 3; 2,5; 9,7; 1. Требуется выполнить описание массива в разделе Const. Что будет выведено на экран в результате выполнения фрагмента программы?
……………………………..
const a:array[1..4,1..3]of Real= ……………………………..
procedure TForm1.Button1Click(Sender: TObject);
var ………….. // описание рабочих переменных
begin
for i:=1 to 4 do begin
if a[i,1] > 0 then begin S:=0;
for j:= 1 to 3 do
s:=s+a[i, j]; end; Listbox1.items. add('s ='+' '+floattostr(s*s)); end;
end;
Тема : Записи
Опишите, используя структуру записи, школьный журнал.
3. Тема : Обработка файлов.
Программа реализует операцию удаления 3(третьей) записи в файле FF. Файл FF находится на диске C, содержит целые числа.
Написать необходимый фрагмент программы, дополнить разделы описания данных.
Unit Fa;
……………. // Разделы описания данных программы
Var ………….. ……….. ……………
………………..
implementation
………………..
Procedure Tform1.Button1Click ( );
Var
Begin
…………… ……………… …………….
……………. ……………… …………….
……………. ……………… …………….
End;
3.4 Вопросы к экзамену (зачету) .
1. Определение алгоритма. Свойства алгоритма. Основные структуры алгоритмов. Методы описания алгоритмов.
2. Тип данных. Стандартные и пользовательские типы данных. Размер внутреннего представления каждого из стандартных типов, диапазон значений.
3. Классификация типов данных. Какими свойствами характеризуются порядковые типы?
4. В чем отличие пользовательских и стандартных типов данных? Как строятся и где применяются пользовательские типы данных?
5. Какими правилами определяется совместимость типов по присваиванию?
6. Классификация операций. Приоритет операций?
7. Выражение. Конструирование арифметических и логических выражений. Правила составления выражения. Применение логических выражений в управляющих операторах.
8. Классификация операторов языка Pascal. Управляющие операторы.
9. К какой группе операторов языка Pascal относится составной оператор, его назначение.
10. Операторы выбора. Преимущества и недостатки. Привести примеры.
11. Какие управляющие конструкции повторения реализуются в языке Pascal? Их особенности.
12. Чем отличаются циклические конструкции с предусловием и постусловием?
13. С какими ограничениями реализована конструкция цикла со счетчиком?
14. Алгоритмы накопления.
15. Алгоритм нахождения максимального значения.
16. Структурированный тип данных - массив. Структура массива, размерность и размер. Операция присваивания массивов. Каково внутреннее представление двумерных, трехмерных массивов? Описание типизированных констант-массивов? Обработка массивов.
17. Тип данных запись, его структура, преимущества и недостатки. Составное имя. Назначение оператора With.
18. Множества. Операции над множествами. Ввод / вывод элементов множества.
19. Подпрограммы. В чем назначение подпрограмм? Процедуры и функции. Выделение памяти при вызове подпрограмм.
20. Формальные и фактические параметры. Правила соответствия формальных и фактических параметров. Типы формальных параметров.
21. В чем различие передачи данных по значению и по ссылке?
22. Как можно осуществить передачу двух результатов и более из подпрограммы в программу?
23. Структурный тип данных - файл. Назовите основные этапы обработки файлов.
24. Типизированный, текстовый и нетипизированный файлы. Процедуры обработки типизированных файлов. Прямой доступ к компоненту и последовательный доступ.
25. Процедуры, предназначенные для обработки только текстовых файлов.
26. Как осуществляется добавление, удаление компонента в файл, из файла?
27. Как можно внести изменения в компонент типизированного файла, как эта процедура осуществляется в текстовом файле?
28. Какой объект называется рекурсивным? Рекурсивные алгоритмы. Примеры.
29. Указатели. Типизированные, нетипизированные указатели.
30. Динамические структуры данных – стеки.
31. Динамические структуры данных – очереди.
32. Алгоритмы поиска. Линейный поиск. Бинарный поиск.
33. Сортировка, ее назначение. Эффективность сортировки. Сортировка простыми вставками.
34. Сортировка, ее назначение. Эффективность сортировки. Алгоритм сортировки простым выбором.
35. Сортировка, ее назначение. Сортировка методом Хоара.
36. Процедура слияния двух подмассивов, упорядоченных по убыванию.
37. Графика. Графические компоненты. Типы графических файлов.
38. Графика. Функции векторной графики. Объекты класса TBitMap.
39. Классы общего назначения. Исключения. Обработка исключений.
40. Классы общего назначения. Классы для работы со списками (TList, TStringList)
3.5 Тематика курсового проектирования
Задания к курсовой работе по дисциплине «Алгоритмические языки и программирование», 1 курс, 2 семестр.
Порядок выполнения
1. Спроектируйте программу в соответствии с номером варианта. Номер варианта выбирается по списку группы. Реализуйте удобный интерфейс пользователя. Опишите проект с помощью схемы иерархии логических модулей.
2. Для каждого модуля разработайте блок-схему в соответствии с технологией структурного программирования.
3. Реализуйте проект на языке Object Pascal в среде Delphi.
4. Физические модули реализуйте с помощью подпрограмм Object Pascal. Выберите метод тестирования, разработайте тестовые наборы данных и оттестируйте каждую подпрограмму.
1). Данные должны храниться в файле. В программе использовать динамические структуры данных, реализовать функции поиска, редактирования, добавления данных, возможность получения статистических данных в виде графиков или диаграмм, возможность получения отсортированных данных по какому-либо признаку.
2). Дополнительное задание. Данные должны храниться в базе данных. Разработать требуемые запросы.
5. Опишите реализацию программы с помощью схемы иерархии физических модулей.
6. Выберите метод тестирования, разработайте тестовые наборы данных и оттестируйте программу в целом.
Содержание отчета
1. Вариант задания.
2. Схема иерархии логических модулей.
3. Блок-схема для каждого модуля.
4. Схема иерархии физических модулей.
5. Таблицу соответствия логических и физических модулей.
6. Наборы тестовых данных для тестирования каждого модуля и приложения в целом.
7. Текст программы на Object Pascal с комментариями.
8. Литература.
Например:

Рис. 1. Схема иерархии логических модулей приложения
Соответствие между логическими и физическими модулями
Номер | Логический модуль | Физический модуль |
1 | Ввод/Вывод | function Edit(i: Integer;s: String): String; |
1.1 | Добавить знак | function Signe(s: String): String; |
1.2 | Добавить запятую | function Comma(s: String): String; |
1.3 | Добавить десятичную цифру | function Digits(p: integer;s: String): String; |
1.3.1 | Разрядов в числе | function LenNum(s: String): Cardinal; |
1.3.2 | Добавить ‘0’ | function AddZero(s: String): String; |
1.4 | Удалить число | function Clear: String; |
1.5 | Удалить символ справа | function Backspace(s: String): String; |
2 | Преобразование представления числа | function DoTransfer(S: String): String; |
2.1 | Перевод целого в р-ичную строку | function Int10ToP(r: Comp; b:Cardinal):String; |
2.1.1 | Перевод целого в р-ичный символ | function IntToPChar(d: Integer):String; |
2.2 | Перевод дроби в р-ичную строку | function Frac10ToP(f: Extended; b:Cardinal):String; |
Вариант 1.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |


