Вопрос № 126584: Доброго времени суток.
Препод озадачил вот такой задачкой:
Дана информация о 20 сотрудниках фирмы: фамилия, имя, отчество, адрес и дата поступления на работу.
Вывести фамилию сотрудника начинающуюся на букву "Б"
Вывести все...Вопрос № 126601: 1. Вычислить значение функции, исходные данные ввести с клавиатуры. Написать программу, в которой задача вычисления функции оформлена через:
1) FUNCTION;
2)PROCEDURE;
y = x + ln (a + z) - sqrt(w);
Обратиться к FUNCTION и PROCEDURE дв...Вопрос № 126623: Здравствуйте. Вот тут программа:
Var
i, j: Integer;
Begin
For i := 1 To 9 Do
Begin
For j := 1 To 9 Do
Begin
Write(i*j: 3);
End;
WriteLn;
WriteLn;
End;
End.
Внешний цикл с переменн...
Вопрос № 126.584
Доброго времени суток.
Препод озадачил вот такой задачкой:
Дана информация о 20 сотрудниках фирмы: фамилия, имя, отчество, адрес и дата поступления на работу.
Вывести фамилию сотрудника начинающуюся на букву "Б"
Вывести все данные о сотрудниках поступивших на работу в 2000 году.
Информация о сотрудниках берется из txt файла.
Буду очень признателен если оставите в коде комментарии чтобы можно было разобраться как работает программа.
Спасибо.
Отправлен: 10.03.2008, 00:12
Вопрос задал: Aleshjke (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Пупорев Юрий Борисович
Здравствуйте, Aleshjke!
Задачу можно решить следующим образом:
Создаем запись Сотрудники с полями, указанными в задании.
Создаем массив этого типа из 20 сотрудников.
Заносим данные о сотрудниках в запись.
Записываем их в текстовый файл. Закрываем файл и открываем его для чтения. Считываем данные в массив, затем выводим на экран, то что требует условие.
Немного схитрил с записью даты. Поскольку нам нужен только год, а запись его по длине отличается от записи дня и месяца, я записал дату одной строкой, а нужный год ищенм используя функцию Pos(‘2000’,st);
Для пяти сотрудников проверял, работает.
Полное решение в приложении.
Приложение:
Ответ отправил: Пупорев Юрий Борисович (статус: 5-ый класс)
Ответ отправлен: 10.03.2008, 11:52
Вопрос № 126.601
1. Вычислить значение функции, исходные данные ввести с клавиатуры. Написать программу, в которой задача вычисления функции оформлена через:
1) FUNCTION;
2)PROCEDURE;
y = x + ln (a + z) - sqrt(w);
Обратиться к FUNCTION и PROCEDURE дважды для вычисления.
Вывести результат на экран.
2.1. Составить программу, позволяющую вставить слово «алгоритмический» перед словом «язык» в произвольный текст, введенный с клавиатуры. Вывести результат на экран.
2.2. Для произвольного целого числа Х, введённого с клавиатуры, определить, содержит ли оно подряд две цифры 4. Если да, заменить каждую из них цифрой 7, полученное число уменьшить на 100. Вывести Х, полученное число и разность.
3. Написать программу с использованием переменных типа запись
с полями, указанными в задании 5. Вывести информацию о указанном типе самолета.
4. Записать в файл N- целых чисел, введенных с клавиатуры.
Считать из файла эти числа. Увеличить каждое число вдвое. Вывести результат на экран.
5.1. Создать файл данных, каждая запись которого состоит из следующих полей:
Поля записи
самолет Страна Год выпуска максимальное кол-во
(наименование ) (изготовлен) пассажиров
5.2. Считать из файла информацию, указанную преподавателем, или предложить свою версию для считывания информации.
Уважаемые эксперты помогите пожалуста решить задачки.
Отвечает: Костя Симанович
Здравствуйте, Марьянов Евгений Александрович!
Предлагаю следующее решение 4 задачи. В приложении по задаче 3 и 5.1
program fail1;
var
n : integer; // кол-во чисел
i : integer; // счетчик
f : text; // файл данных
zch : real; // число
i2: real; // удвоенное число
begin
writeln('Введите кол-во чисел');
readln(n);
assign(f, 'dann.txt');
rewrite(f);
for i := 1 to n do
begin
writeln('Введите ', i, ' число');
readln(zch);
writeln(f, zch);
end;
close(f);
writeln('Файл заполнен. Начинаем чтение');
reset(f);
i := 1;
while not eof(f) do
begin
readln(f, zch);
i2 := zch*2;
writeln(i, ' Удвоенное число = ', i2:2:2);
writeln;
i := i +1;
end;
close(f);
readln;
end.
Приложение:
Ответ отправил: Костя Симанович (статус: 2-ой класс)
Ответ отправлен: 10.03.2008, 11:30
Вопрос № 126.623
Здравствуйте. Вот тут программа:
Var
i, j: Integer;
Begin
For i := 1 To 9 Do
Begin
For j := 1 To 9 Do
Begin
Write(i*j: 3);
End;
WriteLn;
WriteLn;
End;
End.
Внешний цикл с переменной i надо заменить на цикл While, а внутренний на цикл Repeat. Подскажите, в чём моя ошибка. Программа в приложении.
Отвечает: Пупорев Юрий Борисович
Здравствуйте, Хощенко Артём Владимирович!
Вот исправленные ошибки, разберетесь сами.
var i,j:integer;
begin
i:=1;
while i<=9 do
begin
j:=1;
repeat
write(i*j:3);
j:=j+1;
until j>9;
writeln;
i:=i+1;
end;
readln
end.
Ответ отправил: Пупорев Юрий Борисович (статус: 5-ый класс)
Ответ отправлен: 10.03.2008, 13:36 Оценка за ответ: 5 Комментарий оценки: Cпасибо!