• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите студенту решить задачки

TpaXmopucm

Новые
Регистрация
4 Дек 2011
Сообщения
35
Реакции
0
Баллы
0
Помогите студенту решить задачки

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

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

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

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

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

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

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

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

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

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


9. Сколько слов содержится в заданном тексте?
 
Код:
#	ФИО	Дата рождения	 курс	Год пост	 оценки
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
 

Вложения

То есть вводится строка? Пожалуйста:
Код:
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.
В программе отрабатываются не только простейшие ситуации, когда слова разделены одним пробелом, но и когда пробелов несколько или пробелы есть в начале строки.
 
спасиб!!! а ко второй базу данных написал!
 
Ребята еще одну задачу пожалуйста!! вторую!!!:(
 
Ребята еще одну задачу пожалуйста!! вторую!!!:(
Значит, так - насчет второй задачки. Я поставил там файловое чтение данных. Исходный файл по имени 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.
 
пожалуйста переделайте .. если не трудно!! а то не разобрался я с файрволом!
 
ой в последнем слове натупил!!)) вот задание
Записи (RECORD).

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

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

P/S Vladimer_S если вам не сложно посоветуйте какието учебники , Уроки по Pascal/Большое спасибо вам!
 
Спасиб!! Разобрался!! Вроде все работает только для Year сменил word на integer а то ошибку выдовало!
Ну вот на всякий случай вариант с консольным вводом данных:
Код:
TYPE
 St=Record
     N:Byte;
     Name:String;
     Bd:String;
     Course:Byte;
     Year:Integer;
     Mark:Real;
    End;
VAR
 Stud:Array[1..9] of St;
 i,j:Byte;
 
BEGIN
 For i:=1 to 9 do
  With Stud[i] do
   begin
    N:=i;
    Writeln('Surname,Name (e.g. Ivanov Petr):');
    Readln(Name);
    Writeln('Birthday (format dd.mm.yyyy, e.g. 03.08.1743):');
    Readln(Bd);
    Write('Course: ');
    Readln(Course);
    Write('Year of entry: ');
    Readln(Year);
    Write('Mark: ');
    Readln(Mark);
    Writeln;
   end;
 Writeln;
 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.

P/S Vladimer_S если вам не сложно посоветуйте какието учебники , Уроки по Pascal/Большое спасибо вам!
Да не знаю, поищите, литературы по Паскалю море, и в магазинах, и в Сети. Но главное - практика! Ставьте себе сами задачи, пишите программы, отлаживайте, доводите "до ума", а остальное - придет.
Удачи!
 
Vladimir_s помогите сново плиз!! Смотрите вот у меня 6-я задача вроде основана на 4-той .... через файлы вот сама задача!!
Цель задания:
1. Организация внешних файлов.
2. Использование комбинированных типов данных.

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

Методические указания:
Использовать меню.
Составить программу, которая обеспечивает вывод полученной информации, распечатку ее в виде таблицы, а также распечатку ее согласно варианту.
У которых фамилия начинается с указанной буквой.
Она та что вы сделали впервый раз или тут нужно изменять ... меня волнует вот это Разработать программу записи подготовленных данных во внешний файл, вывод исходных данных из файла, добавление данных в файл и обработка данных согласно варианту.
непонимаю!
 
Она та что вы сделали впервый раз или тут нужно изменять ...
Не, тут, похоже, нужен гибрид: ввод данных с консоли и отправка в файл. Короче говоря, файл вместо массива. Сейчас прикину.
 
=) спасибо вам, что помогаете!
 
Вот:
Код:
TYPE
 St=Record
     N:Byte;
     Name:String;
     Bd:String;
     Course:Byte;
     Year:Integer;
     Mark:Real;
    End;
VAR
 f:file of St;
 Stud:St;
 N_st,i,j:Byte;
 C:Char;
BEGIN
 Assign(f, 'D:\Data');
 Rewrite(f);
 N_st:=0;
 Repeat
  Write('Next student? Y/N ');
  Readln(C);
  If (C='Y') or (C='y') then
   begin
    Inc(N_st);
    With Stud do
     begin
      N:=N_st;
      Writeln('Surname,Name (e.g. Ivanov Petr):');
      Readln(Name);
      Writeln('Birthday (format dd.mm.yyyy, e.g. 03.08.1743):');
      Readln(Bd);
      Write('Course: ');
      Readln(Course);
      Write('Year of entry: ');
      Readln(Year);
      Write('Mark: ');
      Readln(Mark);
      Writeln;
     end;
    Write(f,Stud);
   end;
 Until (C='N') or (C='n');
 Close(f);
 Reset(f);
 For i:=1 to N_st do
  begin
   Read(f,Stud);
   With Stud 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;
  end;
 Writeln;
 Write('Enter the first letter: ');
 Readln(C);
 Reset(f);
 For i:=1 to N_st do
  begin
   Read(f,Stud);
   With Stud 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;
  end;
 Close(f);
 Readln;
END.
 
спасибо все работает!!!
 
Назад
Сверху