Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите студенту решить задачки (http://www.tehnari.ru/f41/t60722/)

TpaXmopucm 04.12.2011 16:47

Помогите студенту решить задачки
 
Первая задачка :
Цель задания:
1. Обработка данных типа STRING.
2. Использование стандартных процедур и функций при обработке данных типа STRING.

Методические указания:
1. Изучить :
- правила записи данных строкового типа;
- процедуры ввода и просмотра текстовых данных;
- процедуры обработки текстовых данных;
2. Составить алгоритм решения задачи согласно варианту.
3. Составить программу согласно алгоритму.

Сколько слов содержится в заданном тексте?

Вторая задачка:
Цель задания:
Обработка комбинированных типов данных.

Постановка задачи:
Для студентов некоторой группы задана следующая информация: порядковый номер, ФИО, дата рождения, курс, год поступления, и оценки на последней сессии. Составить программу, которая обеспечивает вывод полученной информации, распечатку ее в виде таблицы, а также распечатку ее согласно варианту.

У которых фамилия начинается с указанной буквой.
Зарание благодарю!

кочевник 04.12.2011 17:12

Цитата:

Сообщение от TpaXmopucm (Сообщение 628946)
Помогите студенту решить задачки

А что будет делать в это время студент?

TpaXmopucm 04.12.2011 17:35

решает остальные 4 в которых хоть что то понимает !!!!

Vladimir_S 04.12.2011 17:45

Насчет количества слов в тексте: в каком виде задан текст? Строка? Текстовый файл? Уточните, пожалуйста. И совсем хорошо, если бы Вы выложили пример текста, подлежащего обработке.
Цитата:

Сообщение от TpaXmopucm (Сообщение 628946)
Для студентов некоторой группы задана следующая информация:

А вот эти задачи на базы данных, коими форум буквально завален, я согласен рассматривать исключительно после того, как заказчик сочинит саму базу, т.е. предоставит информацию, которая "задана".

TpaXmopucm 04.12.2011 17:53

Цитата:

Насчет количества слов в тексте: в каком виде задан текст? Строка? Текстовый файл? Уточните, пожалуйста. И совсем хорошо, если бы Вы выложили пример текста, подлежащего обработке.
1*STRING
ВОТ ВСЕ ЗАДАНИЕ!

Цитата:

Обработка данных типа STRING (строковых типа данных).

Цель задания:
1. Обработка данных типа STRING.
2. Использование стандартных процедур и функций при обработке данных типа STRING.

Методические указания:
1. Изучить :
- правила записи данных строкового типа;
- процедуры ввода и просмотра текстовых данных;
- процедуры обработки текстовых данных;
2. Составить алгоритм решения задачи согласно варианту.
3. Составить программу согласно алгоритму.

ВАРИАНТЫ ЗАДАНИЯ


9. Сколько слов содержится в заданном тексте?

TpaXmopucm 04.12.2011 18:02

Вложений: 1
Код:

#        ФИО        Дата рождения        курс        Год пост        оценки
1        Адам Стас        19.01.1995        1        2011        7.00
2        Богдан Олег        19.02.1995        1        2011        5.00
3        Валошин Садам        19.03.1995        1        2011        8.00
4        Гринько Катя        19.04.1995        1        2011        5.00
5        Джумак Роман        19.05.1995        1        2011        6.35
6        Москал Петя        19.06.1995        1        2011        8.00
7        Тихий Макс        19.07.1995        1        2011        9.00
8        Шадрин Олег        19.08.1995        1        2011        9.55
9        Януш Витя        19.09.1995        1        2011        4.00


Vladimir_S 04.12.2011 18:08

Цитата:

Сообщение от TpaXmopucm (Сообщение 628988)
1*STRING

То есть вводится строка? Пожалуйста:
Код:

VAR
 S:String;
 N,i:Byte;
BEGIN
 Writeln('Enter the string:');
 Readln(S);
 N:=0;
 i:=0;
 Repeat
  Inc(i);
 Until S[i]<>' ';
 Repeat
  Inc(N);
  repeat
  Inc(i);
  until (S[i]=' ') or (i=Length(S));
  If i<Length(S) then
  repeat
    inc(i);
  until (S[i]<>' ') or (i=Length(S));
 Until i=Length(S);
 Writeln(N,' words');
 Readln;
END.

В программе отрабатываются не только простейшие ситуации, когда слова разделены одним пробелом, но и когда пробелов несколько или пробелы есть в начале строки.

TpaXmopucm 04.12.2011 18:22

спасиб!!! а ко второй базу данных написал!

TpaXmopucm 04.12.2011 18:55

Ребята еще одну задачу пожалуйста!! вторую!!!:(

Vladimir_S 04.12.2011 19:15

Цитата:

Сообщение от TpaXmopucm (Сообщение 629047)
Ребята еще одну задачу пожалуйста!! вторую!!!:(

Значит, так - насчет второй задачки. Я поставил там файловое чтение данных. Исходный файл по имени Data.txt у меня расположен на диске D: и имеет вид (разумеется, имя и путь к файлу можете поменять):
Код:

1      Адам Стас      19.01.1995      1      2011    7.00
2      Богдан Олег    19.02.1995      1      2011    5.00
3      Валошин Садам  19.03.1995      1      2011    8.00
4      Гринько Кат    19.04.1995      1      2011    5.00
5      Джумак Роман    19.05.1995      1      2011    6.35
6      Москал Пет      19.06.1995      1      2011    8.00
7      Тихий Макс      19.07.1995      1      2011    9.00
8      Шадрин Олег    19.08.1995      1      2011    9.55
9      Януш Вит        19.09.1995      1      2011    4.00

Советую, кстати, дать 2-3 студентам фамилии, начинающиеся с одной и той же буквы - иначе некрасиво выглядит результат отбора.
Если файловый ввод не годится и нужен консольный - напишите, переделаю.
Код:

TYPE
 St=Record
    N:Byte;
    Name:String;
    Bd:String;
    Course:Byte;
    Year:Word;
    Mark:Real;
    End;
VAR
 Stud:Array[1..9] of St;
 i,j:Byte;
 f:Text;
 C:Char;
BEGIN
 Assign(f,'D:\Data.txt');
 Reset(f);
 For i:=1 to 9 do
  With Stud[i] do
  begin
    Read(f, N);
    Name:='';
    repeat
    read(f,C);
    until C<>' ';
    Name:=Name+C;
    repeat
    read(f,C);
    Name:=Name+C;
    until C=' ';
    for j:=1 to 2 do
    repeat
      read(f,C);
      Name:=Name+C;
    until C=' ';
    Bd:='';
    repeat
    read(f,C);
    until C<>' ';
    Bd:=Bd+C;
    repeat
    read(f,C);
    Bd:=Bd+C;
    until C=' ';
    readln(f, Course, Year, Mark);
  end;
 Close(f);
 For i:=1 to 9 do
  With Stud[i] do
  begin
    write(N);
    for j:=1 to 7 do write(' ');
    write(Name);
    for j:=Length(Name)+8 to 23 do write(' ');
    writeln(Bd, Course:7, Year:11, Mark:8:2);
  end;
 Writeln;
 Write('Enter the first letter: ');
 Readln(C);
 For i:=1 to 9 do
  With Stud[i] do
  If Name[1]=C then
    begin
    write(N);
    for j:=1 to 7 do write(' ');
    write(Name);
    for j:=Length(Name)+8 to 23 do write(' ');
    writeln(Bd, Course:7, Year:11, Mark:8:2);
    end;
 Readln;
END.



Часовой пояс GMT +4, время: 06:34.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.