- •1. Приступаем к изучению языка delphi
- •I love Delhi
- •20 Degrees Celsius is 68 degrees Fahrenheit.
- •4.2 Light are 265608 astronomical units
- •2. Представление данных переменными
- •Integer is 4 bytes
- •Integer is 2147483647
- •Integer is -2147483648
- •3. Составные типы данных
- •Volume: Integer;
- •Volume: 1.40
- •Var a: array of integer;
- •4. Циклы и выражения сравнения
- •1952 Hudson Hornet
- •1951 Kaiser
- •5. Операторы ветвления и логические операции
- •If проверяемое_условие then
- •3 Spaces, 13 charaters total in sentence
- •If проверяемое_условие then
- •27 Is right!
- •6 Entries or enter a negative value.
- •4 Numbers in massive greater then your number
- •2 Spaces
2 Spaces
Done
Примечания к программе
Обратите внимание на то, что, хотя оператор continue заставляет программу пропустить остальную часть тела цикла, он не препятствует выполнению выражения обновления цикла. В цикле for оператор continue вынуждает программу перейти непосредственно к выражению обновления и продолжения цикла.
Упражнения по программированию (5)
Напишите программу, которая считывает ввод с клавиатуры до появления символа @ и отображает эти данные за исключением цифр. При этом каждый прописной символ преобразуется в строчный и наоборот (функции UpperCase и LowerCase).
Напишите программу, которая считывает до десяти значений "пожертвований" в массив значений типа Real. Программа должна прерывать ввод при вводе нечислового значения. Необходимо выводить отчет о средней величине "пожертвований", а также о том, сколько значений в массиве превышают среднее значение.
Напишите заготовку программы, управляемой меню. Программа должна отображать меню, состоящее из четырех пунктов, каждый из которых помечен буквой. Если пользователь отвечает вводом буквы, отличающейся от меток, программа должна предлагать ему ввести допустимый ответ до тех пор, пока это не будет сделано. Затем программа должна использовать оператор case для выбора простого действия, исходя из ответа пользователя. Результат выполнения программы мог бы выглядеть примерно так:
Please enter one of the following choices:
c) carnivore p) pianist
t) tree g) game q) quit
f
Please enter a c, p, t, or g: q
Please enter a c, p, t, or g: t
A maple is a tree.
Вступив в Благотворительный орден программистов (Benevolent Order of Programmers — ВОР), вы можете быть известны на собраниях ВОР под своим действительным именем, по названию должности или по секретному псевдониму ВОР. Напишите программу, которая может перечислять членов ордена по действительным именам, по должностям, по секретным псевдонимам или по индивидуально заданным опциям. В основу программы положите следующую структуру:
// Структура имен членов Benevolent Order of Programmers
Tbop = record
fullname: String; // настоящее имя
title: String; // должность
bopname: String; // секретный псевдоним ВОР
preference: Integer; // 0 = fullname, 1 = title, 2 = bopname
end;
В программе создайте небольшой массив таких структур и инициализируйте его подходящими значениями. Программа должна выполнять цикл, который пользователю возможность выбирать различные варианты:
а. отображение по имени
b. отображение по должности
с. отображение по секретному псевдониму
d. отображение по индивидуально заданным опциям
q. выход
Учтите, что вариант "отображение по индивидуально заданным опциям" означает не вывод значения элемента preference, а отображение данных членов ордена в соответствии с установленными для них опциями. Результат выполнения программы может выглядеть примерно так:
Benevolent Order of Programmers Report
a. display by name
b. display by title
o. display by bopname
d. display by preference
q. quit
Enter your choice: a
Wimp Macho
Raki Rhodes
Celia Laiter
Boppy Hipman
Pat Hand
Hext choice: d
Wimp Macho
Junior Programmer
HIPS
Analyst Trainee
LOOPY
Next choice: q
Bye!
Необходимо создать программу, которая отслеживает денежные взносы в Общество защиты нравственности. Она предлагает пользователю ввести количество взносов, затем имя и сумму взноса каждого спонсора. Информация должна храниться в динамическом массиве структур. Каждая структура содержит два элемента: массив символов имени и значение типа Real — сумму взноса. После считывания всех данных программа отображает имена и суммы взносов всех спонсоров, которые внесли более $10000. В начале этого списка должен находиться заголовок, указывающий, что следующие спонсоры являются почетными членами общества. После этого выводится список остальных спонсоров. Этот список должен следовать после заголовка "Спонсоры". Если в какой-либо категории отсутствуют спонсоры, программа выводит слово "нет". Помимо вывода двух категорий программа не осуществляет сортировку данных.
Листинг 7.5
функции с аргументом типа array
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
cookies: array[0..7] of Integer = (1,2,4,8,16,32,64,128);
sum: Integer = 0;
function summ_arr(arr: array of Integer; n: Integer): Integer;
var
total, i: Integer;
begin
total := 0;
for i:=0 to n do
total := total + arr[i];
Result := total;
end;
begin
sum := summ_arr(cookies, 8);
Writeln('Total cookies eaten: ', sum);
Readln;
end.