2 / 0 / 0
Регистрация: 17.09.2013
Сообщений: 84

Опишите заданный тип, осуществите ввод данных, произведите определенные операции и выведите на печать значение полей

22.11.2013, 18:17. Показов 827. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Опишите заданный тип, осуществите ввод данных, произведите определенные операции и выведите на печать значение полей (где возможно). Во всех случаях используйте массив из записей.
Данные о субъекте: фамилия, имя, отчество, возраст, должность, зарплата, стаж работы, число отработанных дней. Рассчитайте зарплату по формуле:
зарплата=стаж работы/25*(1+число отработанных дней/365)*100000.

Pascal
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
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
type rabota=record
familija:string;
name:string;
otchestvo:string;
vozrast:byte;
doljnost:string;
stag:byte;
chislo otrabotannix dney:byte;
var i:real;
begin
writeln('Vvedite familija')
readln(familija);
writeln('name');
readln(name) ;
writeln('otchestvo');
readln(otchestvo);
writeln('vozrast');
readln(vozrast);
writeln('doljnost')
readln(doljnost);
writeln('stag');
readln(stag);
writeln('chislo otrabotannix dney');
readln('chislo otrabotannix dney');
i:=stag/25*(1+(chislo otrabotannix dney/365))*100000;
writeln('Zarplata='i);
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.


что тут не так подскажите пожалуйста!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.11.2013, 18:17
Ответы с готовыми решениями:

Опишите тип данных «фирма»
Общая постановка задачи • Опишите заданный тип данных для задания с номером вашего варианта. • Определить функции инициализации...

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

Ограничить ввод данных в определенные ячейки StringGrid
Доброго времени суток! Может кто-нибудь написать как в событие OnSelectCell запретить ввод данных в ячейку?

13
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7804 / 4626 / 2832
Регистрация: 22.11.2013
Сообщений: 13,142
Записей в блоге: 1
22.11.2013, 20:50
Имя переменной не может содержать пробел. используйте вместо него знак подчёркивания "_" или как-то иначе избавьтесь от указанных пробелов.
0
2 / 0 / 0
Регистрация: 17.09.2013
Сообщений: 84
24.11.2013, 23:34  [ТС]
всё-равно что-то не так,не работает
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7804 / 4626 / 2832
Регистрация: 22.11.2013
Сообщений: 13,142
Записей в блоге: 1
25.11.2013, 00:20
Возможно, имелось в виду что-то вроде:
Pascal
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
type
  TWrk = record
    FIO: string[60];    { Ф.И.О. }
    age: integer;   { возраст }
    job: string[40];    { должность }
    serv: integer;  { стаж }
    days: integer;  { отработано }
    salary: real;   { зарплата }
  end;
 
var
  w: array [1..100] of TWrk;
  i, j, n: integer;
 
begin
  Write('Введите количество записей (1-100): '); ReadLn(n);
  WriteLn('Введите сведения:');
  for i := 1 to n do with w[i] do begin
    Write('                         Ф.И.О: '); ReadLn(FIO);
    Write('                     должность: '); ReadLn(job);
    Write('возраст, стаж, отработано дней: '); ReadLn(age, serv, days);
    salary := serv / 25.0 * (1 + days / 365.0) * 100000;
  end;
  for j := 1 to 64 do Write('-'); WriteLn;
  WriteLn('Ф.И.О.                                  | Возраст | Отработано');
  WriteLn('Должность                               |    Стаж |   Зарплата');
  for j := 1 to 64 do Write('-'); WriteLn;
  for i := 1 to n do with w[i] do begin
    WriteLn(FIO, '':40-Length(FIO), '|', age:8, ' |', days:12);
    WriteLn(job, '':40-Length(job), '|', serv:8, ' |', salary:12:2);
    for j := 1 to 64 do Write('-'); WriteLn;
  end;
end.
0
2 / 0 / 0
Регистрация: 17.09.2013
Сообщений: 84
25.11.2013, 21:34  [ТС]
Цитата Сообщение от bormant Посмотреть сообщение
for j := 1 to 64 do Write('-'); WriteLn
почему именно 64?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7804 / 4626 / 2832
Регистрация: 22.11.2013
Сообщений: 13,142
Записей в блоге: 1
25.11.2013, 23:07
Просто счастливое число.
Шутка. Конечно несчастливое число. Но с ним табличка не похожа на жидкую бесформенную массу коричневого цвета с резким запахом.
0
2 / 0 / 0
Регистрация: 17.09.2013
Сообщений: 84
25.11.2013, 23:36  [ТС]
а если серьезно? почему мы выбрали именно 64 и можно ли взять другое число?)
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7804 / 4626 / 2832
Регистрация: 22.11.2013
Сообщений: 13,142
Записей в блоге: 1
26.11.2013, 13:21
Чтобы получалось как-то так:
Code
1
2
3
4
5
6
7
8
9
10
----------------------------------------------------------------
Ф.И.О.                                  | Возраст | Отработано
Должность                               |    Стаж |   Зарплата
----------------------------------------------------------------
Иванов                                  |      54 |          24
директор                                |      34 |   144942.47
----------------------------------------------------------------
Петров                                  |      43 |          24
нач. смены                              |      23 |    98049.32
----------------------------------------------------------------
Вон те горизонтальные строчки из 64 минусов -- то самое число 64.
1
2 / 0 / 0
Регистрация: 17.09.2013
Сообщений: 84
26.11.2013, 18:29  [ТС]
причем тут элементы нашего массива? или как тогда можно объяснить действия данных строк?)
Цитата Сообщение от bormant Посмотреть сообщение
for j := 1 to 64 do Write('-'); WriteLn;
Цитата Сообщение от bormant Посмотреть сообщение
for j := 1 to 64 do Write('-'); WriteLn;
Цитата Сообщение от bormant Посмотреть сообщение
for j := 1 to 64 do Write('-'); WriteLn;
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7804 / 4626 / 2832
Регистрация: 22.11.2013
Сообщений: 13,142
Записей в блоге: 1
26.11.2013, 18:53
Цитата Сообщение от kravchenko_A Посмотреть сообщение
как тогда можно объяснить действия данных строк?
Write('-'); выводит один символ '-', а for j := 1 to 64 do Write('-'); выведет 64 таких символа, из которых и получаются в примере выше отбивки в строках 1, 4, 7, 10. Обычное украшательство вывода, чтобы данные отдельных записей между собою на глаз были хорошо различимы.
1
2 / 0 / 0
Регистрация: 17.09.2013
Сообщений: 84
27.11.2013, 14:22  [ТС]
Цитата Сообщение от bormant Посмотреть сообщение
for i := 1 to n do with w[i] do begin
Цитата Сообщение от bormant Посмотреть сообщение
for i := 1 to n do with w[i] do begin
подскажите w[i] это что такое?)

Добавлено через 3 минуты
и "do with" что выполняет тут ?)
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7804 / 4626 / 2832
Регистрация: 22.11.2013
Сообщений: 13,142
Записей в блоге: 1
27.11.2013, 14:52
Цитата Сообщение от kravchenko_A Посмотреть сообщение
w[i] это что такое?
w -- это массив, вот этот:
Pascal
1
2
var
  w: array [1..100] of TWrk;
, соответственно, w[i] -- это элемент того массива с индексом i.

Цитата Сообщение от kravchenko_A Посмотреть сообщение
"do with" что выполняет тут ?
for i:=1 to n do оператор -- это цикл, в качестве оператора выступает оператор with.
with w[i] do оператор -- это оператор with -- применяется для удобства работы с записями, позволяет указать в нём одну несколько переменных record, после чего можно к полям этих переменных обращаться без указания самих переменных. Например, вместо:
Pascal
1
2
3
4
5
  for i := 1 to n do with w[i] do begin
    WriteLn(FIO, '':40-Length(FIO), '|', age:8, ' |', days:12);
    WriteLn(job, '':40-Length(job), '|', serv:8, ' |', salary:12:2);
...
  end;
без оператора with пришлось бы писать:
Pascal
1
2
3
4
5
  for i := 1 to n do begin
    WriteLn(w[i].FIO, '':40-Length(FIO), '|', w[i].age:8, ' |', w[i].days:12);
    WriteLn(w[i].job, '':40-Length(job), '|', w[i].serv:8, ' |', w[i].salary:12:2);
...
  end;
Оператор with в данном случае позволяет как бы "вынести за скобки" добавление "w[i]." к каждому полю записи (record).
1
2 / 0 / 0
Регистрация: 17.09.2013
Сообщений: 84
27.11.2013, 16:21  [ТС]
т.е. про оператор with можно объяснить так,что "для переменной i до n выполняем цикл с элементом массива (for i to n do with w[i] bo begin). Правильно рассуждаю?)
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7804 / 4626 / 2832
Регистрация: 22.11.2013
Сообщений: 13,142
Записей в блоге: 1
27.11.2013, 16:35
В целом -- да, но что касается with, скорее так:
для переменной i выполняем цикл от 1 до n, при этом все упомянутые в операторе вывода WriteLn в теле цикла поля записи типа TWrk (FIO, age, days, job, serv, salary) будут взяты из переменной w[i], то есть будут использованы w[i].FIO, w[i].age, w[i].days, w[i].job, w[i].serv, w[i].salary соответственно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.11.2013, 16:35
Помогаю со студенческими работами здесь

Выведите на печать наименование регионов, в которых количество пожаров превышает ежегодное среднестатистическое значение.
В ПК поступают сведения о названии и количестве пожаров в N регионах страны. Выведите на печать наименование регионов, в которых количество...

Опишите тип данных Vector a, определяющий трехмерные вектора, элементами которых являются значения типа a.
Опишите тип данных Vector a, определяющий трехмерные вектора, элементами которых являются значения типа a. Конструктор Vec3 должен...

Тип данных полей в Access
В БД Access создала поле, у которого тип данных дата/время, добавляю его в DBGrid и все поля почему-то отображаются так. Как можно...

Определить тип данных полей структуры
Здравствуйте, суть задачи, есть объект, предположительно структура, необходимо определить список ее полей (названия и тип), как это можно...

Строковый тип данных. Составьте программу вычёркивающую из заданного слова заданный символ.
Составьте программу вычёркивающую из заданного слова заданный символ.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

Новые блоги и статьи
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations рестрикции доступа на сервер sshd статья: https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
Async/await в Swift: Асинхронное программировани­е в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru