Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Programmersha
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 15
1

Напечатать фамилии, имена и подсчитать общее число жителей, родившихся после 1990 г

14.06.2016, 13:24. Просмотров 876. Ответов 13
Метки нет (Все метки)

Помогите пожалуйста решить задачу. Только без массива из имени.
Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии, имена и подсчитать общее число жителей, родившихся после 1990 г.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2016, 13:24
Ответы с готовыми решениями:

Напечатать фамилии, имена и подсчитать общее число жителей, родившихся после 1990 г
Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать...

Напечатать фамилии, имена и подсчитать общее число жителей родившихся в 1990 г
Даны результаты, ререписи населения, которые хранятся в памяти ЭВМ. Напечатать...

Определить число людей родившихся до 1985 года, и число людей родившихся после 1990
Определить число людей родившихся до 1985 года, и число людей родившихся после...

Напечатать фамилии, имена и подсчитать общее число жителей, родившихся после 1990 г
Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать...

Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии, имена и подсчитать общее число жителей, родившихся после 1990 г
Помогите, пожайлуста, решить 2 задачи на паскале. Заранее ОЧЕНЬ благодарен!...

13
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
4141 / 2735 / 2172
Регистрация: 22.11.2013
Сообщений: 7,641
14.06.2016, 13:31 2
Цитата Сообщение от Programmersha Посмотреть сообщение
хранятся в памяти
Цитата Сообщение от Programmersha Посмотреть сообщение
без массива
Поясните.
0
Programmersha
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 15
14.06.2016, 13:34  [ТС] 3
Чтобы закрыть сессию мне осталось сделать 2 практические. это задача - одна из них.


Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии, имена и подсчитать общее число жителей, родившихся после 1990 г.

я представила преподавателю готовую программу выше, а он сказал что массив из имени мы не проходили и сделать без массива. а я не могу(
0
ФедосеевПавел
Модератор
3856 / 2177 / 894
Регистрация: 01.02.2015
Сообщений: 7,248
14.06.2016, 13:41 4
А в каком виде хранятся данные в "памяти ЭВМ" - т.е. откуда "ваша" программа будет брать исходные данные?

И что такое "массив из имени"? Это структура типа record?
0
Programmersha
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 15
14.06.2016, 13:46  [ТС] 5
я не знаю(
ЛАБОРАТОРНЫЙ ПРАКТИКУМ №7
(6 часов)
ЗАПИСИ

Цель: научиться использовать структуру «Запись», освоить основные действия с записями.
Ход работы:
1. Записать задачу.
2. Составить укрупненный алгоритм задачи на алгоритмическом языке.
3. Каждый блок алгоритма расписать подробнее.
4. Записать алгоритм на языке Паскаль.
5. Проверить программу в среде программирования методами тестирования и верификации.
6. Сделать выводы о составленной программе.

Запись аналогична массиву, но отличается от него тем, что компо¬ненты записи (их называют полями) имеют имена. Другими словами, запись — это структурированная конструкция, состоящая из поимено¬ванных информационных полей. В разделе объявления переменных VAR запись RECORD имеет вид:
VAR <Название записи> : RECORD
объявления полей записи
END;
Поскольку поля записи могут содержать данные разных типов, а в типизированном языке программирования, каким является Паскаль, характерны связки тип данных — оператор обработки, поля записи представляют собой строки, аналогичные строкам объявления пере-менных в разделе VAR.
Пример 1. Объявление записи непосредственно в разделе VAR.
VAR Address: record
NumberHome: Integer; NameStreet: String;
CityName: Srting; ApartNum: Integer
End;
Примечание. Обратите внимание, что после последнего поля не ставит¬ся символ ; (точка с запятой);
Пример 2. Объявление типа данных RECORD в разделе TYPE.
TYPE Person = RECORD
Name: String;
Famile: Strind;
BirthDay: Date
End;
Тогда в разделе объявления переменных можно использовать но¬вый тип данных.
VAR WORK1, WORK2: Person;
В основной программе работают с конкретными полями записи:
WORK1.NAME:= ‘Иванов’
Пример З. Если в примерах I и 2 мы имели дело с фиксированны¬ми наборами полей, то можно представить и некоторую разновидность записи — запись с вариантами. Предположим, что в программе обрабатываются библиографические ссылки на книги. Тогда можно использовать следующее описание:
Const Max = 20;
Type ENTRY = record
Author,_Title, Publisher, City: String;
YEAR: 1..9999
End;
VAR REFLIST: array[1.. Max] of ENTRY;
т.е. мы имеем обычное описание типа ENTRY, а затем уже объявляется переменная REFLIST данного типа. Причем все поля записи строго фиксированы.

вот все теория. я не знаю что и как

Добавлено через 2 минуты
Напечатать фамилии, имена и подсчитать общее число жителей родившихся в 1990 г вот программа, но мне нужно сделать по другому. проще
0
ФедосеевПавел
Модератор
3856 / 2177 / 894
Регистрация: 01.02.2015
Сообщений: 7,248
14.06.2016, 13:54 6
Цитата Сообщение от Programmersha Посмотреть сообщение
я не знаю(
А кто знает?

Если дадите телефон преподавателя - я позвоню и уточню.

Я полагаю, что всё в той программе правильно за исключением отсутствия ввода. Т.е. вы должны организовать ввод массива записей вместо заполнения его константами в теле программы.

Т.е. удаляете строки 16-24, вводите количество опрошенных человек, потом в цикле вводите данные в массив. Потом без изменения обработка исходных данных и вывод результатов.

Вперёд! Пробуй!
0
Programmersha
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 15
14.06.2016, 14:01  [ТС] 7
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
вводите количество опрошенных человек, потом в цикле вводите данные в массив. Потом без изменения обработка исходных данных и вывод результатов.
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
program ghost;
uses
     crt;
type
     man = Record
     fam: String;
     name: String;
     data: Integer;
     end;
var
    perepis: array[1..3] of man;
    i: Integer;
    count: Integer;
begin
    clrscr;
    count := 0;
    for i := 1 to 3 do
        if (perepis[i].data = 1990) then
           Inc(count);
    for i := 1 to 3 do
    begin
         write('famaly: ', perepis[i].fam);
         writeln;
         write('name: ', perepis[i].name);
         writeln;
         write('data: ', perepis[i].data);
         writeln;
         writeln('_____');
    end;
    writeln('count: ', count);
    readkey;
end.
помогите пожалуйста)
0
ФедосеевПавел
Модератор
3856 / 2177 / 894
Регистрация: 01.02.2015
Сообщений: 7,248
14.06.2016, 14:07 8
Давайте, вы для начала попробуете самостоятельно.
Вы умеете вводить данные в обычный массив a: array [1..10] of integer ?

Аналогично вводятся и элементы записи.

Не по теме:

Ну попробуйте же наконец-то! Что же вы как аморфный кисель?!!



Если не умеете. Начните с упражнения ввод чисел в массив a: array [1..10] of integer. Попробуйте с этого. Если будете пытаться - я помогу.
0
Programmersha
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 15
14.06.2016, 16:17  [ТС] 9
я не умею. нас сильно не учили - методички раздали и мы должны все сдать(
a: array [1..10] of integer это массив от 1 до 10?
0
ФедосеевПавел
Модератор
3856 / 2177 / 894
Регистрация: 01.02.2015
Сообщений: 7,248
14.06.2016, 16:25 10

Не по теме:

А чему вас учат? Что вы сможете самостоятельно делать?
В общем виде - в ВУЗе учат учиться (самостоятельно), лишь слегка поправляя направление. Это не школа, конечная цель обучения в которой - умение пересчитать свою зарплату и расписаться в ведомости.

Вы лишаете себя знаний. И ваши преподаватели тут совершенно ни при чём.


Цитата Сообщение от Programmersha Посмотреть сообщение
a: array [1..10] of integer это массив от 1 до 10?
Да. Создайте простенькую тестовую программку по вводу и выводу элементов массива.
0
Programmersha
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 15
14.06.2016, 16:50  [ТС] 11
в практической по работе с массивами мы делали это


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
34
35
36
37
38
39
40
program var14;
var
  a: array [1..30,1..30] of integer;
  b: array [1..30,1..30] of real;
  i, j, n: integer;
  s: longint;
begin 
  randomize;// процедура инициализации рандомных чисел
  writeln('vvedite razmer matricy');
  readln(n);
  for i:=1 to n do
    for j:=1 to n do
      a[i,j]:=random(10)+1;
  writeln('matrica a');
  for i:=1 to n do
  begin
    for j:=1 to n do
      write(a[i,j],' ');
    writeln;
  end;
  s:=1;
  for i:=1 to n do
    s:=s*a[i,i]*a[i,n+1-i];
  for i:=1 to n do
    for j:=1 to n do
      if i>j then
        b[i,j]:=a[i,j]/s 
      else if i=j then
        b[i,j]:=0 
      else 
        b[i,j]:=s/a[i,j];
  writeln('matrica b');
  for i:=1 to n do
  begin
    for j:=1 to n do
      write(b[i,j]:8:6,' ');
    writeln;
  end;
  readln;
end.
правда голова сейчас взорвется(
0
ФедосеевПавел
Модератор
3856 / 2177 / 894
Регистрация: 01.02.2015
Сообщений: 7,248
14.06.2016, 17:04 12
Ну вот, можете же!!!
А теперь на этой основе покажите заполнение с клавиатуры одного одномерного массива.
0
Programmersha
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 15
14.06.2016, 19:11  [ТС] 13
Oracle 11 SQL
1
блин,я не знаю как. ну помогите пожалуйста( я тупая
0
ФедосеевПавел
Модератор
3856 / 2177 / 894
Регистрация: 01.02.2015
Сообщений: 7,248
14.06.2016, 21:22 14
Лучший ответ Сообщение было отмечено Programmersha как решение

Решение

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
program ghost;
 
uses
  crt;
 
type
  man = record
    fam:  string;
    Name: string;
    Data: integer;
  end;
var
  perepis: array[1..5] of man;
  i: integer;
  Count: integer;
begin
  for i := 1 to 5 do
  begin
    clrscr;
    writeln('ВВОД СВЕДЕНИЙ О ПЕРСОНЕ №', i);
    writeln;
    Write('family: ');
    readln(perepis[i].fam);
    Write('name: ');
    readln(perepis[i].Name);
    Write('date: ');
    readln(perepis[i].Data);
  end;
  clrscr;
  Count := 0;
  for i := 1 to 5 do
  begin
    if (perepis[i].Data > 1990) then
    begin
      Inc(Count);
      Write('family: ', perepis[i].fam);
      writeln;
      Write('name: ', perepis[i].Name);
      writeln;
      Write('date: ', perepis[i].Data);
      writeln;
      writeln('_____');
    end;
  end;
  writeln('count: ', Count);
  readkey;
end.
1
14.06.2016, 21:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2016, 21:22

По результатам переписи населения напечатать фамилии, имена, и подсчитать число жителей, родившихся после 1990
Создать файл по результатам переписи населения. Напечатать фамилии,имена и...

Вывести на экран имена и фамилии всех людей группы, родившихся в заданном году
Написать программу, которая: а) для группы людей создает записи - имя,...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru