Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 17.03.2017, 08:14   #1
kanav2
Новичок
 
Регистрация: 16.03.2017
Сообщений: 2
Репутация: 10
Восклицание PASCAL-Объясните пошагово что происходит в этом цикле пожалуйста

var f,g:text;
n,s,s1:string;
a,k,p:integer;
begin
assign(f,'family.txt');
reset(f);
assign(g,'note.txt');
reset(g);
writeln(' |Ф.И.О| ↓Оценки↓');
while not eof(g) do begin
readln(f,s1); readln(g,s);
writeln(s1,' ',s);
end;

close(f);
close(g);
assign(f,'family.txt');
reset(f);
assign(g,'note.txt');
reset(g);
writeln('Cписок студентов получающих стипендию:');
k:=0;
while not eof(f) do
begin
readln(f,n);
p:=0;
while not eoln(g)and(p=0) do
begin
read(g,a);
if not(a in [4,5])then p:=1;
end;
if p=0 then
begin
k:=1;
writeln(n);
end;
readln(g,s);
end;

close(f);
close(g);
if k=0 then write('Таких студентов нет');
end.
Объясните пошагово что происходит в этом цикле пожалуйста(выделено красным)
kanav2 вне форума   Ответить с цитированием
Старый 17.03.2017, 09:21   #2
Pavia
Лис
Профессионал
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 1,274
Репутация: 1315
По умолчанию

Код:

k:=0; // переменной k присвоить ноль
 while not eof(f) do // будем повторять цикл пока не будет достигнут конец файла
 begin                  // начало цикла
 readln(f,n);          // читаем переменную n из файла family.txt, с вычиткой до конца строки  
 p:=0;                 // переменной p присвоить ноль
 while not eoln(g)and(p=0) do  // повторять цикл  пока не закончится строка в файле note.txt и пока p не станет равным нулю
 begin
 read(g,a);          // читаем переменную a из файлы note.txt, вероятно это оценки
 if not(a in [4,5])then p:=1; // если a не равно 4 или 5 то присвоить p единицу
 end;
 if p=0 then // если  p равен нулю, то:
 begin
 k:=1;  // - присвоить k единицу;
 writeln(n); // - вывести на экран переменную n содержащую ФИО. 
 end;
 readln(g,s); // вычитываем строку из файла note.txt, что-бы перейти на следующую строку.
 end;

__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста, объясните что происходит в каждой строчке программы. nason Помощь студентам 0 15.12.2015 20:22
объясните пожалуйста в коментариях что происходит в каждой строчке(С++Builder) Coca Colla Помощь студентам 6 13.05.2014 14:37
что происходит в этом коде Dimasik73 Assembler 5 19.02.2012 23:54
Задачка на Pascal, объясните, пожалуйста, я тут что -то не могу разобраться. Girlo4ka Помощь студентам 6 28.12.2008 16:02




03:06.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru